




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关系数据模型1.关系模型2.关系运算2022/8/71数据库技术与应用-2数据库管理系统不仅管理数据本身,而且管理对数据的描述。数据库中的数据是有结构的,所谓结构是指通过数据模型来反映出事物及其之间的联系。2022/8/72数据库技术与应用-2数据模型的组成数据模型:是一组严格定义的概念集合,这些概念精确地描述了系统的数据结构、数据操作和数据完整性约束条件。数据模型的三要素:数据结构:是数据模型最基本的部分,它将确定数据库的逻辑结构,属于对系统静态特性的描述。数据操作:提供对数据库的操纵手段,主要有检索和更新两大类操作。属于对系统动态特性的描述。数据的约束条件:是对数据库有效状态的约束。202
2、2/8/73数据库技术与应用-2常用的结构数据模型 层次模型:层次模型用“树结构”来表示数据之间的联系; 网状模型:网状模型是用“图结构”来表示数据之间的联系; 关系模型:关系模型是用“二维表”来表示数据之间的联系。2022/8/74数据库技术与应用-2一、层次模型层次模型用一棵“有向树 ”的数据结构来表示各类实体以及实体间的联系。在树中,每个结点表示一个记录类型,结点间的连线(或边)表示记录类型间的关系,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型及其字段都必须命名。如果要存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找。层次模型中的几个术
3、语根结点,双亲结点,兄弟结点,叶结点 1 根结点 2 兄弟结点 3 叶结点 4 兄弟结点 5 叶结点 叶结点2022/8/75数据库技术与应用-2层次模型的特征(1)有且仅有一个结点没有双亲,该结点就是根结点;(2)根以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系;(3)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。层次数据库为TS,它具有四个记录型,分别是:(a).记录型D(系)是根结点,由字段D#(系编号)、DN(系名)、DL(系地点)组成,它有两个孩子结点,:R和S; (b).记录型R
4、(教研室)是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、T1709
5、0、T3501. 2022/8/76数据库技术与应用-2层次模型中多对多联系的表示 采用分解的方法,即将多对多的联系分解成一对多的联系,使用多个一对多联系来表示一个多对多联系。分解的方法主要有冗余结点法和虚拟结点法。层次模型的数据操作和完整性约束条件1、在进行插入记录值操作时,如果没有指明相应的双亲记录值,则不能插入子女记录值。2、进行删除记录操作时,如果删除双新记录值,则相应的子女结点值也同时被删除。3、进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。2022/8/77数据库技术与应用-2层次模型的优点: (1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 (2)结构
6、清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。 (3)它提供了良好的数据完整性支持。层次模型的缺点主要有:(1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。(2)对数据的插入和删除的操作限制太多。 (3)查询子女结点必须通过双亲结点。2022/8/78数据库技术与应用-2二、网状模型网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。网状模型的特征(1)有一个以上的结点没有双亲(2)至少有一个结点可以有多于一个
7、双亲。 网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系。2022/8/79数据库技术与应用-2如:学生和课程间的关系。一个学生可以选修多门课程,一门课程可以由多个学生选修。如右图所示 网状模型的数据操纵与完整性约束 网状模型的数据操纵主要包括查询、插入、删除和修改数据。(1).插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。(2).删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。
8、 (3).修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此,修改操作时只需更新指定记录即可。它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。2022/8/710数据库技术与应用-2网状模型的优缺点 网状模型的优点主要有:(1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。(2)具有良好的性能和存储效率。网状模型的缺点主要有:(1)结构复杂,其DDL语言极其复杂。(2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。2022/8/711数据库技术与应用-2三、关系模型在计算机数据管理的历史上出
9、现的二次飞跃数据库技术的出现关系数据模型的诞生2022/8/712数据库技术与应用-2关系模型的基本概念 关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。关系数据模型完整性约束 关系数据模型完整性约束主要包括三大类:实体完整性、参照完整性和用户定义完整性。关系数据模型中的查询、插入、删除、修改数据等常用操作都要满足这些条件。2022/8/713数据库技术与应用-2关系模型的优点主要有: 与非关系模型不同,它有较强的数学理论根据。数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。关系模型的存取路径对用户透
10、明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。 关系模型的缺点主要有:由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。2022/8/714数据库技术与应用-21.1 关系模型一、二维表 关系模型的用户界面非常简单,从用户观点来看,一个关系的逻辑结构就是一张二维表。关系在磁盘上以文件形式存储,每个字段是表中的一列,每个记录是表中的一行。这种用二维表的形式来表示实体和实体间联系的数据模型称为关系数据模型。2022/8/715数据库技术与应用-2二维表(续)2022/
11、8/716数据库技术与应用-2例如,教学数据库中教师与课程的关系模型如图所示可得出的关系之间的联系:教师关系和授课关系有公共的属性“教师号”课程关系和授课关系有公共的属性“课程号”在建立关系模型时,只要把的所有的实体及其属性用关系框架来表示,同时把实体之间的关系也用关系框架来表示,就可以得到一个关系模型。2022/8/717数据库技术与应用-2二、关系术语关系:一个关系就是一张二维表。每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件。元组:表中的行称为元组。一行是一个元组,对应存储文件中的一个记录值。属性:表中的列称为属性。属性具有型和值两层含义:属性的型指属性名;属性值指属性具体
12、的取值。每一列有一个属性名。属性值相当于记录中的字段值。 同一关系中的属性名不能相同。又称表又称行或记录又称列2022/8/718数据库技术与应用-2关系术语(续)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。如:整数,正数,男,女等都是域。关键字:属性或属性组合,其值能够唯一地标识一个元组。关系模式:对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,属性名n)。其实就是二维表的表头那一行,又称表的框架或记录类型。 在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别) 课程(课程号,课程名,课时) 实体间的关系也是用关系来表示的,如:学生和
13、课程之间的关系选课关系(学号,课程号,成绩)元数:关系模式中属性的数目。如学生关系是一个5元关系。 2022/8/719数据库技术与应用-2 学号 姓名 性别 出生日期 所在院系 080440501 王雨嫣 女 1980-9-6 中文系 020440506 肖峰 男 1978-10-9 电子系 090440507 胡冲 男 1980-5-8 英语系 关系 表 关系模式 记录 行 属性 列 属性名 列名 jbqk 关系名 表名 2022/8/720数据库技术与应用-2三、从集合论的观点来定义关系将关系定义为元组的集合;关系模式是命名的属性集合;元组是属性值的集合。一个具体的关系模型是若干个关系模
14、式的集合。2022/8/721数据库技术与应用-2四、数据库中基本关系的性质同一属性的数据具有同质性。即同一列中的分量是同一类型的数据,它们来自同一个域。 如,学生选课表的结构:选课(学号,课号,成绩)同一关系的属性名具有不能重复性。即在同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。 学生成绩(学号,成绩,成绩) 学生成绩(学号,成绩1,成绩2) 例如,有如下表中关系,职业与兼职是两个不同的属性,但它们取自同一个域职业教师,工人,辅导员。2022/8/722数据库技术与应用-2数据库中基本关系的性质(续)关系中的列位置具有顺序无关性 即列的顺序可以任意交换。交换时,应
15、连同属性名一起交换,否则将得到不同的关系。例如:关系T1作如下交换时,无任何影响,如右表所示:而作如下交换时,不交换属性名,只交换属性列中的值,则得到不同的关系,如下表: 2022/8/723数据库技术与应用-2关系中的元组位置具有顺序无关性,即关系元组的顺序可以任意交换。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。 关系具有元组无冗余性,即关系中的任意两个元组不能完全相同。关系中每一分量必须是不可分的数据项,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。202
16、2/8/724数据库技术与应用-21.2 关系模型的特点关系必须规范化 规范化是指关系模型中的每一个关系模式都必须满足一定的要求。关于规范化的层次在第三章讨论。但对关系最基本的要求是每个属性值必须是不可分割的数据单元。姓名职称应发工资应扣工资基本工资奖金车补房租水电即表中不能再包含表例如,在表下中,籍贯含有省、市县两项,出现了“表中有表”的现象,则为非规范化关系,而把籍贯分成省、市县两列,将其规范化。2022/8/725数据库技术与应用-2关系模型的特点(续)概念模型单一 在关系模型中,无论实体本身还是实体间的联系均用关系表示。在关系模型中对多对多联系表示得也比较简单。2022/8/726数据
17、库技术与应用-2学号课程号成绩S1S1S2S2S2S3S3S3S3C1C2C1C2C3C1C2C3C4808790889575879089例:一个学生可以选修多门课程,一门课程由多个学生选修。学生和课程间存在多对多的联系。可以设计以下三个关系模式:学生(学号,姓名,性别,政治面貌,所在系,民族,现住址)课程(课程号,课程名称,学分,课时,选修课)选修(学号,课程号,成绩)2022/8/727数据库技术与应用-2关系模型的特点(续)集合操作 在关系模型中,操作的对象和结果都是元组的集合,即关系。学号姓名年龄性别系名年级95004王小明19女社会学9595008张文斌18女法律学95查询操作结果是
18、原关系的一个子集,其本身也是一张二维表2022/8/728数据库技术与应用-21.3 关系运算 从集合论的观点来定义关系,关系是一个元数为K的元组的集合。表明这个关系有若干个元组,每个元组有K个属性值。 关系的基本运算有两类:传统的集合运算和专门的关系运算2022/8/729数据库技术与应用-2一、传统的集合运算并(Union)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为。注意:是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。例:设每个班有一个学生关系R1,R2,R3,则全校学生关系T是: T= R1 R2 R3 2022/
19、8/730数据库技术与应用-2传统的集合运算(续)差(Difference)设有两个关系R和S,它们具有相同的结构。R和S的差是由属于R但不属于S的元组组成的集合。运算符为。通过差运算,可实现关系数据库记录的删除。例:设有参加计算机小组的学生关系,参加桥牌小组的学生关系。求参加了计算机小组但没有参加桥牌小组的学生。结果放在关系1中。T1=R-S2022/8/731数据库技术与应用-2传统的集合运算(续)交(Intersection)设有两个关系R和S,它们具有相同的结构。R和S的交是由既属于R又属于S的元组组成的集合,运算符为。交运算的结果是R和S的共同元组。例:设有参加计算机小组的学生关系,
20、参加桥牌小组的学生关系。求既参加了计算机小组又参加桥牌小组的学生。结果放在关系2中。 2 =R S也可以写成:2 =R-(R S)关系的交可以用关系的差来表示。即RS= R-(R S)2022/8/732数据库技术与应用-2二、专门的关系运算选择运算( Selection ) 是按照给定条件从指定的关系中挑选出满足条件的元组构成新的关系,其关系模式不变,但其中元组的数目小于等于原来的关系中元组的个数,它是原关系的一个子集。这是从行的角度进行的运算,即水平方向抽取元组。总编号书名作者出版单位单价445501445502332211113388112266计算机基础大学英语线性代数数据库基础C程序
21、设计李伟王华张海孙冬王明高教出版社邮电出版社高教出版社科学出版社科学出版社1822202223例:设有关系图书如表所示。现从该图书关系中找出高教出版社出版的,单价不超过20元的书目。2022/8/733数据库技术与应用-2专门的关系运算(续)投影(projection) 是从指定的关系中挑选出某些属性构成新的关系,其关系模式所包含的属性个数往往比原关系少,或者属性的排列顺序不同。投影操作是从列的角度进行的运算,相当于对关系进行垂直分解。投影的结果将取消由于取消了某些列而产生的重复元组。例:设有读者关系,读者(借书证号,姓名,性别,单位,职称,地址)。按照单位在前,姓名在后的次序列出读者名单。
22、此运算结果包括元组数目不变,但减少了列的数目,同时改变了列的显示顺序。2022/8/734数据库技术与应用-2例:从图书关系中找出藏书所涉及到的所有出版社。总编号书名作者出版单位单价445501445502332211113388112266计算机基础大学英语线性代数数据库基础C程序设计李伟王华张海孙冬王明高教出版社邮电出版社高教出版社科学出版社科学出版社1822202223出现重复分组的情况:高教出版社邮电出版社高教出版社科学出版社科学出版社无重复分组的情况:高教出版社邮电出版社科学出版社2022/8/735数据库技术与应用-2专门的关系运算(续)联接运算(join) 联接是将两个和多个关系
23、模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系包含满足联接条件的元组。运算过程是通过联接条件来控制的,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。联接是对关系的结合。例:设有三个关系:学生(学号,姓名,所在系,性别,现住址);课程(课程号,课程名,学分);选修(学号,课程号,成绩)。若想查询成绩90分以上的学生姓名。 联接结果包括学生、课程、选修三个关系中属性的并集。 等值连接自然联接:是去掉重复属性的等值连接。它属于联接运算的一个特例。2022/8/736数据库技术与应用-2非自然联接例:设有两个班的选修关系,选修1(SNO1,CNO1,G1)和选修2(SNO2,CNO2,G2)。其中,SNO1,SNO2分别代表两个班的学号;CNO1,CNO2代表两个班的课程号;G1,G2代表成绩。现要查询一班比二班考试成绩好的学生情况。无论什么课程都可进行交叉比较,只要成绩分数高即满足条件。SN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南通市海安县2025年数学四下期末预测试题含解析
- 云南省怒江市重点中学2024-2025学年高考物理试题模拟题及解析(全国卷Ⅱ)含解析
- 焦作工贸职业学院《中国近代军事史》2023-2024学年第二学期期末试卷
- 上海工程技术大学《口腔循证医学》2023-2024学年第二学期期末试卷
- 石家庄工程职业学院《西方文论导读》2023-2024学年第二学期期末试卷
- 廊坊卫生职业学院《跨境电子商务专业英语》2023-2024学年第二学期期末试卷
- 四川电子机械职业技术学院《英语文学作品汉译》2023-2024学年第一学期期末试卷
- 江苏省无锡市北塘区2025年数学四下期末学业质量监测模拟试题含解析
- 连云港职业技术学院《西方哲学史》2023-2024学年第二学期期末试卷
- 江苏省邗江实验校2025年初三零模语文试题含解析
- GA 1517-2018金银珠宝营业场所安全防范要求
- FZ/T 64014-2009膜结构用涂层织物
- C语言期末考试试题南昌航空大学
- 取消订单协议模板(5篇)
- 东风天锦5180勾臂式垃圾车的改装设计
- 浦发银行个人信用报告异议申请表
- 施工进度计划网络图-练习题知识讲解
- 防孤岛测试报告
- 按摩常用英语
- 食品公司规章制度
- midas NFX使用指南(八)
评论
0/150
提交评论