数据库第二章复习.ppt

上传人:牧羊曲112 文档编号:6578578 上传时间:2023-11-14 格式:PPT 页数:41 大小:597KB
返回 下载 相关 举报
数据库第二章复习.ppt_第1页
第1页 / 共41页
数据库第二章复习.ppt_第2页
第2页 / 共41页
数据库第二章复习.ppt_第3页
第3页 / 共41页
数据库第二章复习.ppt_第4页
第4页 / 共41页
数据库第二章复习.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

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

1、,逻辑运算符,(并)(交)(差)(广义笛卡儿积),(AND)(OR)(NOT),关系代数的运算符,练习,W:,R:,D:,Y,T(R),P5T=e(R),RW,RD,并运算,R,S,RS,交运算,R,S,RS,差运算,R,S,RS,SR,广义笛卡尔积运算,设有关系 R 如左下表所示:那么关于R的投影运算:S=a,c(R)的运算结果?,2023/11/14,7,投影运算举例:,设有关系 R 如左下表所示:那么关于R的选择运算:S=B=b2(R)的运算结果?,2023/11/14,8,选择运算举例:,选择运算举例:,R,A5(R),A5 C=7(R),连接运算举例:,R S,B D,R,S,自然连

2、接举例:,r,B,b1b2b3b3b5,E,371022,s,象集的定义,象集(Image Set)关系R(X,Z),X,Z是属性组,x是X上的取值,定义x在R中的象集为Zx=tZ|tR tX=x 从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量,象集,除运算举例:,RS,a1在R上的象集,a2在R上的象集,a3在R上的象集,除法运算的实际举例一,设有学生学习成绩关系SC如表(a)所示,现在要查询至少选修1号课程和3号课程的学生的学号来。解:首先要设置一个如表(b)所示的临时关系K,然后按照前面所讲的四个除法步骤求SCK,其结果如表(c)所示:,(b)临时关系K,(C)Sno,C

3、no(SC)K,2023/11/14,15,(a)学生学习成绩关系SC,除法运算的实际举例二,设有学生学习关系SC如表(a)所示,现在要检索选修了离散数学和数据结构两门课程并且成绩为优的学生情况来。解:首先要设置一个如表(b)所示的课程成绩条件关系CG,然后按照以上的除法步骤求SCCG,其结果如表(c)所示:,(b)课程成绩条 件关系CG,(C)SCCG,2023/11/14,16,(a)学生学习关系SC,除法运算的实际举例三,2023/11/14,关系代数表达式及其应用 在关系代数运算中,把由五种基本操作经过有限次复合的式子称为关系代数表达式,这种表达式的运算结果仍是一个关系。例如,我们可以

4、由关系代数表达式表示各种数据查询操作。查询语句的关系代数表达式的一般形式是:(R X S)或者(R S)上面的式子表示:首先取得查询所涉及到的关系,再执行笛卡儿积和自然连接操作得到一张中间表格(关系),然后再对中间表格执行水平分割(选择操作)和垂直分割(投影操作)。,17,设教学数据库EDUCATION中有三个关系:学生关系 S(SNO,SNAME,AGE,SEX,SDEPT)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,CDEPT,TNAME)试用关系表达式表示每个查询语句(1)检索商学院全体学生的学号、姓名和性别。SNO,SNAME,SEX(SDEPT=“商

5、学院”(S)(2)检索学习课程号为C2学生学号。SNO(CNO=“C2”(SC)(3)检索学习课程号为C2的学生学号与姓名。SNO,SNAME(CNO=“C2”(S SC),2023/11/14,18,关系表达式运算举例,设教学数据库EDUCATION中有三个关系:学生关系 S(SNO,SNAME,AGE,SEX,SDEPT)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,CDEPT,TNAME)试用关系表达式表示每个查询语句(4)检索没有学习课程号为C2的学生学号。SNO(CNO=“C2”(SC)SNO(S)-SNO(CNO=“C2”(SC),2023/11/1

6、4,19,关系表达式运算举例,设教学数据库EDUCATION中有三个关系:学生关系 S(SNO,SNAME,AGE,SEX,SDEPT)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,CDEPT,TNAME)试用关系表达式表示每个查询语句(5)检索既学习课程号为C2,又学习了课程号为C3课程的学生学号。SNO(CNO=“C2”CNO=“C3”(SC)SNO(CNO=“C2”(SC)SNO(CNO=“C3”(SC),2023/11/14,20,关系表达式运算举例,设教学数据库EDUCATION中有三个关系:学生关系 S(SNO,SNAME,AGE,SEX,SDEPT

7、)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,CDEPT,TNAME)试用关系表达式表示每个查询语句(6)检索既学习课程号为C2,或学习了课程号为C3课程的学生学号。SNO(CNO=“C2”CNO=“C3”(SC)SNO(CNO=“C2”(SC)SNO(CNO=“C3”(SC),2023/11/14,21,关系表达式运算举例,设教学数据库EDUCATION中有三个关系:学生关系 S(SNO,SNAME,AGE,SEX,SDEPT)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,CDEPT,TNAME)试用关系表达式表示每个查询语句

8、(7)检索学习了全部课程的学生学号。SNO,CNO(SC)(C),2023/11/14,22,关系表达式运算举例,2023/11/14,2.4.1 关系完整性的概念候选键(Candidate Key)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。候选关键字具有以下两个性质:标识的唯一性;无冗余性。主键(Primary Key)若一个关系中有多个候选键,则选定一个为主键。主属性(Primary Attribute)主键的属性称为主属性。,23,2.4 关系的完整性,2023/11/14,2.4.2 关系完整性实体完整性(Entity Integrity)一个基本关系通常对应

9、现实世界中的一个实体集。例如,学生关系对应于全体学生的集合。现实世界中的实体是可区分的,即它们具有唯一性标识。相应地,关系模式中以主关键字作为唯一标识。主关键字中属性即主属性不能取空值。因此有下面实体完整性规则:规则1:若属性A是基本关系R的主属性,则属性A不能取空值、也不能取重复值说 明:保证数据库表中的每一个元组都是惟一的。空值的存在,说明存在某个不可标识的实体,24,2.4 关系的完整性,导师表,研究生表,允许是空值,2023/11/14,25,实体完整性实例,导师编号不允许是空值或重复值,2023/11/14,2.4.2 关系完整性参照完整性(Referential Integrity

10、)实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系之间的引用。定义:设F是基本关系R的一个或一组属性,但不是关系R的码(关键字),如果F与基本关系S的主码(主关键字)相对应,则称F是基本关系R的外码(键),并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和S不一定是不同的关系。这个定义也可以这样说:在关系模式R(U)中,若属性或属性组F不是关系R的关键字,但F是其它关系模式的关键字,则称F为关系R(U)的外关键字。例如:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名),26,2.4 关系的完整性,2023/11

11、/14,2.4.2 关系完整性参照完整性(Referential Integrity)规则2:如果属性(组)F是基本关系R的外码,它与基本关系S的主码相对应,则对于R 中每个元组在F上的值必须为S中某个元 组的主码值或者空值。说明:“不引用不存在的实体”。即:不允许在一个关系 中引用另一个关系中不存在的元组。用于确保相关联的表间的数据保持一致。,27,2.4 关系的完整性,请思考:下面两个关系是否违反参照完整性规则?系表(主表)学生表(从表)说明:从表的“系编号(外键)”的取值只能为两种情况:若取非空值,则它必须是主表中存在的值。取空值(null)。表明尚未给学生分配专业。Null不等于0或空

12、字符串。,参照完整性,参照完整性,今要向关系P中插入新行,新行的值分别列出如下。哪些行能插入?A(037,绿,null)B(null,黄,T20)C(201,红,T20)D(105,蓝,B01)E(101,黄,T11),零件关系P(主码是“零件号”,外码是“供应商号”),供应商关系S(主码是“供应商号”),练习,联系两个表的关键字称为_。关系中主码的取值必须唯一且非空,这条规则是_完整性规则。关系模式是对关系结构的定义,是对关系_的描述。关系是二维表格,是对_的描述。,示例数据库,stdent,示例数据库,Course,示例数据库,SC,题(1),找年龄不小于20的男学生,查找结果,stden

13、t,关系表达式,题(2),查找信息系(IS系)的全体学生,查找结果,stdent,关系表达式,题(3),给出所有学生的姓名和年龄,查找结果,stdent,关系表达式,题(4),找95001号学生所选修的课程号,查找结果,SC,关系表达式,题(5),找95001号学生所选修的课程号和课程名,查找结果,SC,关系表达式,Course,题(6),求李勇同学选修的课程号,stdent,SC,关系表达式,1.设有关系S、SC和C,试用关系代数表达式完成下列操作。S(snum,sname,age,sex),例:(1,“李强”,23,男)是一条数据记录。SC(snum,cnum,score),例:(1,“C1”,83)是一条数据记录。C(cnum,cname,teacher)例:(“C1”,“数据库原理”,“王华”)是一条数据记录。(1)检索“刘祥”同学不学课程的课程号。(2)检索有一门课程成绩在90分以上的男同学的姓名。(3)列出没有选修“人工智能”的学生名单。(4)找出选修了袁老师教的所有课程的学生名单。,.(1)cnum(C)cnum(sname=刘祥(SCS)(2)sname(score=90sex=男(SCS)(3)sname(S)sname(cname=人工智能(SCSC)(4)sname(snum,cnum(sc)cnum(teacher=袁(c)s),

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号