




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 关系数据库 关系模型具有严格的数学基础,应用数学方法处理数据库中的数据,奠定关系数据库理论基础的人是美国IBM公司的E.F.Codd。模型的提出是在1970年, E.F.Codd的一篇论文“A Relational Model of Data for Shared Data Banks”开创了数据库系统的新纪元,系统、严格的提出了关系模型。 20世纪70年代末关系方法的理论研究已经取得了很大的成果,其中,有两大研究机构及其试验系统,一个是IBM公司的System R系统,另一个是美国加州大学伯克利分校的INGRES系统。1981年关系数据库的软件产品就问世了。目前主流的商业数据库系统O
2、racle,Informix(IBM收购),Sybase,SQL Server,DB2Access,Foxpro,Foxbase 1第2章 关系数据库 关系模型具有严格的数学基础,应用数关系模型的组成 关系数据结构 (实体及实体间的联系均用二维表来表示) 关系操作(查询及增、删、改操作两大部分) 关系代数语言 元组关系演算语言(ALPHA,QUEL)关系数据语言 关系演算语言 域关系演算语言(QBE) 关系代数和关系演算结合的语言(SQL)关系的完整性 (实体完整性,参照完整性,用户定义完整性)2关系模型的组成22.1 基本概念2.1.1 域(domain)一组具有相同数据类型的值的集合。例:
3、整数,实数,500的整数,性别(男、女)、字符串。2.1.2 笛卡尔积(Cartesian product)1. 定义给定一组域D1,D2,Dn,则其笛卡积为:D1 D2 Dn=(d1,d2,dn)dnDj,j=1,2,n2. 说明1)(d1,dn)为集合中的一个元素,称为n元组(ntuple),简称元组。2)元组中每个值di称为分量32.1 基本概念33)集合中元素无序a,b,c=b,a,c=c,b,a4)元组中分量有序(a,b,c)(b,a,c) 属性及其值的对应性。5)笛卡尔积称为一个二维表例 设有三个域:D1=男士集合=刘英,刘加D2=女士集合=白雪,白灵D=儿童集合=刘学,刘水,刘牛
4、则D1,D2,D3的笛卡尔积为如下一张二维表: 43)集合中元素无序4552.1.3 关系1. 定义D1 D2Dn的任意子集称为在域D1,D2,Dn上的关系。记为:R(D1,D2,Dn)2. 说明1)R为关系名,n为关系的目或度(degree);2)关系是一张二维表;3)可多个候选KEY(candidate key);4)任选候选KEY之一为主码(primary key)。例:可从上表中取出一个有意义子集作为一个关系 62.1.3 关系62.1.4 外码(internal key)对于R1和R2,A1,An为其属性子集,若A1,A2,An不是R1的码,但它是R2的码,则称A1,An为R1的外码
5、。Student (XH,XM)Course (KH,KM)SC (XH,KH,CJ) SC中的XH,KH为外码。2.1.5 关系模式(Relation Schema)1. 定义关系的描述:R(A1,An)即:R(U,D,DOM,F)R:关系名。U:R中的属性名序列。D:域(取值范围)。DOM:属性到域的映象集(属性类型、长度)。F:属性间数据依赖关系。72.1.4 外码(internal key)72.1.6 关系数据库1. 型:若干关系模式的集合(内含)。2. 值:某一时刻每个关系模式对应的具体关系集(外延)。2.1.7 视图(View)2.1.8 关系的完整性1. 实体完整性(Entit
6、y integrity)主码属性不能为空。2. 参照完整性(Referential integrity)若关系R1中含有另一个关系R2中主码的属性组F(R1的外部KEY),则对于R1的每个无组在F上的值必须满足:1)空,或2)等于R2中某个元组的主码值82.1.6 关系数据库8例:EMPL(ENO,ENAME,DNO) DEPT(DNO,DNAME)则对于EMPL中每个DNO的值必须为: 取空(说明该职工还未分配到某部门) DEPT中某个元组的DNO值(该职工不可能分配到一个不存在的部门)3. 用户定义完整性(user-defined integrity)用户定义的约束。跳高100米, 人手2
7、只 9例:EMPL(ENO,ENAME,DNO)92.2 关系代数2.2.1 概述1、含义:用对关系的运算来表达查询的一种传统方式。2、分类:1)传统集合运算并(),交(),差(),笛卡尔积()2)专门的关系运算投影(),选择(),连接( ),除()3、运算符1)集合运算符:、2)专门运算符:、 、3)比较运算符:、4)逻辑运算符:、5)括号运算符:( )102.2 关系代数104、特殊记号1)设有关系模式R(A1,A2,Ai,An)则:tR:t是R的一个元组。t Ai:元组t中相应属性Ai的一个分量。 114、特殊记号112)设 A = Ai1, Ai2,Aik,Ai1,Ai2,Aik是A1
8、,A2,An中的一部分,则:A:属性列或域列。A:A1,A2,An中去掉(Ai1, Ai2,Aik)后剩余的属性组。tA = (tAi1,tAi2,tAik):元组t在属性A上诸分量的集合3)设R为n目关系,S为m目关系,则: trR,tsS:R和S的元组的连接,结果是一个n+m列元组;前n个分量是R的一个n元组;后m个分量是s的一个m元组,又称元组的连串(Concatenation)。122)设 A = Ai1, Ai2,Aik,Ai1,A4)设有关系R(X, Z),X、Z为属性组,则:当tX = x时,x在R中的象集(images set)为:Zx = tZ| tR, tX = x表示:R
9、中属性组X上值为x的诸元组在Z上分量的集合。例:R为(学号,课程)设X为学号,则Z为课程,求x1的象集。学号课程1C语言1数据结构1数据库2C语言课程C语言数据结构数据库134)设有关系R(X, Z),X、Z为属性组,则:学号课程1C2.2.2 传统集合运算1. 并(union)1)定义:设有关两个n目关系R、S,则RS表示是由属于R或属于S的元组组成。2)特征结果为n目关系:RS=t|tRtS;参入运算对象为两个关系;R、S属性同类(取自同一个域);相同元组取其一;从“行”上取值。142.2.2 传统集合运算14例: R S15例: R 则RS结果为: R S16则RS结果为: 163)作用
10、:将一个新元组集加入到原关系中去。2、交(intersection)1)定义:设有两个n目关系R、S,RS是由既属于R同时又属于S的元组组成。 R S173)作用:将一个新元组集加入到原关系中去。172)特征结果为n目关系:RS = t|tRtS;参入运算为两个同目关系;R、S属性同类;从“行”上取值。182)特征183)作用:从两个关系中找出相同元组。3、差(difference)1)定义:设有两个n目关系R、S,则R-S是由属于R不属于S的元组组成。 R S 193)作用:从两个关系中找出相同元组。192)特征结果为n目关系:R-S = t|tRts;参入运算为两个同目关系;R、S同类;从
11、“行”上取值。3)作用:从一个关系中删去某些元组。4、笛卡尔积(Cartesian product)1)定义:设R为n目关系,S为m目关系,则RS是一个由R和S的所有元组连接在一起而组成的(n+m)列的元组集合。每一元组的前n个列是R的一个元组,后m列是s的一个元组。 202)特征20RS 21RS 212)特征结果为(n+m)目关系:RS = tr,ts|trRtss;参入运算为两个关系;R、S不同类(实际上);从“行”上取值。3)作用:将两个关系按元组连接组成一个新关系。222)特征222.2.3 专门的关系运算1、选择(selection)1)定义:从指定关系R中选取满足条件的元组集的运
12、算。 记作:F(R) = t|tRF(t) = 真 F:逻辑表达式(选择对象应满足的条件),一般表示为:X1Y1 X2Y2 X1,Y1:属性 | 常量 | 简单函数 | 列顺序号 :比较运算符:、 :逻辑运算符:、 :任选标识符,其中内容可有可无 A12,B=田野,3 = 8B5 (R)232.2.3 专门的关系运算23设: 24设: 242525例1 查计算机系学生 26例1 查计算机系学生 26例2 查学分3分的课程 27例2 查学分3分的课程 27例3:查成绩大于80或等于70的学生选课信息 28例3:查成绩大于80或等于70的学生选课信息 282)说明参入运算只能一个关系;从行上取值。
13、2、投影(projection)1)定义:从指定关系R中选出若干属性列的运算。记作:A(R)=tAtRA:R中的若干属性列名或列顺序号。292)说明29例3:查学生的姓名和年龄。XM, YL(Student)或2,4(Student) 30例3:查学生的姓名和年龄。30例4:查招有学生的系有哪些DM(Student)或4(Student) 2)说明:参入运算一个关系;从列上取值。 31例4:查招有学生的系有哪些2)说明:313、连接(Join)1)定义:从两个指定关系R和S中选取满足给定条件的元组的运算。记为:元组的连串(Concatenation)若r = (r1, ,rn),s = (s1
14、 , ,sm),则定义r与s的连串为: rs = (r1, ,rn, s1 , ,sm)323、连接(Join)32设有如下关系R和S:2)说明运算步骤:笛长尔积取条件满足者33设有如下关系R和S:2)说明33例5 笛卡尔积(RS): 34例5 笛卡尔积34取其中CE的元组: 参入运算为两个关系;参入运算关系不一定同目;从行上取值。3)等值连接(equi-join) 仅为“=”的连接运算35取其中C(a1,b2),(a2,b4),(a3,b5),Y=C,D=(c3,d5),(c4,d6),Z=Ff3,f4。其中,元组在X上各个分量值的象集分别为:(a1,b2)的象集为(c3,d5),(c4,d
15、6)(a2,b4)的象集为(c1,d3)(a3,b5)的象集为(c2,d8)S在Y上的投影为(c3,d5),(c4,d6)显然只有(a1,b2)的象集包含S在Y上的投影,所以RS=(a1,b2) 42与除法的定义相对应,本题中X=A,B=(a1,b2)5种基本运算并、差、笛卡尔积、投影、选择其它运算交、连接、除均可用5种基本运算来表达,引进它们并不增加语言的能力,但可以简化表达RS = R (R S)R S = 属性列表(相同的属性列值相等(R) (RS)R S = X(R) X(X(R) Y(S) R)435种基本运算43ABCDabcdabefabdebcefedcdedefCDcdefA
16、BabedABabbcedABCDabcdabefbccdbcefedcdedefR AB (R)S AB (R) CD (S) AB (R) CD (S)-R ABCDbccdR S=ABabbcedABbc-=例:RS = X(R) X(X(R) Y(S) R)44ABCDabcdabefabdebcefedcdedefCD关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式例:设有关系教师(工作证号、姓名、性别、出生年份、职称、所在院系)TL(TNO,TNAME,TSEX,BYEAR,RANK,DEPT);教学记录(工作证号、开课时间、课号、课时)CR(TNO,CTIME,CN
17、O,CNUM);DEPT=计算机(TL), DEPT=自控(TL), RANK=讲师(TL),BYEAR1965(TL),TNO,TNAME,TSEX,DEPT(CNO=001(DEPT=计算机(TL) DEPT=自控(TL))RANK=讲师(TL) - BYEAR2S中A属性大于2的元组的集合 t | R(t) S(t) R中不在S中出现的元组的集合 t | ( u) (S(t) R(u) tC uA)R中满足下述条件的元组的集合:C属性大于S中每个元组的A属性的值。52元组演算表达式举例:52 任何一个关系代数表达式都可等价地表示成元组关系演算表达式.关系代数中的5种基本运算用元组关系演算
18、表示为:RS=t|R(t) S(t)对应于:RS=t|tR(t) tS(t)R S=t| R(t) S(t)对应于:R S=t| tR(t) tS(t) 53 任何一个关系代数表达式都可等价地表示成元组关系演算5454ABC123456789ABC123346569RSABC346569 t | S(t) tA 2ABC456789 t | R(t) S(t) 55ABC123456789ABC123346569RSABC3ABC123456789ABC123346569RS t | ( u) (S(t) R(u) tC uA)R中满足下述条件的元组的集合:C属性大于S中每个元组的A属性的值。
19、57ABC123456789ABC123346569RSABC4ABC123456789ABC123346569RSR.BS.CR.A534837867897 t | (u)(v)(R(u) S(v) uAvB tA=uB tB=vC tC=uA) 新关系的A列从R的B列取值,新关系的B列从S的C列取值,新关系的C列从R的A列取值, 只需满足条件对应元组的RASB58ABC123456789ABC123346569RSR.BS表达式的安全性元组关系演算有可能会产生无限关系,这样的表达式是不安全的 如t | R(t),求所有不在R中的元组引入公式P的域概念,用dom(P)表示 dom(P) 至少包含 显式出现在P中的值 + 在P中出现的关系的元组中出现的值(不必是最小集),但是有限集。 如果出现在表达式t | P(t)结果中的所有值均来自dom(P),则称t | P(t)是安全的59表达式的安全性59ABA1B1A1B2A2B3dom(t R) = A1 , A2 , B1 , B2 , B3ABA1B3A2B1A2B2R t |(t R) 60ABA1B1A1B2A2B3dom(t R) = 2.3.2 域关系演算形式化定义 x1 x2 xn | P( x1 , x2 , , xn )xi代表域变量,P为由原子构成的公式原子公式 R,记R(x1 , x2 , , x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老板培训大纲
- 办公楼安全考试题及答案
- 公司员工网络信息安全培训
- 中专升学试题及答案
- java算法与数据结构面试题及答案
- 婚姻经济学考试题及答案
- 旷视科技java校招面试题及答案
- 注会会计试题及答案
- 会议实务考试题及答案
- 模拟谈判试题及答案
- 矿山企业会议管理制度
- (高清版)AQ 1056-2008 煤矿通风能力核定标准
- 2024年陕西初中地理学业水平考试试卷答案讲解课件
- 云南省昆明市呈贡区2023-2024学年五年级下学期7月期末道德与法治试题
- 国开学习网《小企业管理基础》形考任务1-4答案
- 2024年湖北武汉市法院系统雇员制审判辅助人员招聘245人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024年安徽省农业信贷融资担保有限公司招聘笔试参考题库附带答案详解
- 《新能源汽车动力电池及管理系统检修》 课件 模块1 新能源汽车动力电池及管理系统认知
- 地方病防治课件
- 住院医师规范化培训急诊科出科理论考核A卷
- 供应商稽核查检表
评论
0/150
提交评论