数据库系统概论第二章.ppt

上传人:赵** 文档编号:65355763 上传时间:2022-12-05 格式:PPT 页数:66 大小:536.50KB
返回 下载 相关 举报
数据库系统概论第二章.ppt_第1页
第1页 / 共66页
数据库系统概论第二章.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《数据库系统概论第二章.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论第二章.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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年关系数据库的软件产品就问世了。目前主流的商业数据库系统Orac

2、le,Informix(IBM收购),Sybase,SQLServer,DB2Access,Foxpro,Foxbase1关系模型的组成关系模型的组成 关系数据结构关系数据结构(实体及实体间的联系均用二维表来表示实体及实体间的联系均用二维表来表示)关系操作(查询及增、删、改操作两大部分)关系操作(查询及增、删、改操作两大部分)关系代数语言关系代数语言 元组关系演算语言元组关系演算语言(ALPHA,QUEL)ALPHA,QUEL)关系数据语言关系数据语言 关系演算语言关系演算语言 域关系演算语言域关系演算语言(QBE)QBE)关系代数和关系演算结合的语言关系代数和关系演算结合的语言(SQL)SQ

3、L)关系的完整性关系的完整性 (实体完整性,参照完整性,用户定义完整性)(实体完整性,参照完整性,用户定义完整性)22.1 基本概念基本概念2.1.1 域域(domain)一组具有相同数据类型的值的集合。例:整数,实数,500的整数,性别(男、女)、字符串。2.1.2 笛卡尔积笛卡尔积(Cartesian product)1.定义定义给定一组域D1,D2,Dn,则其笛卡积为:D1D2Dn=(d1,d2,dn)dnDj,j=1,2,n2.说明1)(d1,dn)为集合中的一个元素,称为n元组(ntuple),简称元组。2)元组中每个值di称为分量33)集合中元素无序a,b,c=b,a,c=c,b,

4、a4)元组中分量有序(a,b,c)(b,a,c)属性及其值的对应性。5)笛卡尔积称为一个二维表例设有三个域:D1=男士集合=刘英,刘加D2=女士集合=白雪,白灵D=儿童集合=刘学,刘水,刘牛则D1,D2,D3的笛卡尔积为如下一张二维表:452.1.3 关系关系1.定义定义D1D2Dn的任意子集称为在域D1,D2,Dn上的关系。记为:R(D1,D2,Dn)2.说明1)R为关系名,n为关系的目或度(degree);2)关系是一张二维表;3)可多个候选KEY(candidatekey);4)任选候选KEY之一为主码(primarykey)。例:可从上表中取出一个有意义子集作为一个关系62.1.4 外

5、码外码(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:属性间数据依赖关系。72.1.6 关系数据库关系数据库1.型:若干关系模式的集合(内含)。2.值:某一时刻每个关系

6、模式对应的具体关系集(外延)。2.1.7 视图视图(View)2.1.8 关系的完整性关系的完整性1.实体完整性(Entityintegrity)主码属性不能为空。2.参照完整性(Referentialintegrity)若关系R1中含有另一个关系R2中主码的属性组F(R1的外部KEY),则对于R1的每个无组在F上的值必须满足:1)空,或2)等于R2中某个元组的主码值8例:EMPL(ENO,ENAME,DNO)DEPT(DNO,DNAME)则对于EMPL中每个DNO的值必须为:取空(说明该职工还未分配到某部门)DEPT中某个元组的DNO值(该职工不可能分配到一个不存在的部门)3.用户定义完整性

7、(user-definedintegrity)用户定义的约束。跳高100米,人手2只92.2 关系代数关系代数2.2.1 概述概述1、含义:用对关系的运算来表达查询的一种传统方式。2、分类:1)传统集合运算并(),交(),差(),笛卡尔积()2)专门的关系运算投影(),选择(),连接(),除()3、运算符1)集合运算符:、2)专门运算符:、3)比较运算符:、4)逻辑运算符:、5)括号运算符:()104、特殊记号1)设有关系模式R(A1,A2,Ai,An)则:tR:t是R的一个元组。tAi:元组t中相应属性Ai的一个分量。112)设A=Ai1,Ai2,Aik,Ai1,Ai2,Aik是A1,A2,

8、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)。124)设有关系R(X,Z),X、Z为属性组,则:当tX=x时,x在R中的象集(imagesset)为:Zx=tZ|tR,tX=x表示:R中属性组X上值为x的诸元组在Z上分量的集合。例:R为(学号,课程)设X为学号,则Z为课程

9、,求x1的象集。学号学号课程课程1C语言1数据结构1数据库2C语言课程课程C语言数据结构数据库132.2.2 2.2.2 传统集合运算传统集合运算1.并(union)1)定义:设有关两个n目关系R、S,则RS表示是由属于R或属于S的元组组成。2)特征结果为n目关系:RS=t|tRtS;参入运算对象为两个关系;R、S属性同类(取自同一个域);相同元组取其一;从“行”上取值。14例:RS15则RS结果为:RS163)作用:将一个新元组集加入到原关系中去。2、交(intersection)1)定义:设有两个n目关系R、S,RS是由既属于R同时又属于S的元组组成。RS172)特征结果为n目关系:RS=

10、t|tRtS;参入运算为两个同目关系;R、S属性同类;从“行”上取值。183)作用:从两个关系中找出相同元组。3、差(difference)1)定义:设有两个n目关系R、S,则R-S是由属于R不属于S的元组组成。RS192)特征结果为n目关系:R-S=t|tRts;参入运算为两个同目关系;R、S同类;从“行”上取值。3)作用:从一个关系中删去某些元组。4、笛卡尔积(Cartesian product)1)定义:设R为n目关系,S为m目关系,则RS是一个由R和S的所有元组连接在一起而组成的(n+m)列的元组集合。每一元组的前n个列是R的一个元组,后m列是s的一个元组。20RS212)特征结果为(

11、n+m)目关系:RS=tr,ts|trRtss;参入运算为两个关系;R、S不同类(实际上);从“行”上取值。3)作用:将两个关系按元组连接组成一个新关系。222.2.3 2.2.3 专门的关系运算专门的关系运算1、选择(selection)1)定义:从指定关系R中选取满足条件的元组集的运算。记作:F(R)=t|tRF(t)=真 F:逻辑表达式(选择对象应满足的条件),一般表示为:X1Y1 X2Y2 X1,Y1:属性|常量|简单函数|列顺序号 :比较运算符:、:逻辑运算符:、:任选标识符,其中内容可有可无 A12,B=田野,3=8B5(R)23设:2425例1查计算机系学生26例2查学分3分的课

12、程27例3:查成绩大于80或等于70的学生选课信息282)说明参入运算只能一个关系;从行上取值。2、投影(projection)1)定义:从指定关系R中选出若干属性列的运算。记作:A(R)=tAtRA:R中的若干属性列名或列顺序号。29例3:查学生的姓名和年龄。XM,YL(Student)或2,4(Student)30例4:查招有学生的系有哪些DM(Student)或4(Student)2)说明:参入运算一个关系;从列上取值。313、连接(Join)1)定义:从两个指定关系R和S中选取满足给定条件的元组的运算。记为:元组的连串(Concatenation)若r=(r1,rn),s=(s1,sm

13、),则定义r与s的连串为:rs=(r1,rn,s1,sm)32设有如下关系R和S:2)说明运算步骤:笛长尔积取条件满足者33例5笛卡尔积(RS):34取其中C(a1,b2),(a2,b4),(a3,b5),Y=C,D=(c3,d5),(c4,d6),Z=Ff3,f4。其中,元组在X上各个分量值的象集分别为:(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)425种基本运算并、差、笛卡尔积、投影、选择其它运

14、算交、连接、除均可用5种基本运算来表达,引进它们并不增加语言的能力,但可以简化表达RS=R(RS)RS=属性列表(相同的属性列值相等(R)(RS)RS=X(R)X(X(R)Y(S)R)43ABCDabcdabefabdebcefedcdedefCDcdefABabedABabbcedABCDabcdabefbccdbcefedcdedefR AB(R)S AB(R)CD(S)AB(R)CD(S)-R ABCDbccdR S=ABabbcedABbc-=例:RS=X(R)X(X(R)Y(S)R)44关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式例:设有关系教师(工作证号、姓名、性

15、别、出生年份、职称、所在院系)TL(TNO,TNAME,TSEX,BYEAR,RANK,DEPT);教学记录(工作证号、开课时间、课号、课时)CR(TNO,CTIME,CNO,CNUM);DEPT=DEPT=计算机计算机(TLTL),),DEPT=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=讲

16、师讲师(TLTL)-BYEAR1965BYEAR2S中A属性大于2的元组的集合t|R(t)S(t)R中不在S中出现的元组的集合t|(u)(S(t)R(u)tCuA)R中满足下述条件的元组的集合:C属性大于S中每个元组的A属性的值。52 任何一个关系代数表达式都可等价地表示成元组关系演算表达式.关系代数中的5种基本运算用元组关系演算表示为:RS=t|R(t)S(t)对应于:RS=t|tR(t)tS(t)RS=t|R(t)S(t)对应于:RS=t|tR(t)tS(t)5354ABC123456789ABC123346569RSABC346569t|S(t)tA 2ABC456789t|R(t)S(

17、t)55ABC123456789ABC123346569RSt|(u)(S(t)R(u)tCuA)R中满足下述条件的元组的集合:C属性大于S中每个元组的A属性的值。57ABC123456789ABC123346569RSR.BS.CR.A534837867897t|(u)(v)(R(u)S(v)uAvBtA=uBtB=vCtC=uA)新关系的A列从R的B列取值,新关系的B列从S的C列取值,新关系的C列从R的A列取值,只需满足条件对应元组的RASB58表达式的安全性元组关系演算有可能会产生无限关系,这样的表达式是不安全的如t|R(t),求所有不在R中的元组引入公式P的域域概念,用dom(P)表示

18、dom(P)至少包含 显式出现在P中的值+在P中出现的关系的元组中出现的值(不必是最小集),但是有限集。如果出现在表达式t|P(t)结果中的所有值均来自dom(P),则称t|P(t)是安全的59ABA1B1A1B2A2B3dom(t R)=A1,A2,B1,B2,B3ABA1B3A2B1A2B2R t|(t R)602.3.2域关系演算形式化定义 x1 x2 xn|P(x1,x2,xn)xi代表域变量,P为由原子构成的公式原子公式 R,记记R(x1,x2,xn)xi是域变量或域常量x y域变量x与y之间满足比较关系x c域变量x与常量c之间满足比较关系 61ABC123456789ABC123

19、346569RSABC456R1=xyz|R(x,y,z)x3R中A列小于5并且B列大于3的元组的集合,列与R列对应不变。DE7548W62ABC123456789ABC123346569RSDE7548WBDA574877847R2=xyz|(u)(v)(R(z,x,u)W(y,v)uv)13列对应R的BA列,2列对应W的D列,并且对应元组的CE。63ABC123456789ABC123346569RSABC123456789346R2=xyz|R(x,y,z)(S(x,y,z)y=4)新关系与R列对应,其元组或属于R,或为S中B值为4的元组。DE7548W64求R中3列小于8并且1列等于d的元组集合,域关系验算、关系代数、元组关系验算表达式65归纳:关系代数、元组关系演算和域关系演算都是抽象的查询语言,它们不是具体的DBMS中实际实用的语言,它们的作用是作为评估实际系统查询语言能力的标准。这三种语言在表达能力上是完全等价的。三种语言都是非过程化的。66

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁