数据库系统讲义03解读_第1页
数据库系统讲义03解读_第2页
数据库系统讲义03解读_第3页
数据库系统讲义03解读_第4页
数据库系统讲义03解读_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统概念与技术 第三章关系模型及关系运算真即是美,知识是最高的善无限风光在险峰1France数据库系统概述3Hungary你我它Belgium实体-联系模型Germany2SQL Ireland4SQL编程Italy5数据完整性Latvia6关系数据库设计Lithuania7查询处理及优化Luxemburg8数据库管理系统DBMS Netherlands93.1关系3.2关系模型3.3关系代数3.4元组关系演算3.5域关系演算数据库数据的集合p r o c e s s p r o c e s s p r o c e s s p r o c e s s p r o c e s s requ

2、estresponse访问语言语言处理数据结构交互式语言嵌入式语言完整性控制DBMS其它查询优化处理数据的概念模型数据库系统设计现实世界逻辑结构数据操作物理结构第三章关系模型及关系运算3.1关系3.2关系模型3.3关系代数3.4元组关系演算3.5域关系演算关系模型(relation modelz关系理论是建立在集合代数理论基础上的,有着坚实的数学基础。z E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖。z早期代表系统初System R:由IBM研制。初INGRES:由加州Berkeley分校研制。z目前主流的商业数据库系统初Oracle,Informix,Sy

3、base,SQL Server,DB2。初Access,Foxpro,Foxbase。域 (Domainz 一组值的集合,这组值具有相同的数据类型.Null是任何域的成员.笛卡尔积(Cartesian Productz 一组域D1 , D2,,D n的笛卡尔积为:D1xD2x.xD n= (d1 , d2 , ., d n | d iD i, i=1,.,n z 笛卡尔积的每个元素 (d1 , d2 , ., d n称作一个 n-元组(n-tuple。z元组的每一个值d i叫做一个分量(component*若D i为有限集,其基数为m i, 则笛卡尔积的基数为i ni mn=1例:设D 1为教

4、师集合(T = t 1,t 2D 2为学生集合(S = s 1,s 2 ,s 3D 3为课程集合(C = c 1,c 2则笛卡尔积D 1xD 2xD 3是个三元组集合,元组个数为2x3x2,是所有可能的(教 师,学生,课程元组集合:t 1,s 1,c 1, t 1,s 1,c 2, t 1,s 2,c 1, t 1,s 2,c 2, t 1,s 3,c 1, t 1,s 3,c 2, t 2,s 1,c 1, t 2,s 1,c 2, t 2,s 2,c 1, t 2,s 2,c 2, t 2,s 3,c 1, t 2,s 3,c 2 t 1t 1,s 1,c 1t 1,s 1,c 2关系(r

5、elationz笛卡尔积D 1xD 2x.xD n的子集叫做在域D 1, D 2,., D n上的关系,用R (D1, D 2,., D n 表示。z R是关系的名字,n是关系的度或目(Degree。初n=1,一元关系初n=2,二元关系z关系是笛卡尔积中有意义的子集。A=所有的男人x所有的女人x所有的小孩初有家庭关系的男人,女人,小孩CAA=所有的学生x所有的课程初有选修关系的学生,课程 CAz关系和表的一一对应初一个关系对应一张表,表用表名标识.表和关系同名.初一个元组对应一行数据,行用行号标识.由于行数会发生变化(增加,删除,修改, 因此,行一般不命名.表的所有行的集合是笛卡尔积的子集必某

6、个分量的所有取值对 应表的某一列的所有取值.列用列号标识.由于列数一般不发生变化,因此,列要命名,称为列名或属性名表的某一列的所有取值的集合是某个域的子集(域名不一定是列名,因为域和列 不等价.关系表元组行分量列t1,s3,c1元组行t1,s2,c2t1,s2,c1t1,s1,c2t1,s1,c1分量列关系表z用表表示关系.例:设D 1为教师集合(T = t 1,t 2D 2为学生集合(S = s 1,s 2,s 3D 3为课程集合(C = c 1,c 2则 D 1xD 2xD 3 上的一个关系:R(D 1,D 2,D 3=t 1,s 1 ,c 1, t 1,s 1 ,c 2, t 1,s 2

7、 ,c 1, t 1,s 2 ,c 2, t 2,s 3 ,c 2对应的表如下元组/彳亍号分量/列号属性名teach表/关系名关系的性质z列是同质的.即每一列中的分量来自同一域,是同一类型的数据.d iD ixxxxSsexE 男,女z表的不同列可以来自同一个域,为了区别不同的列,每列必须有不同的属性名.例:设D 1=Person = 王兵,李平,张英,丁梅,吴芳D 2=Child = 王一,李一,李二则 D 1xD 1xD 2 上的一个家庭关系:R(D 1,D 2,D 3=Family=王兵,张英,王一, 李平,丁梅,李一, 李平,丁梅,李二对应的表如下李一丁梅李平李二丁梅李平王一张英王兵C

8、hild Mother (角色 Father (角色Familyz行列的顺序无关紧要.同一个关系z任意两个元组不能完全相同(集合内不能有相同的两个元素.Xz每一分量必须是不可再分的数据项(1NF,复合属性不允许,多值属性值分为多 个行.符合第一范式(Table不符合第一范式(Not Table关系的码z 候选码(Candidate Key初关系中的一个属性组,其值能唯一标识一个元组.若从属性组中去掉任何一个 属性,它就不具有这一性质了,这样的属性组称作候选码.-E-R模型中候选码.初任何一个候选码中的属性称作主属性,其它的为非主属性.z主码(Primary Key初进行数据库设计时,从一个关系

9、的多个候选码中选定一个作为主码.-E-R模 型中主码.全码 PK(Student=S#PK(Family=Father,Mother,Childz 外码(Foreign Key初关系r中的一个属性组,它不是r的码,但它与另一个关系s的主码相对应,则 称这个属性组为r的参照s的外码,r称为参照关系,s称为被参照关系.主码主码外码 FK(Student=D#3.1关系第三章关系模型及关系运算3.1关系3.2关系模型3.3关系代数3.4元组关系演算3.5域关系演算域笛卡尔积关系关系的性质关系的候选码和主属性关系的主码和外码数据结构.z单一的数据结构关系z关系模式:关系的结构描述初关系名.初关系中的属

10、性名.初属性向域的映象.属性向域的映象,一般直接说明为属性的类型、长度等.初属 性间的依赖关系.3.2关系模型R (A1:D1 , A2:D2 ,An :Dn关系模式关系模式的简单表示R (A1 , A2 ,, AnStudent ( S# char(8, Sname char(10, Ssex char(2, Sage integer ,D# char(2, Sclass char(6Student (S#,Sname,Ssex,Sage,D#,classz关系实例:即关系,是符合某个关系模式在某个时刻的元组的集合.关系模式和 关系实例是型与值的关系.z关系模式与关系(实例初同一关系模式下,

11、可有很多的关系.初关系模式是关系的结构描述,关系是关系模式在某一时刻的数据.初关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的.Student (S# char(8, Sname char(10, Ssex char(2, Sage integer , D# char(2, Sclass char(6z (关系数据库模式.关系数据库的描述.即一组域的定义以及在这组域上定义的 若干关系模式的集合.Z (关系数据库实例.符合某个数据库模式在某个时刻关系的集 合.数据库模式和数据库实例是型与值的关系.Z关系数据库形式化描述.初域.D=( D k , k=1,2,.初关系模式.R(A 1,

12、A 2, .A j ,A n , j =1,2,.,n. % 主码.PK(R .初外码.FK(R .初元组.t(i =(r i 1, r i 2 , .r ij ., r i n , r ij ED i ED, i =1,2,.,m. t 为元组变量.z关系数据库模式的模式图.表示属性以及主码和外码.主码主码外码FK(Student=D#S#SnameSname Ssex Sage D#SclassD#DeptstudentDname Dean父子z E-R模型向关系模式的转换初实体集的关系模式:A(A1,A2,A3,.; B(B1,B2,B3,.%联系集的关系模式: Q(PK(A,PK(B,

13、Q1,Q2,.% 递归联系集的关系模式:Q(role1,role2,Q1,Q2,.A3A2A1实体集A联系集Q A1Q1Q2B1E-R模型关系模型关系模式A (A1, A2, A3Q (A1,B1, Q1, Q2B3B2B1B (B1, B2, B3A1A2A3Q1Q2实体集 B B1B2B3PK(APK(BE-R模型学生课程选修教师教授S#SN SEXAGESD SCOREC#CNPC#CREDITP#PND#SAL S (S#, SN , SEX , AGE , SDC (C#, CN , PC# , CREDITPROF (P#, PN, D# ,SALSC (S#, C#, SCORE

14、TEACH (P#, C#PK(SPK(CPK(PROFPK(C关系模式E-R模型学生课程选修教师教授S#SN SEXAGESD SCOREC#CNPC#CREDITP#PND#SAL S#SN SEX AGE SDS C#CN PC#CREDITC P#PN D#SALPROF S#C#SCORESC P#C#TEACH关系模式图E-R模型EMPNO#NAMESEX AGEDEPT关系模式Work-foremployeeworkermanageremployee(EMPNO#, NAME, SEX , AGE , DEPT Work-for(worker,manager role1role2

15、初弱实体集的关系模式:B(PK(A,B1,B2,B3,标识性联系集的关系模式: Q(PK(A,D(B,标识性联系集无需单独建表,因为其关系模式被弱实体集的关系模式所包含.A3A2A1 强实体集A标识性联系集QA1B1E-R模型关系模型关系模式A (A1, A2, A3Q (A1,B1A1B3B2B1B (A1,B1, B2, B3A1A2A3B1B2B3PK(AD(BD(BPK(AD(B弱实体集B初特殊属性O复合属性:每个子属性单独创建一列.”关系的基本特征是每一分量必须是不可再分的数据项”.O派生属性:作为表的计算列,it dependsO多值属性:关系理论addr city str pos

16、t-code state str-nostr-nameapart-nocustomer cust-id cust-name customer (cust-id, cust-name, addr (state, city, post- code,str (str-no, str-name, apart-nocustomercustomer (cust-id, cust-name, state,city, post-code,str-no, str-name, apart-no初码.E-R模型中的码(超码,候选码,主码自动转换为关系的码(超码,候选码,主码.O实体集的码O联系集的码91:191:m

17、9m:nO递归联系集的码O弱实体集的码O标识性联系集的码z模型、模式和实例的比较E-R模型关系模型E-R模式关系模式表R (A1, A2,,ApE-R实例关系实例实体集联系集属性属性属性 A (A1, A2,,AnQ (Q1, Q2,,的码关系的码PK(RPK(APK(Q课堂练习将银行企业的E-R模型转换为关系模式(模式图branchcustomer loanloan-numberaccountaccount-numberemployeecust-banker typedepositorpayment-numberborrower Work-forworkermanagerloan-branc

18、h loan-paymentpaymentbranch-name assets branch-citycustomer-id , customer-citycustomer-street customer-name employee-id start-dateemployee-name employee-lengthtelephone-numberdependent-namebalanceamountpayment-amountpayment-dateaccess-date关系操作.关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time的方式.查询和修改.z过程

19、化.用户指导系统对数据库执行一系列操作以计 算所需结果.初关系代数.用对关系的运算来表达查询,需要指明所 用操作.基本运算包括:选择、投影、连接、除、并、 交、差.z非过程化.用户只需描述所需信息,而不用给出获取该 信息的具体过程.关系演算,用谓词来表达查询.初元组关系演算:谓词变元的基本对象是元组变量. 初域关系演算:谓词变元的基本对象是域变量.z具体数据库系统中的实际语言初ISBL:关系代数语言,由IBM公司研制。初QUEL,ALPHA:Codd提出的基于元组关系演算语言,在INGRES上实现。初QBE:基于域关系演算语言,由IBM公司研制。初SQL:介于关系代数和关系演算之间,由IBM公

20、司在研制System R时提出的, 成为关系数据库标准语言。关系模型的完整性z实体完整性(主码初实体是可区分的,即具有唯一性标识。初每个关系必须有一个主码。初主码不能取Null值。主码xXENOEName DNOEMPDEPT DNODName03小陈0003小刘000302小李000201小王0001DNO EName ENO网络教研室02软件教研室01DName DNO z参照完整性(外码。关系r的参照关系s的外码 FK(r的取值有两种:初Null值。初关系s的某个主码的取值。EMPDEPTz用户自定义完整性。用户针对具体的应用环境定义的完整性约束条件。初年龄的约束条件,如,0-100初性

21、别的约束条件,0,1年龄在12, 35之间要求名字在5个汉字字符之内性别只能是“男”或“女”颠覆完整性的示例第三章关系模型及关系运算3.1关系3.2关系模型3.3关系代数3.4元组关系演算3.5域关系演算关系模式,关系数据库模式关系实例,关系数据库实例关系数据库的模式图E-R模型向关系模式的转换关系操作口过程化:关系代数口非过程化:元组和域关系演算关系模型的完整性口实体完整性口参照完整性口用户自定义完整性查询z基本运算初一元运算O选择、投影、更名。初多元运算O笛卡儿积、集合并、集合差。z附加运算,可由基本运算导出的运算初集合交、自然连接、除、赋值。z扩展的关系代数运算初广义投影、聚集、外连接。

22、数据库修改z删除、插入、更新。A 1A i一些记号。给定关系模式R(A 1, A 2 ,A n ,设R是它的一个具体的关系,t ER是关系的一个元组.z分量设t ER,则tA i 表示元组t中相应于属性A i的一个分量.z属性列A = (A i1,A i2 ,A ik (A 1,A 2 , .,A n ,称 A 为属性列.A 表示A 1,A2 , .,A n 中去掉A后剩余的属性组.tA = ( tA i1, tA i2, ., tA ik .Rt ERA AtA = ( tA i1, tA i2, ., tA ik tA i 示例关系S (S#, SNAME , SEX , AGE , D#

23、-学生 C (C#, CN , PC# , CREDIT(学分-课程 SC (S# , C#, SCORE-选修关系PROF (P#, PNAME, AGE, D# , SAL(工资-教师 PC (P# , C#-教课DEPT (D#, DNAME , DEAN(系主任作为教师的编号P# -系学生S课程C教师PROF选课SC教课PCS#SEXSCORE SNAME AGE D# 院系 DEPTD#DEAN DNAME C#PC#CN CREDITP#AGEPNAME D#SALE-R模型关系模式S#SNAME SEX AGE D#SC#CN PC#CREDITC P#PNAME AGE D#S

24、ALPROF S#C#SCORESC P#C#PC D#DNAME DEANDEPT PCPROFDEPTSCSC模式图关系202119192022 学生年龄 AGE CS CS MA CI MA CS所属系名SD男女女男女男性别 SEX A B C D E FS1S2S3S4S5S6学生姓名SN学号S#C1C1C2C4先行课号码PC#23424学分CREDITG H I J KC1C2C3C4C5课程名字 CN 课程号 C#S(S# , SN , SEX , AGE , SDC(C# , CN , PC# , CREDITSC(S# , C# , SCOREA A AB BC C B C B

25、 BD C B BC1C2C3C5C1C2C4C2C3C4C3C5C2C3C5S1S1S1S1S2S2S2S3S3S3S4S4S5S5S5学习成绩SCORE课程号C#学号S#D1D1D2D3D3D4系别 D#150022001300250018002100工资 SAL 302925412633年龄 AGE A B C D E FP1P2P3P4P5P6姓名 PNAME 工号 P#PROF(P# , PNAME , AGE , D# , SALC1C2C1C1C2C3P1P1P2P3P4P4课程名。#工号P#PC(P# , C#计算机系数学系管理系系名 DNAME P1P2P4D1D2D3系主任

26、 DEAN 系号 D#DEPT(D# , DNAME , DEAN选择运算(o-selectz定义:在关系R中选择满足给定条件的元组(从行的角度.z公式:。(R=t I t ER , F(t = 真,F(tF(t是选择的条件,t ER, F(t要么为真,要么为假.F(t=(算术表达式1逻辑运算符(算术表达式2.初逻辑运算符:人V,-初算术表达式:X 0YO X,Y是属性名、常量、或简单函数.O0是比较算符,0( ,二 , 30 VAGE 20 ASEX=男(So例3,找年龄不小于20的男学生.所属系名SD男女女男女男性别 SEX A B C D E FS1S2S3S4S5S6学生姓名SN学号S#CS CS MA CI MA CS 所属系名SD ABCDEF学生姓名SN投影(n-projectz定义:从关系R中取若干列组成新的关系(从列的角度.投影的结果中要去掉相 同的行.z 公式:nA (R = tA | t ER , A (A 1, A 2, .,A n S例4,给出nSN,SD(S的结果.A A AB BC C B C B BD C B BC1C2C3C5C1C2C4C2C3C4C3C5C2C3C5S1S1S1S1S2S2S2S3S3S3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论