第2章关系数据库课件.ppt

上传人:小飞机 文档编号:3952492 上传时间:2023-03-28 格式:PPT 页数:40 大小:1.25MB
返回 下载 相关 举报
第2章关系数据库课件.ppt_第1页
第1页 / 共40页
第2章关系数据库课件.ppt_第2页
第2页 / 共40页
第2章关系数据库课件.ppt_第3页
第3页 / 共40页
第2章关系数据库课件.ppt_第4页
第4页 / 共40页
第2章关系数据库课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第2章关系数据库课件.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库课件.ppt(40页珍藏版)》请在三一办公上搜索。

1、,1,第2章 关系数据库,江西先锋软件职业技术学院,主讲:王浩,本章主要内容,1、关系模型的主要术语 2、关系的运算 3、模型转换 4、关系的完整性 5、关系数据库设计实例,关系数据结构 二维表 选择、投影、连接等关系运算 关系操作集合 关系模型 插入、删除、修改等数据操作 实体完整性 关系的完整性 域完整性 参照完整性,2.1 关系模型的主要术语,2.1 关系模型的主要术语,关系模型采用相互关联而又相互独立的多个二维表格来反映数据库的关系。其数据的逻辑结构就是相互关联又相互独立的多个二维表。表 行 列 码 项关系Table 记录Record 字段Field 关键字Key 数据Data,2.1

2、 关系模型的主要术语,表(关系Table):一个关系对应于平常讲的一张二维表,是具有相同性质的记录的集合。行(记录Record):表中的一行称为一条记录。列(字段Field):表中的一列称为字段,给每一列起一个名称即字段名。码(关键字Key):唯一地标识一条记录的一个或若干个字段集合。主码(Primary Key):被挑选出来作为表中记录的唯一标识的码,一个表中只有一个主码。外码(Foreign Key):如果两个关联关系中具有相容或相同的码,当这个码在一个关系中是主码,则被称为另一个关系的外码。外码表示两个关系之间的联系。项Data(数据):行中的列值。,2.1 关系模型的主要术语,字段,记

3、录,例:学生表,数据,主码,2.1 关系模型的基本概念,例:学生选课系统中,其概念模型中有学生实体、课程实体以及选课联系。,2.1.2 关系基本概念,关系选课,外码是指一个表中的某个列(非主码)是另一个表的主码,那么该列被称为外码。,关系学生,2.1 关系模型的主要术语,需要关注的几点:1)关系中每一数据项不可再分,是最基本的数据单位。2)每一列的数据项是同属性的,列数根据需要而设,且各列的顺序是任意的。3)每一行由一个个体事物的诸多属性构成,且各行的顺序可以是任意的。4)一个关系是一张二维表,不允许有相同的列名,也不允许有相同的行。5)支持数据独立性,因而可维护性、可扩展性、可重用性都比较好

4、。,2.1 关系模型的主要术语,对某个班级的学生、任课教师、课程和成绩的管理,就需要用到以下3张表格:学生表、课程表、成绩表。这些表虽然各自是独立的,但又相互关联。例:查询孙雯同学的影视文学成绩,并找出其任课老师。1)到学生表姓名字段找到“孙雯”,记下她的学号2007230317;2)到课程表课程名字段找到“影视文学”,记下它的课程号B0100260;3)到成绩表,在学号列找到2007230317集合,然后在该集合的课程列找到B0100260,成绩列就是李华伟同学的英语成绩(72分)。4)到课程表在课程编号字段找到B0100260,对应任课教师列就是大学英语的任课教师(刘建臣)。,2.2 关系

5、的运算,关系的运算包括选择、投影、差、并、交、乘、除、连接等。在关系运算中,变量是关系,运算结果仍然是关系。常用的关系运算有:1、选择(select):由满足条件的记录组成。2、投影(project):由某些字段的所有值组成。3、连接(join):由多个关系通过连接条件组成。,2.2 关系的运算,1、选择运算 选择是在关系R中选择满足给定条件的诸记录;选择运算是从行的角度进行的运算。,仅选出【性别】为【女】的同学信息,2.2 关系的运算,2、投影运算 投影是从关系R中选择出若干字段组成新的关系。投影运算是从列的角度进行的运算。,仅选出学生的【班级】【姓名】【性别】信息,(3)连接连接运算是二元

6、关系运算,是从两个关系元组的所有组合中选取满足一定条件的元组,由这些元组形成连接运算的结果关系。其中条件表达式涉及到两个关系中属性的比较,该表达式的取值为逻辑的真或假。连接运算中最为常用的是等值连接和自然连接。等值连接是指对关系R和S中按相同属性的等值进行的连接运算,而自然连接是在等值连接中去掉重复列的连接运算。,2.1 关系模型的概述,2.2 关系的运算,3、连接运算 连接运算是二元关系运算,是从两个关系记录的所有组合中选取满足一定条件的记录,由这些记录形成连接运算的结果关系。,连接【学生表】和【成绩表】,从中选出学生的【数学】【语文】成绩信息,2.3 模型转换,1、模型转换的方法 概念模型

7、向关系模型转换实际就是将E-R图转换为关系模型,要将实体、实体的属性和实体之间的联系转化为关系模式。,2.3 模型转换,1)模型转换遵循的原则(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2)一个m:n联系转换为一个关系模式。各实体的码及联系本身的属性均转为关系的属性,关系的码为各实体码的组合。(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。各实体的码及联系本身的属性均转为关系的属性,关系的码为n端实体的码。(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。(5)具有相同吗的关系模式可

8、合并。,【例】实体部门(编号,名称)与实体经理(工号,姓名)之间的任职联系是1:1联系。E-R模型如图所示。将其转换为关系模型。,1,1,部门(编号,名称)经理(工号,姓名,编号,任职日期),2.3 模型转换,【例】将图书借阅系统的E-R模型转换为关系模型。,读者(编号,姓名,读者类型,已借数量)借阅(读者编号,图书编号,借期,还期)图书(编号,书名,出版社,出版日期,定价),2.3 模型转换,2.3 模型转换,2、关系模型的优化(3NF标准)(1)表内的每一个值都只能被表达一次。例:R1(职工,姓名,电话号码)问题:一人可能有1个办公室电话号码和1个家庭电话号码。解决办法:将电话号码分为办公

9、室电话号码和家庭电话号码2个属性。改为:R1(职工,姓名,办公室电话号码,家庭电话号码),2.3 模型转换,2、关系模型的优化(3NF标准)(2)表内的每一行都应该被唯一标识。例:R2(学号,课程号,成绩)问题:若将学号定位关键字,一个学生选修多门课程,没有被唯一标识。解决办法:将学号、课程号组合为关键字。改为R2(学号,课程号,成绩),2.3 模型转换,2、关系模型的优化(3NF标准)(3)表内不应该存储依赖于其他键的非键信息。例:R3(学号,姓名,系编号,系名称,系地址)问题:系编号,系名称,系地址等字段将重复存储。解决办法:分为2个关系。改为:R31(学号,姓名,系编号)R32(系编号,

10、系名称,系地址),2.3 模型转换,3、模型转换示例课本第19页,例2.1思考:该模型有几个实体,分析出各实体的主码?哪些实体间有联系,分析该联系是哪种类型的联系?并 指出主码和外码。课本第20页,例2.2思考:该模型有几个实体,分析出各实体的主码?哪些实体间有联系,分析该联系是哪种类型的联系?并 指出主码和外码。,课堂练习:-图转换成关系模式,并指出主码和外码。,课堂练习:将某工厂的仓库管理E-R模型转换为关系模型,(a)某工厂物资管理实体-联系图(E-R图),课堂练习:将某工厂的仓库管理E-R模型转换为关系模型,转换出来的关系模型 仓库(仓库号、面积、电话号码)零件(零件号、名称、规格、单

11、价、供应商号、仓库号)供应商(供应商号、姓名、地址、电话号码、账号)职工(职工号、姓名、年龄、职称)项目(项目号、预算、开工日期)入库(供应商号、零件号)存储(仓库号、零件号)出库(项目号、零件号)保管(仓库号、职工号),课堂练习:将某工厂的仓库管理E-R模型转换为关系模型,2.3 关系的完整性,数据的完整性有完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。1、实体完整性 实体完整性实施在行上。规则:若属性A是关系R的主属性,则A不能取空值。解释:在任何关系的任何一条记录中,主属性值的任一数据项都不允许为空值,而不仅是主码不能取空。例如,在学生表中,因学号字段被设为主码,不允许为

12、空值,即每一个学生必须有一个对应的学号。例如,在成绩表中,学号和课程号组合成主码,这两个字段都不能取空值。,2、域完整性(也称用户自定义完整性)域完整性实施在列上。规则:由用户针对某一具体数据库的约束条件,把属性限制在一个有限的集合中。解释:它由应用环境决定,反映了某一具体应用所涉及的数据必须满足的语义要求。如数据类型、格式、值域范围、是否允许空值等。例如,学生的性别只能是“男”或“女”两种可能,不能是其它值。例如,成绩的取值只能限制在数字0100之间才合乎情理。例如,年龄只能是大于“0”的正整数。,2.3 关系的完整性,2.3 关系的完整性,3、参照完整性 实体与实体之间往往存在某种依存关系

13、,这种依存关系叫做联系。在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用,即关系参照的完整性。在一个关系模型中,关系R中的外码对应另一个关系S的主码(关系R和S不一定是不同的关系),关系R中外码的取值要参照另一个关系S主码的取值。此时,R为参照关系,S为被参照关系。参照完整性规则:定义外码与主码之间的引用和参照规则,参照关系的外码取值不能超出被参照关系的主码取值。,2.4 关系的完整性,4、完整性检查 1)执行插入(INSERT)记录操作时的检查。检查实体完整性=检查参照完整性=检查域完整性。2)执行删除(DELETE)记录操作时的检查。仅检查参照完整性,不

14、检查实体完整性和域完整性。3)执行修改(UPDATE)记录操作时的检查。先删除记录,再插入记录。例:学生表(学号,姓名,性别,入学时间,出生日期,籍贯)成绩表(学号,课程号,成绩)向学生表中插入记录没有限制;向成绩表中插入记录时,学号不能为空值,且要求学号的值必须是从学生表的主码学号中选取的值。删除课程表中某个学生的成绩记录没有限制;删除学生表中某个学生的记录,则要检查成绩表中是否有该学生的成绩记录,若有,要么不能删除该学生记录,要么将该学生的成绩记录级联删除。,关系数据库设计的一般步骤 1、确立建立数据库的目的:用数据库管理哪些数据,有哪些需求和功能。2、确定所需要的表:把信息分成各个独立的

15、主题,每一主题可以是数据库中的一个表。3、确定所需要的字段:每个表中要保存哪些信息。4、确定关系:分析每个表,确定表中的数据和其他表中的数据有何关系。5、改进设计:对设计作进一步分析,查找其中的错误,需要时可调整设计。,2.5 关系数据库设计实例,1、确立建立数据库的目的:用数据库管理哪些数据,有哪些需求和功能。建立CJGL数据库:成绩管理系统不仅要对学生的成绩进行管理,还要对与学生成绩有关的其他信息进行管理,如学生的基本信息、系部信息、班级信息、课程信息等管理模块,对每类信息的管理一般都应具有增加、删除、修改和查询功能,有些信息还要对其进行统计和分析。该系统的功能划分设计框图见下页。,2.5

16、 关系数据库设计实例,2.5 关系数据库设计实例,“成绩管理系统”功能划分如下图,2、确定所需要的表:把信息分成各个独立的主题,每一主题可以是数据库中的一个表。CJGL数据库需设系部、班级、学生、课程、成绩等5个数据表。,2.5 关系数据库设计实例,3、确定所需要的字段:每个表中要保存哪些信息。各个数据表包含的字段为:1)系部表Department:系部编号DepNo、系部名称DepName。2)班级表Class:班级编号ClaNo、班级名称ClaName、系部编号DepNo、班级人数Number。3)学生表Student:学生编号StuNo、姓名StuName、性别Sex、班级编号ClaNo

17、、入学时间Enrolltime、籍贯City、出生日期Birthday、备注Notes。4)课程表Course:课程编号CouNo、课程名称CouName、课程类别Kind、学分Credit、学期Term、任课老师Teacher。5)成绩表Score:学生编号StuNo、课程编号CouNo、成绩Grade。,2.5 关系数据库设计实例,4、确定表间关系:分析每个表,确定表中的数据和其他表中的数据有何关系。1)学生表.学生编号成绩表.学生编号 2)课程表.课程编号成绩表.课程编号 3)系部表.系部编号班级表.系部编号 4)班级表.班级编号学生表.班级编号 5、改进设计:对设计作进一步分析,查找其

18、中的错误,需要时可调整设计。,2.5 关系数据库设计实例,本章小结,本章主要介绍了关系数据库的主要术语(表、记录、字段、主码、外码、数据项)、运算(选择、投影、连接)、完整性(实体完整性、域完整性、参照完整性)等知识。本章的重点是模型的转换,要求能理解和运用这些关系数据库的相关知识完成从概念模型到关系模型的转换;通过关系数据库设计实例理解关系数据库设计步骤和方法。,谢谢!,人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号