关系数据模型及语言

上传人:豆浆 文档编号:50738607 上传时间:2018-08-10 格式:PPT 页数:61 大小:391.50KB
返回 下载 相关 举报
关系数据模型及语言_第1页
第1页 / 共61页
关系数据模型及语言_第2页
第2页 / 共61页
关系数据模型及语言_第3页
第3页 / 共61页
关系数据模型及语言_第4页
第4页 / 共61页
关系数据模型及语言_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《关系数据模型及语言》由会员分享,可在线阅读,更多相关《关系数据模型及语言(61页珍藏版)》请在金锄头文库上搜索。

1、第3章 关系数据模型及语言 关系数据库是以关系模型为基础的数据库。特 点:建立在严格的数学理论基础上;关系模型简单 、清晰;有较高的数据独立性;数据库语言非过程 化;可用于知识库、数据库机、分布式数据库、并 行数据库等领域。3.1关系模型一、关系的有关概念 1.关系与文件(比较) 在关系模型中,数据是以二维表的形式存在,这个二维表称为“关系”。如学生关系、课程关系、学习关系:在文件组织中,这些表格称为文件。术语对照:关系具有的特性:(1)每一列有不同的名字,但每一列属同一类型的 域值;不同列也可以出自相同的域; (2)任意两行不能全同; (3)每一数据项应为不可再分的数据单位; (4)行、列次

2、序无关; (5)具有主关键字唯一标识各个元组;2、关系的集合论定义定义1(关系框架): 关系框架R是表示关系的所有属 性A1,A2,Ak的有限集合。每个属性Aj对应一个值 域Di=d(Aj)(j=1,2,k),值域(简称为域)可以是任意 的非空有限集合或可数无限集合。定义2(关系): 关系框架R上的一个关系rR是它的 属性Aj(j=1,2,k)所对应的域d(Aj)构成的笛卡儿 乘积空间d(R)=d(A1)d(A2) d(Ak)中的一个子 集D。k称为关系rR的元数, D中的任一点称为关系rR 的一个元组。关系rR简记为r。属性Aj(j=1,2,k)又称为分量或坐标, R又称为乘积空间 d(R)

3、的坐标系。k元关系r的一个元组t 有k个分量,t=。当用t泛指关系r的任一元组时,称 t为r的元组变量。用集合符号表示:r= Dd(R) r=tt D 举例:有一关系框架FAMILY(MAN,WOMAN, CHILD),其中d(A1)=MAN=王平,李兵,d(A2)=WOMAN=丁燕,赵芳,d(A3)=CHILD=王一,李二。构成的笛卡儿乘积空间为:d(FMAILY)=d(A1)d(A2) d(A3),共有8个元组, 从其中取一个子集,得关系:所以,当值域为无限集合时,笛卡尔乘积空间d(R)也 是无限集合,则其中的子集可以是有限集合,也可以是无 限集合,对应的是有限关系和无限关系。 在计算机中

4、,只能存储有限关系。3、几个关键字术语 超关键字(Super key)在关系rR中,如果属性集合XR具有性质:“对r 的任何两个元组t、u,都有tXuX”,则称X为r的超 关键字。超关键字能唯一标识每个元组。例如:学号,年龄、学号,性别候选关键字(Candidate key)如果某一属性集合是超关键字,但去掉其中任一属 性后就不再是超关键字了,这样的属性集合称为候选关 键字。例如:学号、学号,课程号推论:候选关键字的属性集合中,不含有多余的属 性值;但属性集合中的每个属性并非都能唯一标识 元组。候选关键字必为超关键字,反之不一定成立。合成关键字(Composite key)当某个候选关键字包含

5、多个属性时,称该候选关 键字为合成关键字。主关键字(Primary key) 为关系组织物理文件时,常选用一个候选关键字作 为插入、删除、检索元组的操作变量。被选用的 那个候选关键字称为主关键字。 不在主关键字中的属性称为辅关键字或关键字。外部关键字(Foreign key) 如果关系r1的某一(些)属性A1不是r1的候选关键字 ,而是另一关系r2的候选关键字,则称A1为r1的外 部关键字。 合成关键字和外部关键字提供了一种表示两个关系 相互联系的方法。4、关系模式是对关系的描述。它描述了一个对象的静态结构, 用二维表框架(叫关系框架)表示。那么一个关系需要描述具体哪些方面呢?(1)有哪些属性

6、构成的?这些属性来自于哪些域?以 及属性与域之间的映象关系。(2)同一关系模式可对应出若干不同的关系,即关系 的值是可动态变化的,但这种变化必须满足一定的条 件,即完整性约束条件(通过对属性取值范围的限定 ,或通过属性间的相互关联反映出来)。所以,一个关系模式是个五元组r(R,D,d,F)。显然,关系模式是型,关系是它的值;关系模式是静态 的、稳定的,而关系是动态的,随时间不断变化的 。5、关系模型关系模型是所有的关系模式、属性名和关键字的 集合;即:若干关系框架的集合。一个关系模型描述了若干实体及其相互的联系。6、关系数据库对应于一个关系模型的所有关系的集合,称为关 系数据库。实际上,关系数

7、据库也有型与值之分:关系数据库的型称为关系数据库模式,是对关系 数据库的描述,包括域的定义以及在这些域上定义 的若干关系模式;关系数据库的值称为关系数据库,是这些关系模 式在某一时刻对应的关系的集合。二、关系模型的完整性规则(约束) 为了维护数据库中数据与现实世界的一致性,关系数据 库在定义和操作时要遵循四类完整性规则。 1、域完整性约束规定属性值必须取自于值域;一个属性是否为空 值由其语义决定。 2、实体完整性约束规定:组成主关键字的属性不能有空值,否则无法 识别元组。它主要考虑一个关系内部的制约。3、引用完整性约束考虑不同关系之间的制约。规定:在本关系中不允许引用不存在的元组。 4、用户自

8、定义完整性约束该规则是用户针对某一具体关系数据库的约束 条件,所以是特殊的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的 语义要求。3.2关系运算一、 关系代数三种运算符(、,、,、)1传统集合运算并:r1r2=t t r1tr2,结果是r1R、r2R的同类关系 差:r1-r2=ttr1tr2, 交:r1r2=t t r1tr2=r1-(r1-r2), 积:rs=tt=u,vurvs 是(k1+k2)元关系2.专门的关系运算选择:F(r)=t t rF(t)=“真” (F为选择条件,用逻辑表达式AjC 或AjAi表示) 投影:A(r)=uu=tAtrR AR 连接(-连接)

9、:rs=tt=u,vurvs uAivBj =AiBj(rs)Ai=Bj时为等接;自然连接:r s= tt=u,urvsuAik=vBjk =vS除 rs=u对每一元组vs都存在同一元组tr,使得 tQ=u且tS=v半连rs=R(r s)囿补=t|t(A1(r)A2(r)Ak(r)tr, 是有限关系对任何有限关系,经上述定义的关系代数运算,结 果仍是有限关系-称这些关系代数运算为囿代数运 算;只包含囿代数运算的关系代数称为囿关系代数.补=t|td(R)tr,关系框架为R, 可能是无限关系.对有限关系求补可能成为无限关系,故将包含补运算 的关系代数,称为非囿关系代数。注意:属性的值域一般是任意“

10、非空的有限集合”,但 也允许是“可数的无限集合”。当值域为无限集合时 ,d(R)笛卡尔乘积空间也是无限集合,则其中 的子集可以是有限集合,也可以是无限集合,对应 的是有限关系和无限关系。在计算机中,只能存储有限关系。3. 关系代数运算举例1) 关系代数运算关系的5种基本运算:并U、差、积 、投影、选择选择 关系的4种非基本运算:交、连接、除、囿补例 给出三个关系的模式:选课(学号,课号,成绩)必修课、选修课(课号, 课名)有三个具体关系:选课:学号 课号 成绩 必修课:课号 课名 S1 C1 A C1 C语言程序设计S1 C2 B C3 数据结构S1 C3 B S2 C1 AS2 C3 BS3

11、 C1 B S3 C3 B 选修课:课号 课名 S4 C1 A C2 软件工程S4 C2 AS5 C2 BS5 C3 B S5 C1 A 要求:选课必修课选课选修课2)关系代数查询表示(学号,课号)(选课) 必修课例 假设学生选课库的关系模式为:学生(学号,姓名,性别,年龄,所在系)课程(课程号,课程名,先行课)选课(学号,课程号,成绩)求:选修了课程号为“C1”的课程的学生学号;选修了课程号为“C3”的课程的学生学号和姓名;没有选修课程号为“C2”的课程的学生学号;选修课程号为“C1”或“C2”的课程的学生学号。二、关系演算用谓词作为变元表达查询的要求和条件1.元组演算以元组变量作为谓词变元

12、对象的关系运算。元组演算中,用演算表达式: t | (t) 表示关系。其中, (t)为公式(原子公式和运算符组成的),t为中唯一的自由元组变量。 ti C 或 C ti ti uj 其中,t、u是元组变量, 是算术比较运算符,C是常量 。ti、uj分别表示元组t的第i个分量、元组u的第j个 分量。1) 三种原子公式 r(t): r是关系名, t是元组变量。 r(t)表示:“t是关系r的元组”。所以,关系可用元 组演算表达式 t| r(t) 表示。2)全称量词()和存在量词()设是公式,t是中的元组变量,则 (t)()、(t)() 都是公式。(t): “对任意一个t”,或“对所有的t”。(t)(

13、): “对所有的t, 为真时,(t)()才为真 ,否则为假”。(t)() (t1)(t2) (tk) (t): “存在这样的t”,或 “至少有这样一个t”。(t)(): “若有一个t使 (t)() 为真,则 (t)() 为真, 否则为假”。(t)() (t1) (t2) (tk)3)公式中的运算符运算优先次序先括号;算术比较运算符;量词(、);逻辑运算符(、)元组关系演算公式:是由它的原子公式经有限次的算术 比较运算、逻辑运算、量词运算而形成的复合公式。4)举例 1 a 17 f 89 e 90 c 53 a 54 c 42 b 0求: r1=t r(t) s(t);r2=t r(t) t2=a;r3=t(u)(r(t)s(u)t1u3 t2 b ;r4=t(u)(r(u) t1=u3 t2=u1 。2. 域演算以域变量(元组变量的分量)作为谓词变元的关系运算。域演算表达式为: t1t2tk | (t1,t2,tk) 其中,t1,t2,tk为元组变量t的各个分量, 是域演算公式。1) 三种原子公式 r(t1t2tk) :“以t1,t2,

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

当前位置:首页 > 行业资料 > 其它行业文档

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