第二章关系数据库.ppt

上传人:sccc 文档编号:5954507 上传时间:2023-09-08 格式:PPT 页数:42 大小:3.05MB
返回 下载 相关 举报
第二章关系数据库.ppt_第1页
第1页 / 共42页
第二章关系数据库.ppt_第2页
第2页 / 共42页
第二章关系数据库.ppt_第3页
第3页 / 共42页
第二章关系数据库.ppt_第4页
第4页 / 共42页
第二章关系数据库.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

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

1、第二章 关系数据库,本章介绍关系数据库的相关概念:关系模型数据结构、关系操作和完整性约束关系代数关系数据库采用了关系模型作为数据的组织方式对关系数据库进行查询时,若要找到需要的数据,就要对关系进行一定的运算,数据结构,实体以及实体间的各种联系均用关系来表示在用户看来,关系模型中数据的逻辑结构是一张二维表,(a)“学生”关系,(c)“选课”关系,(b)“课程”关系,关系:一个关系通常对应一张二维表元组:二维表的一行称为一个元组如:表中一个学生记录即为一个元组。属性:关系中的一列为一个属性,给每一个属性起一个名称即属性名。学号、姓名、性别、出生年月,籍贯域:属性的取值范围,关系模型中的术语,“学生

2、”关系,关系模型中的术语,分量:元组中的一个属性值例如:张三秋、男等关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,属性n)如:学生(学号,姓名,性别,出生年月,籍贯),“学生”关系,键/码(Key),超键:能唯一标识元组的属性或属性集(可能存在多余的属性)学生(学号,姓名,身份证号,性别,籍贯)中的一些超键:(学号)、(身份证号)、(学号,身份证号)、(学号,姓名)、(学号,籍贯)候选键:如果一个属性或属性集能唯一标识元组,且又不含多余的属性,那么这个属性或属性集称为关系模式的候选键。候选键是最小属性数的超键表中可能有多个候选键如:学号、身份证号,键(Key),主键:多个候选键中

3、用户指定的某一候选键如:学生表中的“学号”一个表中只有一个主键外键:可作为其它关系模式的主键的属性或属性集称外键。如:“学生”关系中的“班级编号”(外键)可作为“班级”关系中的主键。主键和外键也称为主码和外码。,“学生”关系,“班级”关系,关系数据库,由一个或一个以上的关系或二维表彼此关联组成的。其中关系之间的联系是通过一个关系的主键与另一个关系的外键建立的。学院(学院编号,学院名称,院长姓名,电话,地址)系(系编号,系名称,系主任,学院编号)班级(班级编号,班级名称,班长姓名,专业,系编号)学生(学号,姓名,性别,出生年月,籍贯,班级编号),关系模型的主要特点,关系中每一分量不可再分,是最基

4、本的数据单位。每列分量属性相同,列按需要设,各列顺序任意。每一行由多个属性构成,各行的顺序可任意。一个关系是一张二维表,不允许有相同的属性名和元组。,关系操作,关系操作是对数据库中各种数据操作的集合查询操作:选择、投影、连接、并、交、差更新操作:插入、删除、更新关系操作的特点是集合操作方式,即操作的对象和结果都是集合,完整性约束,实体完整性、参照完整性、用户自定义完整性实体完整性是对关系中元组的唯一性约束,即对主键的约束,关系中的主键不能是空值(Null)且不能有相同值。例如:“学生”表中不允许有两个相同的学号存在,也不允许没有学号。,违反实体完整性,完整性约束,参照完整性是对外键的约束,关系

5、中的外键必须是另一个关系的主键的有效值,或者是空值(Null)如:“班级”表与“学生”表是一对多关系,“班级”表中的 班级编号是主键,“学生”表中的 班级编号是外键,那么,外键的值必须是主键的有效值。,“学生”表,“班级”表,违反参照完整性,完整性约束,用户自定义完整性用户自行定义的删除、更新、插入约束例如:在向学生表中插入数据时不允许学生名称为Null,性别只能是“男”或“女”等。,关系代数,关系代数是研究关系数据库的数学工具。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。关系代数的运算可分为两类:(1)传统的

6、集合运算:并()、交()、差()、笛卡儿积(X)(2)专门的关系运算:选择()、投影()、连接()、除法(),并运算,关系R和S的并将产生一个包含R、S中所有不同元组的新关系,记作RS 关系R和关系S必须要有相同的属性,并且对应属性要有相同的域。在进行并操作时,如有完全相同的元组只保留一个,RS,RS集合,例2.4 有第1学期课程和第2学期课程两个关系,要知道这一年中的所有课程,可用并运算实现。即:新的课程第一学期课程第二学期课程,并运算,差运算,所有属于关系R但不属于关系S的元组组成的新关系,记作RS。例2.5 有成绩大于60的学生学号和成绩大于90的学生学号两个关系,求成绩小于或等于90且

7、成绩大于60的学生。即:表a表b,R-S集合,R-S集合,例如:要将下面的成绩表中有关“数学”科目的元组删除。即求成绩表成绩表1成绩表2。,成绩1,成绩2,成绩表1成绩2运算结果,交运算,属于R也属于S的元组组成的新关系,记作RS。,(RS),RS集合,例2.6 假设有“广东”籍学生和“男”学生两个表,要求检索广东的男学生,这个检索可以用交操作来实现。,交运算,例如:在输入学生成绩时,为保证数据正确,常让两人重复输入成绩数据,形成两个成绩文件。由于两人同时对同一学生成绩输入出错而且输入的错误数据完全一样的概率几乎为0,因此认为,两人输人数据一致的部分是准确的,即求成绩1成绩2,其结果被认为是正

8、确的。,成绩1,成绩表1 成绩2运算结果,成绩2,笛卡儿积运算,R中每个元组与S中每个元组连接组成的新关系,记作RS。如果关系R中有m个元组,S中有n个元组,则RS中有mn个元组。由于R和S中可能存在相同的属性名,笛卡儿积运算时需要在属性上附加该属性所来自的关系名称。,笛卡儿积运算,学生关系(R),课程关系(S),学习关系,RS,例2.7 在学生和课程两个关系上,要求每个学生必须选修所有课程。这个选修关系可以用两个关系的笛卡尔积运算来实现。,例2.8 表(a)、(b)分别为关系R和S。则(c)为关系R与S的并。(d)为关系R与S的交。(e)为关系R和S的差。(f)为关系R和S的笛卡儿积。,R

9、S,专门的关系运算,专门的关系运算包括四种运算即选择()投影()连接()除法()是关系数据库查询、统计等操作的基础。,选择(),从关系R中选取符合条件的若干元组(行)。选择操作可以表示为:()例如:性别=男(学生),选择(),选择条件是由比较运算符构成的简单表达式。比较运算符:、如:性别=男 年龄=25 出生年月=#1990-01-15#选择条件也可以是由逻辑运算符构成的复杂表达式逻辑运算符:OR(或)、AND(与)、NOT(非)如:年龄 6 年龄60 性别=男 年龄25 籍贯=广东,选择(),例2.9 对学生表进行选择操作。列出所有男同学的基本情况。选择的条件是:性别=男。用关系代数表示为:

10、性别=男(学生),学生表,选择星期一有课的教室:,选择(),星期=1(教室),教室表,投影,选择关系R中的若干属性(列),并去掉重复元组。选取各个属性时不受关系中属性顺序的约束。投影操作可以表示为:(),投影操作主要是从列的角度进行运算,投影,对下图中教室表的教室编号、课程编号、教师编号、星期和课节5个属性进行投影操作。,教室编号,课程编号,教师编号,星期,课节(教室),教室表,连接,从两个关系的笛卡儿积中选取满足连接条件的元组连接操作是对两个关系进行连接,同时生成一个新关系。设R和S是任意两个关系,则R与S的连接操作定义为:,R S,(a)关系R,(b)关系S,笛卡儿积 RS,C E,连接运

11、算中有两种最为最为常用的连接,一种是等值连接,另一种是自然连接。等值连接:如果连接条件中的所有比较运算符都是“=”,则将此种连接称为相等连接。自然连接是一种特殊的等值连接。记作。两个关系中进行比较的分量是相同的属性组在结果中把重复的属性列去掉自然连接操作是最常用的一种连接,也是关系数据库中最重要的一种操作。,连接,例2.11 设表(a)和(b)分别为关系R和关系S。表(c)为一般连接的结果。表(d)为等值连接的结果。表(e)为自然连接的结果。,(a)关系R,(b)关系S,(a)关系R,(b)关系S,自然连接,例2.12 表(a)、(b)分别是选课关系、课程关系和教师关系。,(a)选课,(b)课

12、程,(d)一般连接,选课选课.课程编号=课程.课程编号 成绩=85课程,(e)等值连接,选课选课.课程编号=课程.课程编号课程,(f)自然连接,选课 课程,(c)教师,设学生信息数据库中包含表(a)、(b)、(c)三个表,应用关系代数完成下列条件的查询。,(a)选课,(b)课程,(c)教师,例2.13 查询选修了课程编号为“03001”或者“03356”的学生的学号:,学号(课程编号=03001(选课)学号(课程编号=03356(选课),应用举例,或 学号(课程编号=03001(选课)课程编号=03356(选课)或 学号(课程编号=03001 课程编号=03356(选课),学号(课程编号=03

13、001(选课),学号(课程编号=03056(选课),课程编号=03001(选课),课程编号=03056(选课),设学生信息数据库中包含表(a)、(b)、(c)三个表,应用关系代数完成下列条件的查询。,(a)选课,(b)课程,(c)教师,例2.14 查学号为“050102”选修而学号为“050101”没有选修的课程编号。,课程编号(学号=050102(选课))课程编号(学号=050101(选课)不能写成:课程编号(学号=050102(选课)学号=050101(选课),应用举例,课程编号(学号=050102(选课)),课程编号(学号=050101(选课),学号=050102(选课),学号=0501

14、01(选课),设学生信息数据库中包含表(a)、(b)、(c)三个表,应用关系代数完成下列条件的查询。,(a)选课,(b)课程,(c)教师,应用举例,例2.15 查询给学号为“050102”上过课的所有教师的姓名和他们的职务。,姓名,职务(学号=050102(选课)教师),或 姓名,职务(学号=050102(选课 教师),例题,学生选课库的关系模式为:,学生(学号,姓名,性别,年龄);选课(课程号,学号,成绩),(1)求选修了课程号为“C2”课程的学生学号。学号(课程号=C2(选课),(2)求选修了课程号为“C2”课程的学生学号和姓名。学号,姓名(课程号=C2(选课)(学生)或 学号,姓名(课程

15、号=C2(选课 学生),(3)求没有选修课程号为“C2”课程的学生学号。学号(学生)学号(课程号=C2(选课),该题不能写为:学号(课程号 C2(选课)(因为可能还有部分学生尚未选课,此答案不够准确),例题,学生选课库的关系模式为:,(4)求既选修“C2”课程,又选修“C3”课程的学生学号。学号(课程号=C2(选课)学号(课程号=C3(选课)该题不能写为:学号(课程号=C2(选课)课程号=C3(选课),(5)求选修课程号为“C2”或“C3”课程的学生学号。学号(课程号=C2(选课)学号(课程号=C3(选课)或 学号(课程号=C2(选课)课程号=C3(选课)或 学号(课程号=C2 课程号=C3(选课),该题也不能写为:学号(课程号=C2 课程号=C3(选课),学生(学号,姓名,性别,年龄);选课(学号,课程号,成绩),(4)R S(5)A,B(C=2(R)(6)A(R)B=1(S),写出下列关系运算的结果。设有关系R、S如下表所示,计算:,(1)B,D(S)(2)C=3(S)(3)R S,关系R,关系S,R.CS.D,练习,答案,(1)B,D(S),(2)C=3(S),(3)R S,R.CS.D,(4)R S,(5)A,B(C=2(R),(6)A(R)B=1(S),作业,P20 4,5:(1)-(5),

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号