数据库技术与应用第二章共三章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2021年11月2日星期二数据库技术与应用--21关系数据模型1.关系模型2.关系运算2021年11月2日星期二数据库技术与应用--22数据库管理系统不仅管理数据本身,而且管理对数据的描述。数据库中的数据是有结构的,所谓结构是指通过数据模型来反映出事物及其之间的联系。2021年11月2日星期二数据库技术与应用--23数据模型的组成数据模型:是一组严格定义的概念集合,这些概念精确地描述了系统的数据结构、数据操作和数据完整性约束条件。数据模型的三要素:数据结构:是数据模型最基本的部分,它将确定数据库的逻辑结构,属于对系统静态特性的描述。数据操作:提供对数据库的操纵手段,主要有检索和更新两大类操作。属于对系统动态特性的描述。数据的约束条件:是对数据库有效状态的约束。2021年11月2日星期二数据库技术与应用--24常用的结构数据模型层次模型:层次模型用“树结构”来表示数据之间的联系;网状模型:网状模型是用“图结构”来表示数据之间的联系;关系模型:关系模型是用“二维表”来表示数据之间的联系。2021年11月2日星期二数据库技术与应用--25一、层次模型层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。在树中,每个结点表示一个记录类型,结点间的连线(或边)表示记录类型间的关系,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型及其字段都必须命名。如果要存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找。层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点R1根结点R2兄弟结点R3叶结点R4兄弟结点R5叶结点叶结点2021年11月2日星期二数据库技术与应用--26层次模型的特征(1)有且仅有一个结点没有双亲,该结点就是根结点;(2)根以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系;(3)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。层次数据库为TS,它具有四个记录型,分别是:(a).记录型D(系)是根结点,由字段D#(系编号)、DN(系名)、DL(系地点)组成,它有两个孩子结点,:R和S;(b).记录型R(教研室)是D的孩子结点,同时又是T的双亲结点,它由R#(教研室编号)、RN(教研室名)两个字段组成;(c).记录型S(学生)由S#(学号)、SN(姓名)、SS(成绩)三个字段组成;(d).记录型T(教师)由T#(职工号)、TN(姓名)、TD(研究方向)三个字段组成。S与T是叶结点,它们没有子女结点,由D到R,R到T,由D到S均是一对多的关系。对应上述数据模型的一个值:该值是D02系(计算机系)记录值及其所有后代记录值组成的一棵树,D02系有3个教研室子记录值:R01、R02、R03和3个学生记录值:S63871、S63874、S63876,教研室R01有3个教师记录值:T2101、T17090、T3501.2021年11月2日星期二数据库技术与应用--27层次模型中多对多联系的表示采用分解的方法,即将多对多的联系分解成一对多的联系,使用多个一对多联系来表示一个多对多联系。分解的方法主要有冗余结点法和虚拟结点法。层次模型的数据操作和完整性约束条件1、在进行插入记录值操作时,如果没有指明相应的双亲记录值,则不能插入子女记录值。2、进行删除记录操作时,如果删除双新记录值,则相应的子女结点值也同时被删除。3、进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。2021年11月2日星期二数据库技术与应用--28层次模型的优点:(1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。(2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。(3)它提供了良好的数据完整性支持。层次模型的缺点主要有:(1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。(2)对数据的插入和删除的操作限制太多。(3)查询子女结点必须通过双亲结点。2021年11月2日星期二数据库技术与应用--29二、网状模型网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。网状模型的特征(1)有一个以上的结点没有双亲(2)至少有一个结点可以有多于一个双亲。网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系。2021年11月2日星期二数据库技术与应用--210如:学生和课程间的关系。一个学生可以选修多门课程,一门课程可以由多个学生选修。如右图所示网状模型的数据操纵与完整性约束网状模型的数据操纵主要包括查询、插入、删除和修改数据。(1).插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。(2).删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。(3).修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此,修改操作时只需更新指定记录即可。它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。2021年11月2日星期二数据库技术与应用--211网状模型的优缺点网状模型的优点主要有:(1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。(2)具有良好的性能和存储效率。网状模型的缺点主要有:(1)结构复杂,其DDL语言极其复杂。(2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。2021年11月2日星期二数据库技术与应用--212三、关系模型在计算机数据管理的历史上出现的二次飞跃数据库技术的出现关系数据模型的诞生2021年11月2日星期二数据库技术与应用--213关系模型的基本概念关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。关系数据模型完整性约束关系数据模型完整性约束主要包括三大类:实体完整性、参照完整性和用户定义完整性。关系数据模型中的查询、插入、删除、修改数据等常用操作都要满足这些条件。2021年11月2日星期二数据库技术与应用--214关系模型的优点主要有:•与非关系模型不同,它有较强的数学理论根据。•数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。•关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。关系模型的缺点主要有:由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。2021年11月2日星期二数据库技术与应用--215§1.1关系模型一、二维表关系模型的用户界面非常简单,从用户观点来看,一个关系的逻辑结构就是一张二维表。关系在磁盘上以文件形式存储,每个字段是表中的一列,每个记录是表中的一行。这种用二维表的形式来表示实体和实体间联系的数据模型称为关系数据模型。2021年11月2日星期二数据库技术与应用--216二维表(续)学生登记表学号姓名年令性别系名年级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………2021年11月2日星期二数据库技术与应用--217例如,教学数据库中教师与课程的关系模型如图所示可得出的关系之间的联系:教师关系和授课关系有公共的属性“教师号”课程关系和授课关系有公共的属性“课程号”在建立关系模型时,只要把的所有的实体及其属性用关系框架来表示,同时把实体之间的关系也用关系框架来表示,就可以得到一个关系模型。2021年11月2日星期二数据库技术与应用--218二、关系术语关系:一个关系就是一张二维表。每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件。元组:表中的行称为元组。一行是一个元组,对应存储文件中的一个记录值。属性:表中的列称为属性。属性具有型和值两层含义:属性的型指属性名;属性值指属性具体的取值。每一列有一个属性名。属性值相当于记录中的字段值。同一关系中的属性名不能相同。又称表又称行或记录又称列2021年11月2日星期二数据库技术与应用--219关系术语(续)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。如:整数,正数,{男,女}等都是域。关键字:属性或属性组合,其值能够唯一地标识一个元组。关系模式:对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,…属性名n)。其实就是二维表的表头那一行,又称表的框架或记录类型。在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)实体间的关系也是用关系来表示的,如:学生和课程之间的关系选课关系(学号,课程号,成绩)元数:关系模式中属性的数目。如学生关系是一个5元关系。2021年11月2日星期二数据库技术与应用--220学号姓名性别出生日期所在院系080440501王雨嫣女1980-9-6中文系020440506肖峰男1978-10-9电子系090440507胡冲男1980-5-8英语系关系表关系模式记录行属性列属性名列名jbqk关系名表名2021年11月2日星期二数据库技术与应用--221三、从集合论的观点来定义关系将关系定义为元组的集合;关系模式是命名的属性集合;元组是属性值的集合。一个具体的关系模型是若干个关系模式的集合。2021年11月2日星期二数据库技术与应用--222四、数据库中基本关系的性质同一属性的数据具有同质性。即同一列中的分量是同一类型的数据,它们来自同一个域。如,学生选课表的结构:选课(学号,课号,成绩)同一关系的属性名具有不能重复性。即在同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。学生成绩(学号,成绩,成绩)×学生成绩(学号,成绩1,成绩2)√例如,有如下表中关系,职业与兼职是两个不同的属性,但它们取自同一个域职业={教师,工人,辅导员}。2021年11月2日星期二数据库技术与应用--223数据库中基本关系的性质(续)关系中的列位置具有顺序无关性即列的顺序可以任意交换。交换时,应连同属性名一起交换,否则将得到不同的关系。例如:关系T1作如下交换时,无任何影响,如右表所示:而作如下交换时,不交换属性名,只交换属性列中的值,则得到不同的关系,如下表:2021年11月2日星期二数据库技术与应用--224关系中的元组位置具有顺序无关性,即关系元组的顺序可以任意交换。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。关系具有元组无冗余性,即关系中的任意两个元组不能完全相同。关系中每一分量必须是不可分的数据项,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。2021年11月2日星期二数据库技术与应用--225§1.2关系模型的特点关系必须规范化规范化是指关系模型中的每一个关系模式都必须满足一定的要求。关于规范化的层次在第三章讨论。但对关系最基本的要求是每个属性值必须是不可分割的数据单元。姓名职称应发工资应扣工资基本工资奖金车补房租水电即表中不能再包含表例如,在表下中,籍贯含有省、市/县两项,出现了“表中有表”的现象,则为非规范化关系,而把籍贯分成省、市/县两列,将其规范化。2021年11月2日星期二数据库技术与应用--226关系模型的特点(续)概念模型单一在关系模型中,无论实体本身还是实体间的联系均用关系表示。在关系模型中对多对多联系表示得也比较简单。

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功