数据库关系模型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库关系模型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 关系 模型 课件
- 资源描述:
-
1、1第二章 关系模型2.1 关系模型概述2.2 关系数据结构及形式化定义2.3 关系的完整性2.4 关系代数2.5 关系演算2.6 小结2.1 关系模型概述22.1 概述 E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖 关系理论是建立在集合代数理论基础上的,有着坚实的数学基础 早期代表系统 System:由IBM研制 INGRES:由加州Berkeley分校研制 目前主流的商业数据库系统 Oracle,Informix,Sybase,SQL Server,DB2 Access,Foxpro,Foxbase32.1 概述 数据结构:二维表 关系操作:查询(Quer
2、y):选择(select)、投影(project)、连接(join)除(divide)、并(union)、交(intersection)差(difference)增加(insert)、删除(delete)、修改(updated)关系代数,关系演算,SQL 关系的三类完整性约束 实体完整性、参照完整性、用户自定义的完整性42.1 概述关系代数是用对关系的运算来表达查询要求的方式。关系演算是用谓词表达查询要求的方式。按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算 52.1 概述具体系统中的实际语言SQL介于关系代数和关系演算之间,由IBM公司研制system R时提出QUEL
3、 基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现QBE 基于域关系演算,由IBM公司研制62.2 关系数据结构及形式化定义inim1 域(Domain)一组值的集合,这组值具有相同的数据类型 如:整数的集合、字符串的集合、全体学生的集合 笛卡尔积(Cartesian Product)一组域D1,D2,Dn的笛卡尔积为:D1D2Dn=(d1,d2,dn)|diDi,i=1,n 笛卡尔积的每个元素(d1,d2,dn)称作一个n-元组(n-tuple)元组的每一个值di叫做一个分量(component)若Di的基数为mi,则笛卡尔积的基数为72.2 关系数据结构及形式化定义(续)
4、例:设 D1为学生集合(T)=张群,徐晶,王刚 D2为性别集合(S)=男,女 则D1D2是个二元组集合,元组个数为32,是所有可能的(学生,性别)元组集合TS张群张群男男张群张群女女徐晶徐晶男男徐晶徐晶女女王刚王刚男男王刚王刚女女D1D2=82.2 关系数据结构及形式化定义(续)例:设 D1为教师集合(T)=t1,t2 D2为学生集合(S)=s1,s2,s3 D3为课程集合(C)=c1,c2 则D1D2D3是个三元组集合,元组个数为232,是所有可能的(教师,学生,课程)元组集合 笛卡尔积可表为二维表的形式TSCt1s1c1t1s1c2t1s2c1t2s3c2域(课程集合)元组92.2 关系数
5、据结构及形式化定义(续)关系 笛卡尔积D1D2Dn的子集叫做在域D1,D2,Dn上的关系,用R(D1,D2,Dn)表示 R是关系的名字,n是关系的度或目 关系是笛卡尔积中有意义的子集 关系也可以表示为二维表关系TEACH(T,S,C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元组属性102.2 关系数据结构及形式化定义(续)关系的性质列是同质的行列的顺序无关紧要任意两个元组不能完全相同每一分量必须是不可再分的数据。不同的属性,属性名不能相同学学生生姓名姓名学号学号年年月月出生日期出生日期日日112.2 关系数据结构及形式化定义(续)数据结构 单一的数据结构关系 实体集、联系都表示成
6、关系学生学生课程课程选修选修属于属于系系教师教师教授教授工作工作122.2 关系数据结构及形式化定义(续)候选码(Candidate Key)关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码 如DEPT中的D#,DN都可作为候选码 任何一个候选码中的属性称作 如SC中的S#,C#主码(Primary Key)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码 如可选定D#作为DEPT的主码 外部码(Foreign Key)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码 如
7、S关系中的D#属性132.2 关系数据结构及形式化定义(续)关系模式 关系的描述称作关系模式,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等,记作R(A1,A2,An)属性向域的映象一般直接说明为属性的类型、长度等 某一时刻对应某个关系模式的内容(元组的集合)称作关系 关系模式是型,是稳定的 关系是某一时刻的值,是随时间不断变化的142.2 关系数据结构及形式化定义(续)关系数据库 其型是关系模式的集合,即数据库描述,称作数据库的内涵(Intension)其值是某一时刻关系的集合,称作数据库的外延(Extension)152.3 关系的完整性 关系模式的完整性 实体完整性
8、关系的主码中的属性值不能为空值 空值:不知道或无意义 意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的学号姓名性别系名0101张男CS0102李女CS0203赵男MA162.3 关系的完整性(续)参照完整性 如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1 中某个元组的Pk 值,或者为空值 意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在 例如关系S在D#上的取值有两种可能空值,表示该学生尚未分到任何系中若非空值,则必须是DEPT关系
9、中某个元组的D#值,表示该学生不可能分到一个不存在的系中172.3 关系的完整性(续)学号姓名性别系名0101张男CS0102李女CS0203赵男MA课号课名CS145数据库CS148操作系统CS180数据结构学号课号成绩0101CS145880101CS148900102CS180870203CS14578182.3 关系的完整性(续)供应商号供应商名所在城市B01红星北京S10宇宙上海T20黎明天津Z01立新重庆零件号颜色供应商号010红B01312白S10 201蓝T20今要向关系P中插入新行,新行的值分别列出如下。哪些行能够插入?A(037,绿,null)B(null,黄,T20)C(
10、201,红,T20)D(105,蓝,B01)E(101,黄,T11)零件关系P(主码是“零件号”,外码是“供应商号”)供应商关系S(主码是“供应商号”)192.3 关系的完整性(续)用户定义的完整性 用户针对具体的应用环境定义的完整性约束条件 如S#要求是8位整数,SEX要求取值为“男”或“女”系统支持 实体完整性和参照完整性由系统自动支持 系统应提供定义和检验用户定义的完整性的机制20关系代数 属于关系操作的一种 关系代数是一种抽象的查询语言 通过对关系的运算来表达查询操作 运算对象、结果均为关系 运算符 集合运算符、专门的关系运算符、比较运算符、逻辑运算符21关系代数运算符222.4 关系
11、代数 基本运算 一元运算 选择、投影 多元运算 笛卡儿积、并、集合差 其它运算 集合交、自然连接、除、赋值 扩展运算 广义投影、外连接、聚集 修改操作 插入、删除、更新232.4 关系代数(续)并运算 定义 所有至少出现在两个关系中之一的元组集合R Sn两个关系R和S若进行并运算,则它们必须是相容的:关系R和S必须是同元的,即它们的属性数目必须相同对i,R的第i个属性的域必须和S的第i个属性的域相同242.4 关系代数(续)并运算ABC367257723443RABC345723SABC367257723443345RS 252.4 关系代数(续)262.4 关系代数(续)2.4 关系代数(续
12、)ABCabcbafcbdRSABCbgabafDEFghijklTABCabcbafcbdbgaR S272.4 关系代数(续)差运算 定义 所有出现在一个关系而不在另一关系中的元组集合 R和S必须是相容的R S282.4 关系代数(续)差运算ABC367257723443RABC345723SABC367257443RS ABC345SR 292.4 关系代数(续)302.4 关系代数(续)ABCabcbafcbdRSABCbgabafDEFghijklTABCabccbdR-S312.4 关系代数(续)交运算 定义 所有同时出现在两个关系中的元组集合 交运算可以通过差运算来重写RS=R
13、(R S)R S322.4 关系代数(续)交运算ABC367257723443RABC345723SABC723RS 332.4 关系代数(续)342.4 关系代数(续)ABCabcbafcbdRSABCbgabafDEFghijklTABCbafR S352.4 关系代数(续)广义笛卡尔积 元组的连串(Concatenation)若r=(r1,rn),s=(s1,sm),则定义r与s的连串为:定义 两个关系R,S,其度分别为n,m,则它们的笛卡尔积是所有这样的元组集合:元组的前n个分量是R中的一个元组,后m个分量是S中的一个元组 RS的度为R与S的度之和,RS的元组个数为R和S的元组个数的乘
14、积rs=(r1,rn,s1,sm)362.4 关系代数(续)AB12RCD10102010EaabbSAB11112222CD 1010201010102010EaabbaabbRx S372.4 关系代数(续)ABCabcbafcbdRSABCbgabafDEFghijklTR.AR.BR.CS.AS.BS.CabcbgaabcbafbafbgabafbafcbdbgacbdbafR S382.4 关系代数(续)记号说明 给定关系模式R(A1,A2,An),设R是它的一个具体的关系,tR是关系的一个元组 分量设tR,则tAi表示元组t中相应于属性Ai的一个分量 属性列Ai=Ai1,Ai2,A
展开阅读全文