数据库关系代数_第1页
数据库关系代数_第2页
数据库关系代数_第3页
数据库关系代数_第4页
数据库关系代数_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

1、数据库原理及应用数据库原理及应用 李李 萍萍 第二章第二章 关系数据库关系数据库主要学习内容主要学习内容: :1. 1. 掌握关系模型的组成掌握关系模型的组成2. 2. 掌握关系代数掌握关系代数 2.1 关系数据结构及形式化定义关系数据结构及形式化定义一、关系模型的组成一、关系模型的组成1 1。关系数据结构。关系数据结构2 2。关系操作集合。关系操作集合3 3。关系完整性约束。关系完整性约束2.1 关系数据结构及形式化定义关系数据结构及形式化定义二、关系数据结构二、关系数据结构1 1。关系模型的数据结构只有单一的数据结构。关系模型的数据结构只有单一的数据结构关关系,其中逻辑结构为二维表系,其中

2、逻辑结构为二维表2 2。集合的角度定义关系的数据结构。集合的角度定义关系的数据结构域域 笛卡尔积笛卡尔积 元组元组 分量分量 ( (基数基数) )关系关系 单元关系单元关系 二元关系二元关系 ( (目或度目或度) )属性属性 候选码候选码 主码主码 主属性主属性 非主属性非主属性 全码全码2.1 关系数据结构及形式化定义关系数据结构及形式化定义二、关系数据结构二、关系数据结构2.1 关系数据结构及形式化定义关系数据结构及形式化定义3 3。关系模式(。关系模式(Relational Scheme)Relational Scheme)关系模式可以形式化地表示为:关系模式可以形式化地表示为: R(U

3、,D,DOM,F)R R 关系名关系名U U 组成该关系的属性名集合组成该关系的属性名集合D D 属性组属性组U U中属性所来自的域中属性所来自的域DOM DOM 属性向域的映象集合属性向域的映象集合F F 属性间的数据依赖关系集合属性间的数据依赖关系集合2.1 关系数据结构及形式化定义关系数据结构及形式化定义3 3。关系模式。关系模式关系模式通常可以简记为关系模式通常可以简记为 R (U) 或 R (A1,A2,An)nR: R: 关系名关系名nA A1 1,A A2 2,A An n : : 属性名属性名注:域名及属性向域的映象常常直接说明为注:域名及属性向域的映象常常直接说明为 属性的类

4、型、长度属性的类型、长度2.1 关系数据结构及形式化定义关系数据结构及形式化定义4 4。关系模式与关系。关系模式与关系 关系模式关系模式n对关系的描述对关系的描述n静态的、稳定的静态的、稳定的 关系关系n关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容n动态的、随时间不断变化的动态的、随时间不断变化的2.1 关系数据结构及形式化定义关系数据结构及形式化定义5 5。关系数据库。关系数据库 在一个给定的应用领域中,所有关系的集合构成一个在一个给定的应用领域中,所有关系的集合构成一个关系数据库关系数据库 关系数据库的关系数据库的型型与与值值 关系数据库的型:关系数据库的型:关系数据库模式

5、关系数据库模式 对关系数据库的描述。对关系数据库的描述。 关系数据库的值关系数据库的值: : 关系模式在某一时刻对应的关系的关系模式在某一时刻对应的关系的集合,简称为关系数据库集合,简称为关系数据库2.1 关系数据结构及形式化定义关系数据结构及形式化定义三、关系操作三、关系操作1 1。基本关系操作。基本关系操作 查询:除、并、交、差、笛卡尔积、选择、投影、连查询:除、并、交、差、笛卡尔积、选择、投影、连接接 数据更新:插入、删除、修改数据更新:插入、删除、修改2.1 关系数据结构及形式化定义关系数据结构及形式化定义三、关系操作三、关系操作2 2。关系数据语言。关系数据语言 关系代数语言关系代数

6、语言 用对关系的运算来表达查询要求用对关系的运算来表达查询要求 关系演算语言:用谓词来表达查询要求关系演算语言:用谓词来表达查询要求 元组关系演算语言元组关系演算语言谓词变元的基本对象是元组变量谓词变元的基本对象是元组变量 域关系演算语言域关系演算语言 谓词变元的基本对象是域变量谓词变元的基本对象是域变量 具有关系代数和关系演算双重特点的语言具有关系代数和关系演算双重特点的语言 代表:代表:SQLSQL(Structured Query LanguageStructured Query Language) 2.1 关系数据结构及形式化定义关系数据结构及形式化定义四、关系完整性四、关系完整性1

7、1。实体完整性。实体完整性3 3。用户自定义完整性。用户自定义完整性2 2。参照完整性。参照完整性2.1 关系数据结构及形式化定义关系数据结构及形式化定义四、关系完整性四、关系完整性2 2。参照完整性。参照完整性 外码外码设设F F是基本关系是基本关系R R的一个或一组属性,但不是关系的一个或一组属性,但不是关系R R的码。如果的码。如果F F与基本关与基本关系系S S的主码的主码K Ks s相对应,则称相对应,则称F F是基本关系是基本关系R R的的外码外码基本关系基本关系R R称称为为参照关系参照关系(Referencing RelationReferencing Relation)基本关

8、系基本关系S S称称为为被参照关系被参照关系(Referenced RelationReferenced Relation)或)或目标关系目标关系(Target RelationTarget Relation)2.1 关系数据结构及形式化定义关系数据结构及形式化定义四、关系完整性四、关系完整性2 2。参照完整性。参照完整性 外码外码例例:Student(sno,sname,sage,ssex):Student(sno,sname,sage,ssex) Course(cno,cname,cxuefen) Course(cno,cname,cxuefen) SC( SC(snosno, ,cnoc

9、no,grade),grade)例例: Student(sno,sname,sage,ssex,: Student(sno,sname,sage,ssex,sclassnosclassno) ) Class(classno ,classname,profession) Class(classno ,classname,profession)2.1 关系数据结构及形式化定义关系数据结构及形式化定义四、关系完整性四、关系完整性2 2。参照完整性。参照完整性 外码外码例例:Student(sno,sname,sage,ssex,:Student(sno,sname,sage,ssex,monitor

10、monitor) )集合集合运算运算符符- -并并差差交交笛卡尔积笛卡尔积比较比较运算运算符符 大于大于大于等于大于等于小于小于小于等于小于等于等于等于不等于不等于运算符运算符含义含义运算符运算符含义含义表表 关系代数运算符关系代数运算符 2.2关系代数关系代数专门专门的关的关系运系运算符算符 选择选择投影投影连接连接除除逻辑逻辑运算运算符符 非非与与或或2.2关系代数关系代数一、传统的集合运算一、传统的集合运算1。RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S 2.2关系代数关系代数2。R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|

11、tRtS 2.2关系代数关系代数3。RS 仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S)2.2关系代数关系代数4。RS = tr ts |tr R tsS 2.2关系代数关系代数二、专门的关系运算二、专门的关系运算1。选择F(R) = t|tRF(t)= 真查询信息系(IS系)全体学生 Sdept = IS (Student)或 5 =IS (Student)2.2关系代数关系代数二、专门的关系运算二、专门的关系运算2。投影从R中选择出若干属性列组成新的关系 A(R) = tA | t R 查询学生的姓名和所在系即求Student关系上学生姓名

12、和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)2.2关系代数关系代数二、专门的关系运算二、专门的关系运算3。连接从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符 等值连接(equijoin) 为“”的连接运算称为等值连接 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉一般连接 ABtr ts连接连接(续续) 等值连接等值连接 R R S S 的结果如下:的结果如下:R.B=S.B 自然连接自然

13、连接 R R S S的结果如下:的结果如下: 连接连接(续续)一般连接: R S的结果如下: CE 2.2关系代数关系代数二、专门的关系运算二、专门的关系运算3。连接例:Student(sno,sname,sex,sclass) SC(sno,cno,grade) Course(cno,cname,credit) Student SC Student SC Student.sno=SC.sno 2.2关系代数关系代数二、专门的关系运算二、专门的关系运算3。连接外连接如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。左外连接如果只

14、把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。 2.2关系代数关系代数二、专门的关系运算二、专门的关系运算3。连接2.2关系代数关系代数4 4。除。除给定关系给定关系R R ( (X X,Y Y) ) 和和S S ( (Y Y,Z Z) ),其中,其中X X,Y Y,Z Z为属性组。为属性组。R R中中的的Y Y与与S S中的中的Y Y可以有不同的属性名,但必须出自相同的域集。可以有不同的属性名,但必须出自相同的域集。R R与

15、与S S的除运算得到一个新的关系的除运算得到一个新的关系P(X),P P是是R中满足下列条件的元组在 X X 属性列上的投影:元组在属性列上的投影:元组在X X上分量值上分量值x x的象集的象集Y Yx x包包含含S S在在Y Y上投影的集合,记作:上投影的集合,记作: R RS S = =t tr r X X|t tr r R RY Y( (S S) ) Y Yx x Y Yx x:x x在在R R中的象集,中的象集,x x = =t tr r X X 2.2关系代数关系代数 例例66设关系设关系R R、S S分别为下图的分别为下图的(a)(a)和和(b)(b),R RS S的结果为图的结果

16、为图(c)(c) 2.2关系代数关系代数 在关系在关系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,c1),(b2,c3) 只有只有a1的象集包含了的象集包含了S在在(B,C)属性组上的投影属性组上的投影 所以所以 RS =a1 2.2关系代数关系代数:R与与S中元组之和中元组之和,去掉重复的去掉重复的:R:R与与S S中

17、共有的中共有的-:R-:R有但有但S S没有没有, ,也可以说成也可以说成R R减去减去R R与与S S的交的交:笛卡尔积笛卡尔积:选择满足条件的元组选择满足条件的元组:选择列选择列 :两个关系的自然连接两个关系的自然连接:R:R中最终属性的象集包含中最终属性的象集包含S S的投影的投影 例题例题 设设D1,D2 和和D3域的基数分别为域的基数分别为2,3和和4,则,则D1 D2 和和D3的笛卡尔积的元组数为的笛卡尔积的元组数为 ,每个元,每个元组有组有 个分量。个分量。 关系中的码分为关系中的码分为 。 学生关系中的班学生关系中的班级号级号属性与班级关系中的班级号属性与班级关系中的班级号主码

18、属性相对应,则班级号为学生关系的主码属性相对应,则班级号为学生关系的 。 专门的关系运算包括专门的关系运算包括_、_、_和和_四种。四种。例题例题 设一个关系模式为设一个关系模式为R(A,B,C),对应的关系内容为,对应的关系内容为R=1,10,50, 2,10,60, 3,20,72, 4,30,60,则则B(C70(R)的运算结果中包含有的运算结果中包含有_个元组,每个元组包含有个元组,每个元组包含有_个分量。个分量。 设有以下关系模式设有以下关系模式Student(sno,sname,sage,ssex,sdept)Course(cno,cname,ccredit,teacher)S-c(sno,cno,grade) 检索程军老师所授课程的课号与课名检索程军老师所授课程的课号与课名 检索年龄大于检索年龄大于21岁的男生学生的学号与姓名岁的男生学生的学号与姓名例题例题 查看选修了数据库的学生信息(学号、姓名、所查看选修了数据库

温馨提示

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

最新文档

评论

0/150

提交评论