关系型数据库基本原理.ppt

上传人:小飞机 文档编号:5928534 上传时间:2023-09-05 格式:PPT 页数:16 大小:331.61KB
返回 下载 相关 举报
关系型数据库基本原理.ppt_第1页
第1页 / 共16页
关系型数据库基本原理.ppt_第2页
第2页 / 共16页
关系型数据库基本原理.ppt_第3页
第3页 / 共16页
关系型数据库基本原理.ppt_第4页
第4页 / 共16页
关系型数据库基本原理.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《关系型数据库基本原理.ppt》由会员分享,可在线阅读,更多相关《关系型数据库基本原理.ppt(16页珍藏版)》请在三一办公上搜索。

1、2023/9/5,2.1 关系数据模型 2.2 E-R 模型到关系模型的转换 2.3 关系模型的三类完整性约束 2.4 案例1:活期储蓄管理系统数据库设计,2023/9/5,2.1 关系数据模型,2.1.1 关系模型的结构关系(relationship)关系是满足一定条件的二维表。表中的一行称为关系的一个元组,用来存储事物的一个实例;表中的一列称为关系的一个属性,用来描述实体的某一特征。表是由一组相关实体组成的集合。所以,表和实体集这两个词常常可以交替使用。表2-1给出了实体集、关系、表等一系列术语之间的对照关系,2023/9/5,关系是一个行与列交叉的二维表,每一列(属性)的所有数据都是同一

2、种数据类型的,每一列都有惟一的列名,列在表中的顺序无关紧要;表中的任意两行(元组)不能相同,行在表中的顺序也无关紧要。表2-2以图书借阅系统为例给出了一个表的实例,2023/9/5,关系的特点:关系的每一行定义实体集的一个实体,每一列定义实体的一个属性。每一行必须有一个主码,主码是一个属性组(可以是一个属性),它能惟一的标识一个实体。每一列表示一个属性,且列名不能重复。列的每个值必须与对应属性的类型相同。列有取值范围,称为域。列是不可分割的最小数据项。行、列的顺序对用户无关紧要。,2023/9/5,关系中的术语候选码(Candidate Key)若关系中的某一属性组(或单个属性)的值能惟一的标

3、识一个元组,则称该属性组(或属性)为候选码。选择一个候选码作为关系的主码。主属性(Prime Attribute)和非主属性 关系中包含在任何一个候选码中的属性称为主属性。不包含在任何一个候选码中的属性称为非主属性。,2023/9/5,2.2 E-R模型到关系模型的转换,E-R模型可以向现有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。这里只讨论E-R模型向关系模型的转换方法。E-R模型向关系模型转换的规则是:实体 一个实体类型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。E-R模型向关系模型转换时,除了将实体转换为关系外,还要考虑如何将实体之间的联系正确的转

4、换为关系。一对一联系(1:1)一般是将联系与任意一端实体所对应的关系模式合并,需要在该关系模式的属性中加入另一个实体的码和联系本身的属性。,2023/9/5,【例2-10】实体部门(编号,名称)与实体经理(工号,姓名)之间的任职联系是1:1联系。E-R模型如图2-1所示。将其转换为关系模型。,1,1,部门(编号,名称)经理(工号,姓名,编号,任职日期),图2-1,2023/9/5,一对多(1:n)联系 一般是将该联系与n端实体所对应的关系模式合并。合并时需要在n端实体的关系模式的属性中加入1端实体的码和联系本身的属性。【例2-11】将授课系统中的E-R模型转换为关系模型。,2023/9/5,该

5、E-R模型中有3个实体和1个多元联系。可以用两种方法转换为关系模型:1)将联系转换为一个单独的关系。则该E-R模型对应的关系模型包含4个关系模式:课程(课号,课名,学分)教师(工号,姓名,职称)参考书(书号,书名)讲授(工号,课号,书号)2)由于该例中的联系是一对多联系,所以可以将联系合并到实体对应的关系中。课程(课号,课名,学分)教师(工号,姓名,职称,课号)参考书(书号,书名,课号),2023/9/5,多对多(m:n)联系 将联系转换成一个关系模式。与该联系相连的各实体的码及联系本身的属性转换为关系的属性,而关系的码为各实体码的组合。【例2-12】将学生选课系统的E-R模型转换为关系模型。

6、,学生(学号,姓名,性别,年龄,所在系)选课(学号,课程号,成绩)课程(课程号,课程名,学分),2023/9/5,【例2-13】将图书借阅系统的E-R模型转换为关系模型。,读者(编号,姓名,读者类型,已借数量)借阅(读者编号,图书编号,借期,还期)图书(编号,书名,出版社,出版日期,定价),2023/9/5,2.3 关系模型的三类完整性约束,2.3.1 实体完整性 实体完整性规则:若属性A是关系R的主属性,则A不能取空值。2.3.2 参照完整性规则 外码和参照关系 设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并

7、称基本关系R为参照关系,称基本关系S为被参照关系。例如:在授课系统的关系模型中:课程(课号,课名,学分)课号关系课程的主码 教师(工号,姓名,职称,课号)课号是关系教师的外码 参考书(书号,书名,课号)关系教师是参照关系,关系课程是被参照关系。,2023/9/5,参照完整性规则 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中的每个元组在F上的值必须满足:或者取空值(F的每个属性均为空值),或者等于S中某个元组的主码值。例如,在授课系统的关系模型中,关系教师中的外码“课号”只能是下面两类值:(1)空值。表示还未给该教师安排课。(2)非空值,但此

8、值必须为被参照关系课程中某一门课程的“课号”。注意:在实际应用中,外码不一定与对应的主码同名。在关系数据库中,表与表之间的联系是通过公共属性实现的。这个公共属性往往是一个表的主码,同时是另一个表的外码。,2023/9/5,2.3.3 用户定义的完整性 用户定义的完整性就是针对某一具体要求来定义的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取惟一值;某些属性之间应满足一定的函数关系;某个属性的取值范围在0400之间等。关系模型应提供定义和检验这类完整性的机制,以便系统用统一的方法处理它们,而不需要由应用程序来承担这一功能。所以,用户定义的完整性通常是定义属性取值

9、的约束,即对属性的值域的约束。对属性的值域的约束也称为域完整性规则是指对关系中属性取值的正确性限制。包括数据类型、精度、取值范围、是否允许空值等。,2023/9/5,2.3.4 完整性规则检查 为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,就要检查是否满足以上三类完整性规则。当执行插入操作时 首先检查实体完整性规则,插入行的主码属性上的值,是否已经存在。若不存在,可以执行插入操作;否则不可以执行插入操作。再检查参照完整性规则,如果是向被参照关系插入,不需要考虑参照完整性规则;如果是向参照关系插入,插入行在外码属性上的值是否已经在相应被参照关系的主码属性值中存在。若存在

10、,可以执行插入操作;否则不可以执行插入操作,或将插入行在外码属性上的值改为空值后再执行插入操作(假定该外码允许取空值)。最后检查用户定义完整性规则,检查被插入的关系中是否定义了用户定义完整性规则,如果定义了,检查插入行在相应属性上的值是否符合用户定义完整性规则。若符合,可以执行插入操作;否则不可以执行插入操作。,2023/9/5,当执行删除操作时 一般只需要检查参照完整性规则。如果是删除被参照关系中的行,则应检查被删除行在主码属性上的值是否正在被相应的参照关系的外码引用,若没被引用,可以执行删除操作,若正在被引用,有三种可能的做法:不可以执行删除操作(拒绝删除),或将参照关系中相应行在外码属性上的值改为空值后再执行删除操作(空值删除),或将参照关系中相应行一起删除(级联删除)。当执行修改操作时 因为修改操作可看成先执行删除操作,再执行插入操作,因此是上述两种情况的综合。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号