[IT认证]第3章 关系数据库基本理论_第1页
[IT认证]第3章 关系数据库基本理论_第2页
[IT认证]第3章 关系数据库基本理论_第3页
[IT认证]第3章 关系数据库基本理论_第4页
[IT认证]第3章 关系数据库基本理论_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 关系数据库基本理论 4)关键字关键字关键字关键字: 用来标识某个记录的用来标识某个记录的一个或一组属性一个或一组属性。候选关键字候选关键字: 能作为关键字的属性可能不止一个,这些属性称为候选能作为关键字的属性可能不止一个,这些属性称为候选关键字:关键字: 学生(学生(学号学号,姓名,性别,年龄);,姓名,性别,年龄); 借书(借书(学号,书号学号,书号,日期);,日期); 学生选课(学生选课(学号,课程学号,课程).主关键字:能唯一标识某个记录主关键字:能唯一标识某个记录(元组元组)的候选关键字。的候选关键字。 次关键字:能识别多个记录的属性则称为次关键字次关键字:能识别多个记录的属性

2、则称为次关键字 。 主属性:关系中,候选关键字中的属性称为主属性。主属性:关系中,候选关键字中的属性称为主属性。非主属性:不包含在任何候选关键字中的属性称为非主属性。非主属性:不包含在任何候选关键字中的属性称为非主属性。1. 数据库中基本关系的性质数据库中基本关系的性质1)空关系:不包含元组的表。空关系:不包含元组的表。2)n度度关系:关系中有关系:关系中有n 个属性。个属性。3)属性取值:相同属性具相同域,即:相同的属性具相同的)属性取值:相同属性具相同域,即:相同的属性具相同的数据类型。数据类型。4) 关系中的列位置具有顺序无关性。关系中的列位置具有顺序无关性。5) 关系中的元组位置具有顺

3、序无关性。同一关系中不应有相同关系中的元组位置具有顺序无关性。同一关系中不应有相同的元组。的元组。6) 关系中每一个分量都必须是不可分的数据项。关系中每一个分量都必须是不可分的数据项。 7) 关系是随着操作动态变化。关系是随着操作动态变化。8)关系相等与关系的命名和属性的顺序无关。)关系相等与关系的命名和属性的顺序无关。关系运算运算不仅涉及关系的行也涉及列,有时需要比较与逻辑运算来辅助进行操作。1. 关系运算的定义关系运算的定义(1) 选择(选择(selection)运算)运算 选择运算指在关系选择运算指在关系r中选择满足给定条件的元组,中选择满足给定条件的元组,记作:记作:f(r)= t |

4、 t r f(t)= 真真 .其中:其中:f表示选择条件,它是一个逻辑表达式,取值为表示选择条件,它是一个逻辑表达式,取值为“真真”或或“假假”。f由逻辑运算符(非)、由逻辑运算符(非)、(与)和(与)和(或)连接各条件表达式组成。(或)连接各条件表达式组成。条件表达式的基本形式为:条件表达式的基本形式为:x1y1.其中:其中:是比较运算符,它可以是、是比较运算符,它可以是、中的一种;中的一种;x1和和y1是属性名、常量或简单函数;属性名也可以用它的序号来代替。是属性名、常量或简单函数;属性名也可以用它的序号来代替。选择运算是从行的角度进行的运选择运算是从行的角度进行的运算算n举例:举例:r为

5、为01级学生登记表,从级学生登记表,从01级学生登记级学生登记表中选出表中选出01级软件专业学生。级软件专业学生。n f(r)= t | t r 专业专业=软件软件.n专业专业=软件软件(r) 表示:表示:n专业专业=软件软件(r) 表示:表示:设学生课程数据库,其关系模式为:设学生课程数据库,其关系模式为: 学生(学生,姓名,年龄,所在系);学生(学生,姓名,年龄,所在系); 课程(课程号,课程名,学分);课程(课程号,课程名,学分); 选课(学号,课程号,成绩)选课(学号,课程号,成绩).【例【例3-1】用关系代数表示在学生课程数据库中查询计算机系的全】用关系代数表示在学生课程数据库中查询

6、计算机系的全体学生的操作。体学生的操作。 所在系所在系= 计算机系计算机系 (学生)(学生)【例【例3-2】用关系代数表示在学生课程数据库中查询年】用关系代数表示在学生课程数据库中查询年龄小于龄小于20岁的学生的操作。岁的学生的操作。年龄年龄20(学生)(学生)(2) 投影投影(projection)运算运算关系关系r上的投影操作是从关系上的投影操作是从关系r中选择出若干属性列,组成新的关系。中选择出若干属性列,组成新的关系。 设设r为一个为一个n元关系,元关系,r的投影操作定义为:的投影操作定义为: a(r)=ta|tr, 其中其中:a为为r属性集的子集,属性集的子集, ta表示元组表示元组

7、t中对应属性子集中对应属性子集a的分量。的分量。n投影操作主要是从列的角度进行运算投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)(避免重复行)【例【例3-3】在学生课程数据库中,查询学生的姓名和所在系。】在学生课程数据库中,查询学生的姓名和所在系。表示为:表示为:姓名,所在系姓名,所在系(学生)(学生)例、例、查询学生关系查询学生关系s中学生都来自哪些系中学生都来自哪些系 系名系名(s):系名系名csisma(3) 连接(连接(join)运算。)运算。连接是从两个关系的笛卡儿

8、积中选取属性间满足一定条件的元组。连接是从两个关系的笛卡儿积中选取属性间满足一定条件的元组。记作:记作:r s=tr ts| tr r ts s tr ats b. ab其中:其中: t为属性集,为属性集,a和和b分别为分别为r和和s上度数相等且可比的属性组,上度数相等且可比的属性组,是比较运算符。是比较运算符。连接运算从连接运算从r和和s的广义笛卡儿积的广义笛卡儿积rs中,选取符合中,选取符合ab条件的元组条件的元组,即选择在,即选择在r关系中关系中a属性组上的值与在属性组上的值与在s关系中关系中b属性组上的值满足属性组上的值满足比较操作比较操作的元组。的元组。等值连接表示为:等值连接表示为

9、:r s=tr ts| tr r ts s tr a=ts b. ab124578cd3162abcd123112624531456278317862abcd123112624562则属性则属性b,c称为连接属性,称为连接属性,bc为连接条件为连接条件如如 r s: rs : r bc s : rs=tr ts| tr rts strbtsc. a b自然连接是一种特殊的等值连接,它要求两个关系中自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。若把重复的属性列去掉。若r和和s具有相同的

10、属性组,则具有相同的属性组,则它们的自然连接可表示为:它们的自然连接可表示为:r s=tr ts| tr r ts s tr ats b.n一般的连接操作是从行的角度进行运算。一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。 abrsabca1b15a1b26a2b38a2b412beb13b27b310b32b52rsar.bcs.bea1b15b27a1b15b310a1b26b27a1b26b310a2b38b310 r s cear.bcs.bea1b15b13a1b26b27a

11、2b38b310a2b38b32 等值连接等值连接 r s r.b=s.b abcea1b153a1b267a2b3810a2b382 自然连接自然连接 r s 【例【例3-4】设学生和选课关系中的数据如下,学生与选】设学生和选课关系中的数据如下,学生与选课之间的笛卡儿积、等值连接和自然连接的结果如表课之间的笛卡儿积、等值连接和自然连接的结果如表所示。所示。(4) 除(除(division)运算)运算给定关系给定关系r (x,y) 和和s (y,z),其中其中x,y,z为属性组。为属性组。r中的中的y与与s中的中的y可以有不同的属性名,但必须出自相同的域集。可以有不同的属性名,但必须出自相同的

12、域集。t=rst的属性由的属性由r中不出现在中不出现在s的属性组成,其元组由的属性组成,其元组由s中所有元组在中所有元组在r中对应值相同的元组组成。中对应值相同的元组组成。除操作是同时从行和列角度进行运算除操作是同时从行和列角度进行运算rsabca1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1bcdb1c2d1b2c1d1b2c3d2rsaa1rs在关系在关系r中,中,a可以取四个值可以取四个值a1,a2,a3,a4l a1的象集为的象集为 (b1,c2),(b2,c3),(b2,c1)la2的象集为的象集为 (b3,c7),(b2,c3)la3的象集为的象

13、集为 (b4,c6)la4的象集为的象集为 (b6,c6)s在在(b,c)上的投影为上的投影为 (b1,c2),(b2,c1),(b2,c3) 只有只有a1的象集包含了的象集包含了s在在(b,c)属性组上的投影属性组上的投影所以 rs =a1 【例【例3-5】给出选课、选修课和必修课】给出选课、选修课和必修课3个关系,它们的关系模式为:个关系,它们的关系模式为: 选课选课(学号,课号,成绩学号,课号,成绩);选修课;选修课(课号,课名课号,课名);必修课;必修课(课号,课课号,课名名). 注:表中,选课表左边大括号和数码注:表中,选课表左边大括号和数码为按为按“选课选课必修课必修课”运算对选课

14、表的元组进行分组及编码的结果;选课表右边大括号和运算对选课表的元组进行分组及编码的结果;选课表右边大括号和数码数码为按为按 学号,课号学号,课号(选课)(选课)必修课必修课学生选课库的关系模式为:学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系);学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课);课程(课程号,课程名,先行课); 选课(学号,课程号,成绩)选课(学号,课程号,成绩).【例【例3-6】求选修了课程号为】求选修了课程号为“c2”课程的学生学号。课程的学生学号。【例【例3-7】求选修了课程号为】求选修了课程号为“c2”课的学生学号和姓名。课的学生

15、学号和姓名。【例【例3-8】求没有选修课程号为】求没有选修课程号为“c2”课程的学生学号。课程的学生学号。学号(学号(课程号课程号= c2(选课)(选课)学号,姓名(学号,姓名(课程号课程号= c2(选课学生)(选课学生)学号(学生)学号(学生)-学号(学号(课程号课程号= c2(选课)(选课)本题不能写为:本题不能写为:学号(学号(课程号课程号 c2(选课)(选课)【例【例3-93-9】求既选修】求既选修“c2”c2”课程,又选修课程,又选修“c3”c3”课程的学生学号。课程的学生学号。【例【例3-103-10】求选修课程号为】求选修课程号为“c2”c2”或或“c3”c3”课程的学生学号。课

16、程的学生学号。【例【例3-11】求选修了全部课程的学生学号。】求选修了全部课程的学生学号。【例【例3-12】一个学号为】一个学号为“98002”的学生所学过的所有课程可能也被其的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。他学生选修,求这些学生的学号和姓名。学号(学号(课程号课程号= c2 选课)选课)学号(学号(课程号课程号= c3(选课)(选课)该题不能写为:该题不能写为:学号(学号(课程号课程号=c2 课程号课程号=c3(选课)(选课)学号(学号(课程号课程号=c2(选课)(选课)学号(学号(课程号课程号=c3(选课)(选课)或或 学号(学号(课程号课程号=c2 课

17、程号课程号=c3(选课)(选课)(学号,课程号学号,课程号 选课选课)课程)课程)学号,姓名(学号,姓名(学号,课程号(选课)学号,课程号(选课) 课程号(课程号(学号学号= 98002(选课)(学生)(选课)(学生) e-re-r图图 1 1、设有商店和顾客两个实体型,、设有商店和顾客两个实体型,“商店商店”有属性商店编号、商店名、地址、电话有属性商店编号、商店名、地址、电话; ;“顾客顾客”有属性顾客编号、姓名、地址、年龄、性别。有属性顾客编号、姓名、地址、年龄、性别。 假设假设: :一个商店有多个顾客购物,一个商店有多个顾客购物, 一个顾客可以到多个商店购物,一个顾客可以到多个商店购物, 顾客每次去商店购物有一个消费金额和日期,而且规定每顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。个顾客在每个商店里每天最多消费一次。试画出试画出e-re-r图,并注明属性和联系类型。图,并注明属性和联系类型。2 2、某医院病房计算机管理中需要如下信息:、某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话科室:科名,科地址,科电话病房:病房号,床位数病房:病房号,床位数医生:姓名,职称,年龄,工作证号医生:姓名,职称,年龄,工作证号病人:病历号,姓名,性别,病人:病历号,姓名,性别, 其中,一个科室有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论