关系据库(2)

上传人:子 文档编号:51712910 上传时间:2018-08-16 格式:PPT 页数:53 大小:2.01MB
返回 下载 相关 举报
关系据库(2)_第1页
第1页 / 共53页
关系据库(2)_第2页
第2页 / 共53页
关系据库(2)_第3页
第3页 / 共53页
关系据库(2)_第4页
第4页 / 共53页
关系据库(2)_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《关系据库(2)》由会员分享,可在线阅读,更多相关《关系据库(2)(53页珍藏版)》请在金锄头文库上搜索。

1、第二章 关系数据库n2.1 关系模型概述n2.2 关系数据结构n2.3 关系的完整性第二章 关系数据库2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性数据模型的组成要素:数据模型通常由数据结构、数据操 作、和完整性约束三部分组成。 (1) 数据结构数据结构是所研究的对象类型(Object Type)的集合。 (2) 数据操作数据操作是指对数据库中各种对象(型)的实例(值) 允许执行的操作的集合。数据库主要有检索和更新(插入、删除 、修改)两大类操作。 数据结构是对系统静态特性的描述,数据操作是对系统动态特 性的描述。 (3) 数据的约束条件数据的约束条件是完整性规则的集合。完整

2、性规则是给定 的数据模型中数据及其联系所具有的制约和依存规则,用以限定 符合数据模型的数据状态以及状态的变化,以保证数据的正确、 有效、相容。2.1 关系模型l关系数据结构:实体及联系统一用二维表表示(关 系)。l关系操作l关系完整性约束实体完整性 参照完整性 用户定义完整性选择 投影 连接 除 并 交 差 积 增加 删除 修改专门的关系运算传统的集合运算更新 操作查询 操作学号姓名年 龄 1aaa20 2bbb21 3ccc20关系数据模型的组成要素:l概念:域,笛卡儿积,关系。 侯选码:关系中的某一属性组的值能唯一地标识 一个元组,则称该属性组为侯选码。主码:若一个关系有多个侯选码,则选定

3、其中一 个为主码。 主属性:包含在侯选码中的诸属性称为主属性。 非主属性:不包含在任何侯选码中的属性称为非 主属性。关系:一组域上的笛卡儿积的子集给定一组域D1,D2,Dn,这些域中可以有相同的。 D1,D2,Dn的笛卡儿积为:D1D2Dn = (d1,d2,dn) | di Di, i=1,2,n其中,每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或 简称元组学号姓名年 龄 1aaa20 2bbb21 3ccc20关系数据结构:n 基本关系的性质n 关系规范化:n 规范化关系的最基本要求是每一个分量(列)必须是不可 再分的(第一范式)。n 关系数据库:n 所以实体之间的联系所

4、构成的关系的集合。n关系完整性:l 实体完整性:关系的主码不能为空。l 参照完整性:对两个关系R,S而言,如果R的属性(或属性组)F 与关系S的主码KS相对应,则称F是R的外码。列是同质的,即数据类型一样; 列顺序无关紧要; 任意两个元组(行)不能相同(完全); 分量(列)必须取原子值(不可再分); 不同的列(但数据类型基本相同)可出自同一域。姓名工资1工资2 张三500600 李四400500工资姓名工资 1工资 2 张三600500 李四500400n 用户定义的完整性:n 某一具体的数据库的属性及其关系所应满足的条件。 例如:年龄15,体重50Kg。 n 学号姓名年龄学历 1aaa 2b

5、bb 3ccc 4ddd 5eee学号数学英语化学 1 2 3 4 5主码(主键):学号侯选码(键):学号主属性:学号RSn关系操作关系模型给出了关系操作的能力和特点,但不 对DBMS的语言给出具体的语法要求。n关系语言的特点是高度非过程化。n关系操作能力是用两种方式表示的:关系代数和关系演 算,它们的功能是等价的。 例如:SELECT 姓名,年龄 FORM 学生表 WHERE 年龄 50 关系操作的能力常用关系代数表示1)选择(Selection)2)投影(Projection)3)连接 (Join)4)除(Division) 5)并(Union)6)交(Intersection)7)差(S

6、et Difference)8)关系操作方式的特点是集合 操作(一次一集合)关系代数运算符关系代数集合运算n集合(Set)n无重复、顺序无关 1,2,3n多重集合(Bag)n可重复、顺序无关 1,2,2,3,4n列表(List)n可重复、顺序相关 (1,2,3,4)n集合运算n并、交、差、广义笛卡儿积n二目运算集合运算并Union ()nR和S的并,RS,是在R或S或两者 中的元素的集合n一个元素在并集中只出现一次nR和S必须同类型(属性集相同、次 序相同,但属性名可以不同)RS集合运算并Union ()集合运算交Intersect ()nR和S的交,RS,是在R和S中都存 在的元素的集合n一

7、个元素在交集中只出现一次nR和S必须同类型(属性集相同、次 序相同,但属性名可以不同)RS集合运算交Intersect ()集合运算差Minus (-)nR和S的差,R-S,是在R中而不在S中 的元素的集合nR和S必须同类型(属性集相同、次序相 同,但属性名可以不同)R - S集合运算差Minus (-)集合运算笛卡儿积()n关系R、S的笛卡儿积是两个关系的元组 对的集合所组成的新关系集合运算笛卡儿积()集合运算除()集合运算除()关系代数专门的关系运算n选择、投影、连接、除法关系运算选择()从关系R中选择符合条件的元组构成新的 关系 F(R),表示从R中选择满足条件(使逻辑表 达式F为真)的

8、元组行的运算关系运算选择()n例: ssex = 男 AND sdep = IS(Student) 关系运算投影()从关系R中选择若干属性组成新的关系A1,A2,An(R),表示从R中选择属性集 A1,A2,An组成新的关系列的运算投影运算的结果中,也要去除可能的重复 元组关系运算投影()n例: ssex,sage(student)关系运算条件连接()n从RS的结果集中,选取在指定的属性 集上满足条件的元组,组成新的关系n是一个关于属性集的逻辑表达式nR S关系运算条件连接()两个表的运算属性在 结果表中都要出现关系运算等值连接()RS R.B=S.B关系运算自然连接( )n从RS的结果集中,

9、选取在某些公共属 性上具有相同值的元组,组成新的关系nR、S的公共属性n属性集的交集(名称及类型相同)n公共属性在结果中只出现一次n例: student sc关系运算自然连接( )RS两个表的运算属性在 结果表中只出现一个练习题1. 选择:是在指定的关系中,按给定的条件选取其中的 若干个元组,组成一个新的关系运算。记作:P(R)nP为布尔函数,可由运算对象(属性名、常数、简单 函数)、算术比较符合逻辑运算符连接起来的表达式组 成。n选择是单目运算n选择是从关系的水平方向(行)的角度进行运算n例:求计算机系CS的学生基本情况 DEP=CS(S)专门的关系运算2. 投影:是在指定的关系R中,根据从

10、左到右的次序,按 照指定的若干属性及它们的顺序取出各列,在删去结果 中重复元组,组成一个关系。记作:X(R)n X为选取的属性集合n投影是单目运算n投影是从关系的垂直方向上(列的调度)取子集n例:在关系S中选取学生姓名和所在系 SN,DEP(S)专门的关系运算n3. 连接:是从两个关系R、S的笛卡儿积中选取满足连接条件 的那些元组。记作:nXY为连接条件n当为“=”,称为等值连接n连接运算是二目运算n连接结果是一个(n+m)元运算专门的关系运算n4. 自然连接:对于关系R、S,在等值连接的情况下, 当连接属性X与Y具有相同的属性名时,则关系R与S的连 接称为自然连接。记作:R*Sn在自然连接构

11、成的结果关系中,相同的属性名不必 重复。n自然连接是组装关系的有效方法n例:求选修了G课程的学生姓名和成绩 SN,GRADE(#C(CN=G(C)*(SC)* S#,SN(S)专门的关系运算5. 除法:它使用除数关系S(Z)在被除数关系R(X,Y)中取 商关系,记作:RSnY和Z具有相同的属性数目,且对应属性出自相同的域n商关系是关系R在属性X上投影的一个子集n举例:n关系代数代数表达式的运算结果是一个关系n关系数据库的DML语言至少支持选取、投影和 连接三种运算专门的关系运算关系代数实例关系代数实例1n查询选修了2号课程的学生的学号n课程号、学号SC表关系代数实例1n2号课程的选课情况ncn

12、o=2(SC)关系代数实例1n选修2号课程的学号nsno(cno=2(SC)关系代数实例2n列出选修数学课的学生的学号、姓名以 及成绩n学号、姓名Student表n课程名称Course表n成绩SC表nStudent SCCourse关系代数实例2n数学课ncno = 数学 (Course)关系代数实例2关系代数实例2n选修数学课的记录nSC (cno = 数学 (Course)关系代数实例2n选修数学的学生记录nStudent (SC (cno = 数学 (Course)关系代数实例2n 选修数学的学生的学号、姓名、成绩 sno,sname,gradeStudent (SC (cno = 数学

13、 (Course)关系代数实例2练习ABC 123 456 789设有关系E1和E2,其中E2是从E1中经过关系运算 得到的结果,给出运算表达式BC 56 89E1E2练习n设有三个关系S,C,SC,将下列关系表达成汉语.学号姓名年龄性别籍贯9860 1张三 20女成都9860 2李四19男重庆S练习1.关系R,W,和D完成P48页作业已有下表S,C,SC完成下列问题完成下列问题n1.检索程军老师所教授的课程号(C#)和课程名(CNAME)n2.检索年龄大于21的男学生学号S#和姓名SNAME.n3.检索至少选修程军老师全部课程的学生姓名SNAMEn4.检索李强同学不学课程的课程号C#n5.检索至少选修两门课程的学生学号S#n6.检索全部学生都选修的课程的课程号C#和课程名CNAME.n7.检索选修课程包含程军老师所教授课程之一的学生学号(S#)n8.检索选修课程号为K1和K5的学生学号S#n9.检索选修全部课程的学生姓名SNAMEn10.检索选修课程包含学号为2的学生所修课程的学生学号S#n11.检索选修课程名为C怨言的学生学号和姓名.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号