[工学]数据库2章

上传人:油条 文档编号:33595486 上传时间:2018-02-16 格式:PPT 页数:36 大小:287KB
返回 下载 相关 举报
[工学]数据库2章_第1页
第1页 / 共36页
[工学]数据库2章_第2页
第2页 / 共36页
[工学]数据库2章_第3页
第3页 / 共36页
[工学]数据库2章_第4页
第4页 / 共36页
[工学]数据库2章_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《[工学]数据库2章》由会员分享,可在线阅读,更多相关《[工学]数据库2章(36页珍藏版)》请在金锄头文库上搜索。

1、2.1 关系数据库的基本概念,2.2 关系模型及其描述,2.3 关系代数,2.4 关系演算,第二章 关系数据库,本章小结,2.1 关系DB的基本概念,一、关系及其性质1)域: 定义2.1: 域是一组具有相同数据类型的值的集合。2)笛卡尔积 定义2.2: 给定一组域 D1,Dn (可有相同的域)。其笛卡尔积为: DlXD2XXDn=(d1,d2,dn)| diDi,i=1,2,n,设:Di的基数为mi (Di中元素的个数) n 则:DlXD2XXDn的基数M= mi i=1,例:姓名集D1=a,b,c 性别集D2=0,1,D1XD2:,a 0b 0 c 0a 1b 1c 1,2.1 关系DB的基

2、本概念,3)关系定义2.3:笛卡尔积的有限子集称作对应域上的关系。关系:是元组的集合。R(D1,D2, ,Dn)R是n元(目)关系4)术语:候选码主码、主属性非主属性(非码属性)全码,S(Sno,Cardno,Sname,Sage)SC(Sno,Cno,Grade),主码,主属性,非主属性,SCT(Sno,Cno,Tno),2.1 关系DB的基本概念,5)关系的性质:(1)每列的值为同一类型。(2)每列具有不同的属性名(可同域) (3)任意两元组不能完全相同。(4)行的次序可以互换。 (5)列的次序可以互换。 (6)分量值是原子的。,+5?,学号 姓名 年龄,; 网虫?,不允许,元组,分量值,

3、属性名,关系的类型 : 基本关系 查询表 视图表,2.1 关系DB的基本概念,二、关系模式与关系数据库 定义2.4: 关系的描述称关系模式,表示为: R(U,D,dom,F),简记为关系的属性名表: R(U) =R(A1 ,A2,A3,.An) 例:学生(学号,姓名,总成绩)关系数据库: 对应关系模型的一个应用领域的全部关系的集合。联系:,域名集,属性名集,属性间的依赖关系集,属性向域的映像集,2.2 关系模型及其描述,1.关系模型的特点及组成 特点:结构简单,表达力强 语言的一体化 非过程化的操作 坚实的数学基础 操作效率较低 组成:关系数据结构关系数据操作关系完整性约束,关系DB系统 是支

4、持关系模型的DB系统2. 关系模型的数据操作 (1)数据查询 (2)数据插入 (3)数据删除 (4)数据修改,2.2 关系模型及其描述,3. 关系的完整性三类完整性约束:实体完整性参照完整性用户定义的完整性,说明:(1)该规则是对基本关系的约束和限定。(2)实体有唯一性标识主码。(3)主码属性不能取空值。,1、实体完整性规则2.1 实体完整性规则 :若属性A是基本关系R的主码属性,则属性A不能取空值。,由关系系统自动支持,是应用领域需要遵循的约束条件,2.2 关系模型及其描述,2、参照完整性引用关系:关系中的某属性的值需要参照另一关系的属性来取值。例1:学生(学号,姓名,性别,专业号,年龄)

5、专业(专业号,专业名),例2: 学生(学号,姓名,性别,专业号,年龄,合作者号),引用,引用,2.2 关系模型及其描述,定义2.5 :设:基本关系R、S(可为同一关系)。若F是R的一个(组)属性,但不是R的码。如果F与S的主码 K相对应,则称F是R的外码。,例:学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名),目标关系,参照关系,外码,说明:S的主码K和R的外码F必须定义在同一个(组)域上 R为参照关系,S为目标关系。,2.2 关系模型及其描述,规则2.2 参照完整性规则 若属性(组) F是R的外码它与S的主码K相对应, 则对于R中每个元组在F上的值必为下列之一: (1)取空值(

6、F的每个属性值均为空); (2)等于S中某个元组的主码值。例:学生(学号,系号,姓名,.)关系中每个元组的系号取值: (1)空值(未知值); (2)非空值。,3、用户定义的完整性反映具体应用所涉及的数据应满足的语义要求、约束条件。,定义了外码与主码之间的引用规则。指外码不能引用不存在的主码值。,完整性,2.3 关系代数,关系数据语言分类:1)关系代数 2)关系演算元组关系演算域关系演算3)具有双重特点的语言(SQL)共同特点是:具完备的表达能力是非过程化的集合操作语言功能强可嵌入、又可独立使用,2.3 关系代数,关系代数是一种抽象的查询语言。它以关系为运算对象,通过对关系进行“组合”或“分割”

7、,得到所需的数据集合关系。分类:集合运算(并、交、差;广义笛卡尔积) 关系运算及其扩充,2.3.1 集合运算设:t 为元组变量;R、S为同类(相同元、相应属性同域)关系;下列运算结果为同类关系:1.并运算: RUS =t |(tR)(t S)2.差运算: RS=t |(tR)(t S) 3.交运算: RS=t |(tR)(t S) RS= R(RS),2.3 关系代数,集合运算示例,2.3 关系代数,4.广义笛卡尔积:设:R、S为不同类关系,则结果为不同类关系:RS=tr ts|(trR)(ts S),连接为 m+n元关系,n元关系,m元关系,2.3 关系代数,记号:设t为R的元组变量设:R(

8、A1,A2,An)=R(U)tAi (Ai为属性)tA (A为属性集)例:t 学号 -R中学号上的值 t 学号,姓名,学号 姓名 年龄,t,2.3 关系代数,2.3.2 关系运算1. 选择 () :是关系行上的选择,产生同类关系。 F(R)=t |(tR) F( t )=true含义:由R中满足F条件的元组组成。其中:F由属性名(值)、比较符、逻辑运算符组成。例: Sage19(Student)例: A25 A3 “f”(R),2.3 关系代数,2. 投影运算():是关系列的选择,产生不同类关系 A(R)=tA |(tR) 含义: R中取属性名表A中指定 的列,消除重复元组。,例: Sno,C

9、no(SC)用关系代数表示查询:例:查选2号课程的学生记录。例: 成绩在90分以上的学生号。,2.3 关系代数,3. 连接运算:连接也称为连接。它从两个关系的笛卡尔积中选取属性间满足一定条件的元组。R S=tr ts|(trR)(ts S) trA tsB AB,比较运算符,大于连接:为“”的连接。等值连接:为“=”的连接。 R S= R. A = S. B(RS) A=B,例:,= R. A S. B(RS)含义:从R S中选取R关系在A属性组上的值与S关系在B属性组上值满足关系的元组。,2.3 关系代数,3. 连接运算:自然联接:设R、S有同名属性 Bi ( i=1,2.k) RS=属性名

10、表 (R.Bi=S.Bi (RS),例:,2.3 关系代数,例:查不选002号课程的学生姓名与年龄。,Cno002 ?,sname,age(S)- sname,age(S cno=002 (SC),例:查询至少选修了两门课程的学生学号。,sno(1=425(SCSC),2.3 关系代数,4. 除:设关系R(X,Y)和S(Y,Z),X,Y,Z为属性组RS=tX| t R y(S) Yxi (i=1,2,) , X(R) y(S) Yxi为xi在R中的象集: 对于每个值xi, xi X(R) 求: y (X=xi (R) 结果为:象集Yxi包含了 y(S)的xi。,2.3 关系代数,例:查所选课程

11、包含学生210101所选全部课程的学生号和姓名。,( sno,cno(SC) cno (sno=210101 (SC), sno,sname( S) ,例:查询选修了全部课程的学生学号与姓名。, sno,sname( S) ,( sno,cno(SC) cno ( (C),设学生-课程数据库(S、SC、C),2.3 关系代数,关系代数五种基本运算: 投影,选择,并,差,笛卡尔积5种基本运算的作用:1)关系的属性指定 A1 , A2 , , An (R)2)关系的元组选择 F (R),3)两个关系的归并 R1R24)关系中元组的插入 R1R25)关系中元组的删除 R1R2,非基本运算用基本运算来

12、表示: 1. 交:RS=R-(R-S) 2. 连接 R S =im+j(RS)(设R为m元、S为n元关系) ij R S = i1,i2,im(R.A1=S.A1R.Ak=S.Ak(RS),2.3 关系代数,5. 扩充的关系运算: (1) 广义投影 : E1, E2 En(R),(2) 赋值: R - S,(3) 外连接 : R和S自然连接时,保留原该舍弃的元组, 同时在这些元组新增加的属性上填空值(NULL),(4) 半连接:R和S的自然连接只在关系R(或关系S)的 属性集上的投影。 R和S的半连接记为R S,(5) 聚集: G 聚集函数名(属性) (关系表达式),5. 扩充的关系运算,(6

13、)外部并:由R和S中的所有属性(无重复)组成, 其元组由属于R或属于S的元组组成, 并在增加的属性填上空值。 说明:R、S可不同类,例:,5. 扩充的关系运算,例:,(7)重命名 x(E):返回表达式E的结果,并把名字x赋给E。 x(A1,A2,An)(E): 其含义为返回表达式E的结果,并把名字x赋给E, 同时将各属性更名为A1,A2,An。, ( 课程=数学 S(R) R.成绩S.成绩,S.姓名(,),(课程=数学姓名=王红(R),例: 设R(姓名,课程,成绩),求数学成绩比王红高的学生名,2.4 关系演算,(1)元组关系演算中的原子公式 R(t) 表示: t是关系R的一个元组,关系演算:以谓词演算为基础表示的关系运算。关系演算分类元组关系演算域关系演算1. 元组关系演算 用t|(t)表示关系,命题公式,元组变量,表示所有使得为真的元组组成的集合。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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