




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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年关系数据库的软件产品就问世了。目前主流的商业数据库系统
2、oracle,informix(ibm收购),sybase,sql server,db2access,foxpro,foxbase 2关系模型的组成关系模型的组成 关系数据结构关系数据结构 ( (实体及实体间的联系均用二维表来表示实体及实体间的联系均用二维表来表示) ) 关系操作(查询及增、删、改操作两大部分)关系操作(查询及增、删、改操作两大部分) 关系代数语言关系代数语言 元组关系演算语言元组关系演算语言(alpha,quel)(alpha,quel)关系数据语言关系数据语言 关系演算语言关系演算语言 域关系演算语言域关系演算语言(qbe)(qbe) 关系代数和关系演算结合的语言关系代数和
3、关系演算结合的语言(sql)(sql)关系的完整性关系的完整性 (实体完整性,参照完整性,用户定义完整性)(实体完整性,参照完整性,用户定义完整性)32.1 基本概念基本概念2.1.1 域域(domain)一组具有相同数据类型的值的集合。例:整数,实数,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称为分量43)集合
4、中元素无序a,b,c=b,a,c=c,b,a4)元组中分量有序(a,b,c)(b,a,c) 属性及其值的对应性。5)笛卡尔积称为一个二维表例 设有三个域:d1=男士集合=刘英,刘加d2=女士集合=白雪,白灵d=儿童集合=刘学,刘水,刘牛则d1,d2,d3的笛卡尔积为如下一张二维表: 5男男 士士 女女 士士 儿儿 童童 刘 英 白 雪 刘 学 刘 英 白 雪 刘 水 刘 英 白 雪 刘 牛 刘 英 白 灵 刘 学 刘 英 白 灵 刘 水 刘 英 白 灵 刘 牛 刘 加 白 雪 刘 学 刘 加 白 雪 刘 水 刘 加 白 雪 刘 牛 刘 加 白 灵 刘 学 刘 加 白 灵 刘 水 刘 加 白 灵
5、 刘 牛 笛卡尔积基数= 2 2 3 =12(12 个元组) 男士基数 女士基数 儿童基数 62.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)。例:可从上表中取出一个有意义子集作为一个关系 男 士 女 士 儿 童 丈 夫 妻 子 孩 子 刘 英 白 雪 刘 学 刘 英 白 雪 刘 学 刘 加 白 灵 刘 水 刘 加 白 灵 刘 水 刘 加
6、 白 灵 刘 牛 72.1.4 外码外码(internal key)对于r1和r2,a1,an为其属性子集,若a1,a2,an不是r1的码,但它是r2的码,则称a1,an为r1的外码。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:属性间数据依赖关系。82.1.6 关系数据库关系数据库1. 型:若干关
7、系模式的集合(内含)。2. 值:某一时刻每个关系模式对应的具体关系集(外延)。2.1.7 视图视图(view)2.1.8 关系的完整性关系的完整性1. 实体完整性(entity integrity)主码属性不能为空。2. 参照完整性(referential integrity)若关系r1中含有另一个关系r2中主码的属性组f(r1的外部key),则对于r1的每个无组在f上的值必须满足:1)空,或2)等于r2中某个元组的主码值9例:empl(eno,ename,dno) dept(dno,dname)则对于empl中每个dno的值必须为: 取空(说明该职工还未分配到某部门) dept中某个元组的d
8、no值(该职工不可能分配到一个不存在的部门)3. 用户定义完整性(user-defined integrity)用户定义的约束。跳高100米, 人手2只 102.2 关系代数关系代数2.2.1 概述概述1、含义:用对关系的运算来表达查询的一种传统方式。2、分类:1)传统集合运算并(),交(),差(),笛卡尔积()2)专门的关系运算投影(),选择(),连接( ),除()3、运算符1)集合运算符:、2)专门运算符:、 、3)比较运算符:、4)逻辑运算符:、5)括号运算符:( )114、特殊记号1)设有关系模式r(a1,a2,ai,an)则:tr:t是r的一个元组。t ai:元组t中相应属性ai的一
9、个分量。 student xh xm xb 2001 2007 千里马 黄河 男 男 t “男” ai(xb)的一个分量 122)设 a = ai1, ai2,aik,ai1,ai2,aik是a1,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)。134)设有关
10、系r(x, z),x、z为属性组,则:当tx = x时,x在r中的象集(images set)为:zx = tz| tr, tx = x表示:r中属性组x上值为x的诸元组在z上分量的集合。例:r为(学号,课程)设x为学号,则z为课程,求x1的象集。学号学号课程课程1c语言1数据结构1数据库2c语言课程课程c语言数据结构数据库142.2.2 2.2.2 传统集合运算传统集合运算1. 并(union)1)定义:设有关两个n目关系r、s,则rs表示是由属于r或属于s的元组组成。2)特征结果为n目关系:rs=t|trts;参入运算对象为两个关系;r、s属性同类(取自同一个域);相同元组取其一;从“行”
11、上取值。15a b c a b c a1 b1 c1 a1 b2 c2 a1 b2 c2 a1 b3 c2 a2 b2 c1 a2 b2 c1 例: r s16则rs结果为: r sa b c a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a b c a b c a1 b1 c1 a1 b2 c2 a1 b2 c2 a1 b3 c2 = a2 b2 c1 a2 b2 c1 173)作用:将一个新元组集加入到原关系中去。2、交(intersection)1)定义:设有两个n目关系r、s,rs是由既属于r同时又属于s的元组组成。 r sa b c a1 b2 c2 a2
12、b2 c1 a b c a b c a1 b1 c1 a1 b2 c2 a1 b2 c2 a1 b3 c2 = a2 b2 c1 a2 b2 c1 182)特征结果为n目关系:rs = t|trts;参入运算为两个同目关系;r、s属性同类;从“行”上取值。193)作用:从两个关系中找出相同元组。3、差(difference)1)定义:设有两个n目关系r、s,则r-s是由属于r不属于s的元组组成。 r s a b c a1 b1 c1 a b c a b c a1 b1 c1 a1 b2 c2 a1 b2 c2 a1 b3 c2 = a2 b2 c1 a2 b2 c1 202)特征结果为n目关系
13、:r-s = t|trts;参入运算为两个同目关系;r、s同类;从“行”上取值。3)作用:从一个关系中删去某些元组。4、笛卡尔积(cartesian product)1)定义:设r为n目关系,s为m目关系,则rs是一个由r和s的所有元组连接在一起而组成的(n+m)列的元组集合。每一元组的前n个列是r的一个元组,后m列是s的一个元组。 21rs a b c a b c a1 b1 c1 a1 b2 c2 a1 b1 c1 a1 b3 c2 a1 b1 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b2 c
14、1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 222)特征结果为(n+m)目关系:rs = tr,ts|trrtss;参入运算为两个关系;r、s不同类(实际上);从“行”上取值。3)作用:将两个关系按元组连接组成一个新关系。232.2.3 2.2.3 专门的关系运算专门的关系运算1、选择(selection)1)定义:从指定关系r中选取满足条件的元组集的运算。 记作:f(r) = t|trf(t) = 真 f:逻辑表达式(选择对象应满足的条件),一般表示为:x1y1 x2y2 x1,y1:属性 | 常量 | 简单函数 | 列顺序号 :比较运算符:
15、、 :逻辑运算符:、 :任选标识符,其中内容可有可无 a12,b=田野,3 = 8b5 (r)24设: student sc xh xm xb yl dm xh kh cj 9901 于得水 男 24 计算机 9901 001 72 9903 牛得草 男 23 动力 9902 001 70 9904 白灵 女 22 计算机 9903 003 72 9902 马千里 男 23 自控 9904 002 85 9903 001 72 25course kh km xf 001 db 3 002 os 3 003 c 2 004 ai 2 26例1 查计算机系学生 dm=计算机(student) xh
16、 xm xb yl dm 9901 于得水 男 24 计算机 9904 白灵 女 22 计算机 student xh xm xb yl dm 9901 于得水 男 24 计算机 9903 牛得草 男 23 动力 9904 白灵 女 22 计算机 9902 马千里 男 23 自控 27例2 查学分3分的课程 xf80 cj=70 (sc) xh kh cj 9902 001 70 9904 002 85 sc xh kh cj 9901 001 72 9902 001 70 9903 003 72 9904 002 85 9903 001 72 292)说明参入运算只能一个关系;从行上取值。2、
17、投影(projection)1)定义:从指定关系r中选出若干属性列的运算。记作:a(r)=ta tra:r中的若干属性列名或列顺序号。30例3:查学生的姓名和年龄。xm, yl(student)或2,4(student) xh yl 于得水 24 牛得草 23 白灵 22 马千里 23 student xh xm xb yl dm 9901 于得水 男 24 计算机 9903 牛得草 男 23 动力 9904 白灵 女 22 计算机 9902 马千里 男 23 自控 31例4:查招有学生的系有哪些dm(student)或4(student) dm 计算机 动力 自控 去掉一个重复元组“计算机”
18、 2)说明:参入运算一个关系;从列上取值。 student xh xm xb yl dm 9901 于得水 男 24 计算机 9903 牛得草 男 23 动力 9904 白灵 女 22 计算机 9902 马千里 男 23 自控 323、连接(join)1)定义:从两个指定关系r和s中选取满足给定条件的元组的运算。记为:元组的连串(concatenation)若r = (r1, ,rn),s = (s1 , ,sm),则定义r与s的连串为: rs = (r1, ,rn, s1 , ,sm)33设有如下关系r和s:r s a b c b e a1 b1 5 b1 3 a1 b2 6 b2 7 a2
19、 b3 8 b3 10 a2 b4 12 b3 2 b5 2 2)说明运算步骤:笛长尔积取条件满足者34例5 cers笛卡尔积(rs): (r) (s) a b c b e a1 b1 5 b1 3 a1 b1 5 b2 7 a1 b1 7 b3 10 a1 b1 7 b3 2 a1 b1 7 b5 2 a1 b2 6 b1 3 a2 b3 8 b1 3 a2 b4 12 b1 3 a2 b4 12 b2 7 a2 b4 12 b5 2 35取其中c(a1,b2),(a2,b4),(a3,b5),y=c,d=(c3,d5),(c4,d6),z=ff3,f4。其中,元组在x上各个分量值的象集分别
20、为:(a1,b2)的象集为(c3,d5),(c4,d6)(a2,b4)的象集为(c1,d3)(a3,b5)的象集为(c2,d8)s在y上的投影为(c3,d5),(c4,d6)显然只有(a1,b2)的象集包含s在y上的投影,所以rs=(a1,b2) 435种基本运算并、差、笛卡尔积、投影、选择其它运算交、连接、除均可用5种基本运算来表达,引进它们并不增加语言的能力,但可以简化表达rs = r (r s)r s = 属性列表(相同的属性列值相等(r) (rs)r s = x(r) x(x(r) y(s) r)44abcdabcdabefabdebcefedcdedefcdcdefababedaba
21、bbcedabcdabcdabefbccdbcefedcdedefr ab (r)s ab (r) cd (s) ab (r) cd (s)-r abcdbccdr s=ababbcedabbc-=例:rs = x(r) x(x(r) y(s) r)45关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式例:设有关系教师(工作证号、姓名、性别、出生年份、职称、所在院系)tl(tno,tname,tsex,byear,rank,dept);教学记录(工作证号、开课时间、课号、课时)cr(tno,ctime,cno,cnum);dept=dept=计算机计算机(tltl),), dept
22、=dept=自控自控(tltl),), rank=rank=讲师讲师(tltl),),byear1965byear1965(tltl),),tno,tname,tsex,depttno,tname,tsex,dept( (cno=001cno=001(dept=dept=计算机计算机(tltl) dept=dept=自控自控(tltl)) )rank=rank=讲师讲师(tltl) - - byear1965byear2s中a属性大于2的元组的集合 t | r(t) s(t) r中不在s中出现的元组的集合 t | ( u) (s(t) r(u) tc ua)r中满足下述条件的元组的集合:c属性
23、大于s中每个元组的a属性的值。53 任何一个关系代数表达式都可等价地表示成元组关系演算表达式.关系代数中的5种基本运算用元组关系演算表示为: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) 54) . 1 1. 1 1 )()()()()()()(svsrtvrtrurtutvsurvutsrssrr) . 1 )()()(1)(,.,1kkiiiuktiuturutrk的等价表示形式是其中ffftrtrf, )()(55abc123456789abc123346569rsabc346569 t |
24、 s(t) ta 2abc456789 t | r(t) s(t) 56abc123456789abc123346569rs t | ( u) (s(t) r(u) tc ua)r中满足下述条件的元组的集合:c属性大于s中每个元组的a属性的值。58abc123456789abc123346569rsr.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列取值, 只需满足条件对应元组的rasb59表达式的安全性元组关系演算有可能会产生无限关系,这样的表达式是不安全的 如t | r(t),求所有不在r中的元组引入公式p的域域概念,用dom(p)表示 dom(p) 至少包含 显式出现在p中的值 + 在p中出现的关系的元组中出现的值(不必是最小集),但是有限集。 如果出现在表达式t | p(t)结果中的所有值均来自dom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游泳的周记范文
- “双减”政策视域下南宁市青少年羽毛球培训机构的优化路径研究
- 学科与专业建设的关系浅析重点学科建设与本科专业发展的关系
- 商业街区场地租赁合同终止及商业品牌引进协议
- 餐饮店签单挂账服务合同范本
- 商业街区地面车位租赁协议书范本
- 农家乐餐厅试用期配菜员劳动合同书
- 企业员工劳动合同续签及变更范本
- 2025至2030中国伏立康唑行业发展趋势分析与未来投资战略咨询研究报告
- 湖南吉利汽车职业技术学院《水土保持方案编制》2023-2024学年第二学期期末试卷
- 户外运动基地可行性研究报告评价
- 环卫保洁员安全试题
- 分级护理制度落实查检表
- 徐双敏《公共事业管理概论》笔记和课后习题详解下载
- 中外古典园林史学习通超星课后章节答案期末考试题库2023年
- 焊接方法与设备说课稿课件
- 员工入职登记表
- 某某公司暴风雨自然灾害应急预案
- 第一讲传染病学总论
- 邮轮公司的部门及岗位设置
- 稿件修改说明(模板)
评论
0/150
提交评论