tj第二章关系数据模型

上传人:宝路 文档编号:3576943 上传时间:2017-08-05 格式:PPT 页数:64 大小:2.15MB
返回 下载 相关 举报
tj第二章关系数据模型_第1页
第1页 / 共64页
tj第二章关系数据模型_第2页
第2页 / 共64页
tj第二章关系数据模型_第3页
第3页 / 共64页
tj第二章关系数据模型_第4页
第4页 / 共64页
tj第二章关系数据模型_第5页
第5页 / 共64页
点击查看更多>>
资源描述

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

1、1,第二章 关系数据模型,2,2.1 关系(Ralation),关系是行与列交叉的二维表。关系中的一个元组对应表中的一行,关系中的属性对应表中的一列,每一个属性有一个取值范围。称为属性域。,3,关系模式,关系的描述称作关系模式。包括关系名、属性名、属性域、属性向域的映象、属性间的数据依赖关系等。记作R(A1 , A2 , An ) 属性向域的映象一般直接说明为属性的类型、长度等某一时刻对应某个关系模式的内容(元组的集合)称作关系关系模式是型,是稳定的关系是某一时刻的值,是随时间不断变化的,4,关系的性质,列是同质的即每一列中的分量来自同一域,是同一类型的数据每列必须有不同的属性名行、列的顺序无

2、关紧要任意两个元组不能完全相同每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式(1NF)的,5,属性的数据类型,数据库系统一般支持的数据类型:数值:可以进行算术运算的数据字符:是由任何字符或符号组成的字符串例如:姓名、地址、编号等日期:是按照特定格式存储的日期数据。逻辑:逻辑型数据只能有真、假两个值。,6,2.2码,超码候选码主码,7,超码:是唯一标识一个元组的属性或属性组。,8,候选码:是最小的超码,它的任意真子集都不能成为超码。,9,主码:在一个关系中可以有多个候选码,选取一个作为主码,10,11,2.3关系数据库的联系,外码:设是关系的一个或一组属性,且的值与关系的主码的

3、值相对应,则称是的外码。,12,13,2.4 关系完整性规则,实体完整性关系的主码不能取空值(NULL)参照完整性外码必须是被参照关系主码的有效值,或者是“空值”,14,用户定义的完整性用户针对具体应用环境定义的完整性约束条件如“学号”要求是8位整数, “性别”要求取值为“男”或“女”系统支持实体完整性和参照完整性由系统自动支持系统提供定义和检验用户定义的完整性的机制,15,2.5 数据字典和系统目录,数据字典中包括数据库中表的结构信息、索引、用户、安全性和完整性约束等,16,17,18,关系数据语言概述,关系数据语言的特点一体化一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言

4、,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG,有对记录的操作,有对系的操作非过程化用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成面向集合的存取方式操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式,19,关系数据语言概述,抽象的查询语言关系代数用对关系的运算来表达查询,需要指明所用操作关系演算用谓词来表达查询,只需描述所需信息的特性元组关系演算谓词变元的基本对象是元组变量域关系演算谓词变元的基本对象是域变量,20,关系数据语言概述,具体系统中的实际语言SQL介于关系代数和关系演算

5、之间,由IBM公司在研制System R时提出QUEL基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现QBE基于域关系演算,由IBM公司研制,21,2.6关系代数,一种抽象的查询语言用对关系的运算来表达查询,22,关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类,23,集合运算符将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算符不仅涉及行而且涉及列算术比较符辅助专门的关系运算符进行操作逻辑运算符辅助专门的关系运算符进行操作,24,关系代数运算符,25,2.6.1 选择,在关系中选择满足给定条件的元组,构成一个新的关系.记作: 条件表达

6、式 (R),选择运算是从行的角度进行的运算,26,设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,Student,Course,SC,27,选择(续),例 查询年龄小于20岁的学生 Sage 20(Student) 或 4 20(Student)结果:,28,选择(续),例 查询信息系(IS)并且年龄为19岁全体学生 Sdept = IS age19 (Student)或 5 =IS 419 (Student)结果:,29,2.6.2 投影,从关系中选择出若干属性列组成一个新的关系投影的结果将消除重复的元组 A ,B (R) 投影操作主要是从列的角度

7、进行运算,30,投影(续),例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)结果:,31,例4 查询学生关系Student中都有哪些系 Sdept(Student)结果:,投影(续),32,2.6.3 并,关系R 和关系S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 运算结果仍为n目关系,由属于R或属于S的元组组成消除重复元组,33,并(续),R,S,RS,34,并(续),35,2.6.4 差,关系R和关系S具有相同的目n相应的属性取自同一个域R - S 运算结果仍为

8、n目关系,由属于R而不属于S的所有元组组成,36,差(续),R,S,R-S,37,差(续),38,4. 广义笛卡尔积,关系Rn目关系,k1个元组关系Sm目关系,k2个元组RS 运算结果列:n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组,39,广义笛卡尔积 (续),R,S,R S,40,广义笛卡尔积 (续),41,3. 交(Intersection),关系R 和关系S具有相同的目n相应的属性取自同一个域 RS运算结果仍为n目关系,由既属于R又属于S的元组组成. RS = R (R-S),42,交 (续),R,S,R S,43,交 (续),44,2.

9、6.7 连接,1. 连接 含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 A和B:分别为R和S上度数相等且可比的属性组:比较运算符,= RA SB( RS),为“”的连接运算称为等值连接,45,连接(续),2.自然连接 自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R 和 S 具有相同的属性组B自然连接与等值连接的不同,46,连接(续),举例 例5,R,S,R S,R S,47,连接(续),R S,48,连接(续),R S,49,连接(续),R S,50,51,2.6.9 除,除操作是同时从行和列角度进行运算例:在选课关系

10、中同时选修C101和C104两门课的学号,52,除(续),R,S,53,应用:设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,Student,Course,SC,54,例 1 查询选修了2号课程的学生的学号。 Sno(Cno=2(SC) 95001,95002,2.7关系代数应用举例,55,关系代数应用举例(续),例2 查询至少选修了一门其直接先行课为5号课程的课程的学生姓名。 Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course) SC Sno,Sname(Student)或 Sname (Sno

11、 (Cpno=5 (Course) SC) Sno,Sname (Student),56,关系代数应用举例(续),例3 查询选修了全部课程的学生号码和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student),57,小结,l关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达,58,59,1. Sno Jno=J1 (SPJ),2. Sno Jno=J1 Pno=P1 (SPJ),60,Sname(CITY!=天津 Color!=RED(S SPJ P),Sname(CITY!=天津 Color!=RED(S SPJ P),61,使用了S1供应的所有零件的工程项目号,62,1. Sno Jno=J1 (SPJ),2. Sno Jno=J1 Pno=P1 (SPJ),63,4.JNO(CITY!=天津 Color!=RED(S SPJ P),JNO(J)-JNO(CITY=天津 Color=RED (S SPJ P),64,5.,Jno,Pno(SPJ)pno SNO=s1 (SPJ),

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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