[IT认证]第3章 关系数据库基本理论.ppt

上传人:音乐台 文档编号:1995467 上传时间:2019-01-29 格式:PPT 页数:34 大小:1.24MB
返回 下载 相关 举报
[IT认证]第3章 关系数据库基本理论.ppt_第1页
第1页 / 共34页
[IT认证]第3章 关系数据库基本理论.ppt_第2页
第2页 / 共34页
[IT认证]第3章 关系数据库基本理论.ppt_第3页
第3页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[IT认证]第3章 关系数据库基本理论.ppt》由会员分享,可在线阅读,更多相关《[IT认证]第3章 关系数据库基本理论.ppt(34页珍藏版)》请在三一文库上搜索。

1、,第3章 关系数据库基本理论,1. 关系的数学定义 域(Domain)的定义:对应于实体中的属性,是一组具有相同数据类型的值的集合。 2) 笛卡儿积(Cartesian Product)的定义:给定一组域D1,D2,Dn,这些域中可以有相同的部分, 则笛卡儿积为:D1D2Dn =(d1,d2,dn)di Di,i1,2,n.其中每一个元素(d1,d2,dn )称为一个n元组(n-Tuple),简称元组(Tuple)。元素中的每一个值 di 称作一个分量(Component)。, 3.1 关系的定义, 3.1.1 关系数据结构,即,每列对应一个域。例如给出三个域: D1 = 姓名 = 王平,李丽

2、,张晓刚; D2 = 性别 = 男,女; D3 = 年龄 = 19,20. 3) 关系(Relation)的定义:D1 D2 Dn的子集称作在域D1,D2,Dn上的关系,表示为: R(D1,D2,Dn). 这里:R表示关系的名字,n是关系的目或度(Degree)。,4)关键字 关键字: 用来标识某个记录的一个或一组属性。 候选关键字: 能作为关键字的属性可能不止一个,这些属性称为候选关键字: 学生(学号,姓名,性别,年龄); 借书(学号,书号,日期); 学生选课(学号,课程). 主关键字:能唯一标识某个记录(元组)的候选关键字。 次关键字:能识别多个记录的属性则称为次关键字 。 主属性:关系中

3、,候选关键字中的属性称为主属性。 非主属性:不包含在任何候选关键字中的属性称为非主属性。, 3.1.2 关系的性质 1. 数据库中基本关系的性质 空关系:不包含元组的表。 2)N度关系:关系中有N 个属性。 3)属性取值:相同属性具相同域,即:相同的属性具相同的数据类型。 4) 关系中的列位置具有顺序无关性。 5) 关系中的元组位置具有顺序无关性。同一关系中不应有相同的元组。 6) 关系中每一个分量都必须是不可分的数据项。 7) 关系是随着操作动态变化。 8)关系相等与关系的命名和属性的顺序无关。,2. 关系模式(Relation Schema)的定义 关系模式通常可以简单记为: R(U)或

4、R(A1,A2,An). 其中:R为关系名,A1,A2,An为属性名。 3. 关系数据库 在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。,1) 集合运算符:(并运算),(差运算),(交运算),(广义笛卡儿积)。 2) 专门的关系运算符:(选择),(投影),(连接),(除)。 3) 比较运算符:(大于),(大于等于),(小于),(小于等于),(等于),(不等于)。 4) 逻辑运算符:(非),(与),(或)。 3.2.1 传统的集合运算 设关系R和S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域。 1. 并(Union)运算 RS=t| t

5、R t S. R和S并的结果仍为n目关系,其数据由属于R或属于S的元组组成。, 3.2 关系代数,2. 差(Difference)运算 R S = t | t R t S. R和S差运算的结果关系仍为n目关系,其数据由属于R而不属于S的所有元组组成。 3. 交(Intersection)运算 RS = t | tR t S . R和S交运算的结果关系仍为n目关系,其数据由既属于R同时又属于S的元组组成。 关系的交可以用差来表示,即:RS = R(RS) . 4. 广义笛卡儿积(Extended Cartesian Product)运算,2. 差(Difference)运算 R S = t |

6、t R t S. R和S差运算的结果关系仍为n目关系,其数据由属于R而不属于S的所有元组组成。 3. 交(Intersection)运算 RS = t | tR t S . R和S交运算的结果关系仍为n目关系,其数据由既属于R同时又属于S的元组组成。 关系的交可以用差来表示,即:RS = R(RS) . 4. 广义笛卡儿积(Extended Cartesian Product)运算,关系运算运算不仅涉及关系的行也涉及列,有时需要比较与逻辑运算来辅助进行操作。 1. 关系运算的定义 (1) 选择(Selection)运算 选择运算指在关系R中选择满足给定条件的元组, 记作:F(R)= t | t

7、 R F(t)= 真 . 其中:F表示选择条件,它是一个逻辑表达式,取值为“真”或“假”。F由逻辑运算符(非)、(与)和(或)连接各条件表达式组成。 条件表达式的基本形式为:X1Y1. 其中:是比较运算符,它可以是、中的一种;X1和Y1是属性名、常量或简单函数;属性名也可以用它的序号来代替。, 3.2.2 基本的关系运算,选择运算是从行的角度进行的运算,举例:R为01级学生登记表,从01级学生登记表中选出01级软件专业学生。 F(R)= t | t R 专业=软件. 专业=软件(R) 表示: 专业=软件(R) 表示:,设学生课程数据库,其关系模式为: 学生(学生,姓名,年龄,所在系); 课程(

8、课程号,课程名,学分); 选课(学号,课程号,成绩). 【例3-1】用关系代数表示在学生课程数据库中查询计算机系的全体学生的操作。 所在系= 计算机系 (学生) 【例3-2】用关系代数表示在学生课程数据库中查询年龄小于20岁的学生的操作。 年龄20(学生),(2) 投影(Projection)运算 关系R上的投影操作是从关系R中选择出若干属性列,组成新的关系。 设R为一个n元关系,R的投影操作定义为: A(R)=tA|tR, 其中:A为R属性集的子集, tA表示元组t中对应属性子集A的分量。,投影操作主要是从列的角度进行运算,但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重

9、复行),【例3-3】在学生课程数据库中,查询学生的姓名和所在系。 表示为:姓名,所在系(学生),例、查询学生关系S中学生都来自哪些系 系名(S):,(3) 连接(Join)运算。 连接是从两个关系的笛卡儿积中选取属性间满足一定条件的元组。记作: R S=tr ts| trR tsS tr Ats B. AB 其中: t为属性集,A和B分别为R和S上度数相等且可比的属性组,是比较运算符。 连接运算从R和S的广义笛卡儿积RS中,选取符合AB条件的元组,即选择在R关系中A属性组上的值与在S关系中B属性组上的值满足比较操作的元组。 等值连接表示为: R S=tr ts| trR tsS tr A=ts

10、 B.,则属性B,C称为连接属性,BC为连接条件,如 R,S:,RS :,R BC S :,RS=tr ts| trRtsStrBtsC.,A B 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。若R和S具有相同的属性组,则它们的自然连接可表示为: R S=tr ts| trR tsS tr Ats B.,一般的连接操作是从行的角度进行运算。,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,R,S,R S,等值连接 R S,自然连接 R S,【例3-4】设学生和选课关系中的数据如下,学生与选课之间的笛卡儿积、等值连接

11、和自然连接的结果如表所示。,(4) 除(Division)运算 给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。 T=RS T的属性由R中不出现在S的属性组成,其元组由S中所有元组在R中对应值相同的元组组成。 除操作是同时从行和列角度进行运算,R,S,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6) S在(B,C)上的投影为 (b1,c2),(b2,c

12、1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影 所以 RS =a1,【例3-5】给出选课、选修课和必修课3个关系,它们的关系模式为: 选课(学号,课号,成绩);选修课(课号,课名);必修课(课号,课名).,注:表中,选课表左边大括号和数码为按“选课必修课”运算对选课表的元组进行分组及编码的结果;选课表右边大括号和数码为按 学号,课号(选课)必修课,学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩). 【例3-6】求选修了课程号为“C2”课程的学生学号。 【例3-7】求选修了课程号为“C2”课的

13、学生学号和姓名。 【例3-8】求没有选修课程号为“C2”课程的学生学号。, 3.2.3 用关系代数表示检索的例子,学号(课程号= C2(选课),学号,姓名(课程号= C2(选课学生),学号(学生)-学号(课程号= C2(选课) 本题不能写为:学号(课程号 C2(选课),【例3-9】求既选修“C2”课程,又选修“C3”课程的学生学号。 【例3-10】求选修课程号为“C2”或“C3”课程的学生学号。 【例3-11】求选修了全部课程的学生学号。 【例3-12】一个学号为“98002”的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。,学号(课程号= C2 选课)学号(课程号= C3

14、(选课) 该题不能写为: 学号(课程号=C2 课程号=C3(选课),学号(课程号=C2(选课)学号(课程号=C3(选课) 或 学号(课程号=C2 课程号=C3(选课),(学号,课程号 选课)课程),学号,姓名(学号,课程号(选课) 课程号(学号= 98002(选课)(学生),E-R图 1、设有商店和顾客两个实体型, “商店”有属性商店编号、商店名、地址、电话; “顾客”有属性顾客编号、姓名、地址、年龄、性别。 假设:一个商店有多个顾客购物, 一个顾客可以到多个商店购物, 顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 试画出E-R图,并注明属性和联系类型。,习题,2、某医院病房计算机管理中需要如下信息: 科室:科名,科地址,科电话 病房:病房号,床位数 医生:姓名,职称,年龄,工作证号 病人:病历号,姓名,性别, 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个,一个病房可以住多个病人。 试设计该计算机管理系统的E-R图。,二.选择题 3.设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( ),B),C),A),

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1