关系数据库设计理论ppt课件.ppt_第1页
关系数据库设计理论ppt课件.ppt_第2页
关系数据库设计理论ppt课件.ppt_第3页
关系数据库设计理论ppt课件.ppt_第4页
关系数据库设计理论ppt课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1,第二章第一讲关系数据库设计理论,2,本章要点,1、关系模型的概念与分类2、关系数据结构及定义3、关系代数的基本运算4、关系完整性5、关系数据库设计与设计规范,3,2.1关系模型2.1.1关系的一些术语(1)关系:在关系模型中,一个关系就是一张二维表。(2)属性:表中的列称为属性,每一个列有一个属性名。(3)元组:表中的行称为元组。(4)域:具有相同数据类型的值的集合称为域(Domain),域是属性的取值范围。(5)候选码:如果关系中的某个属性或属性组能唯一地标识一个元组,称该属性或属性组为候选码。(6)主码(主键):若一个关系中有多个候选码,则选定其中一个为主码(主键)。主码的属性称为主属性。(7)外码(外键):设F是基本关系R的一个或一组属性,但不是R的候选码,如果F与基本关系S的主码Ks相对应,则称F为基本关系R的外码。,4,域(Domain)定义:一组具有相同数据类型的值的集合。例如,假设规定人的年龄在1至200之间,那么年龄对应的域就是1至200所有整数的集合;如果用1表示性别为男,0为女,则性别对应的域就是0,1。,5,2.1.2关系模型关系模型是用二维表格结构来表示实体及实体间联系的模型。关系模型由关系数据结构、关系操作集合和完整性规则三部分组成。关系模型的特点:(1)关系必须规范化,指关系模型中的每一个关系模式都必须满足一定的要求;(2)模型概念单一;(3)集合操作,操作对象和结果都是元组的集合,即关系。,6,关系模型,关系模型包括数据结构、关系操作和完整性。数据结构关系模型的数据模型非常单一,实体和实体间联系均使用关系表示。可以将关系理解为一个二维表格。,7,关系操作关系模型是基于关系代数数学基础的模型,关系运算的语言分为两类:关系代数语言:把关系当作集合,常用的关系操作有交、并、差、除法、选择、投影和连接等。关系演算语言:使用谓词来表达查询的要求。若谓词的对象是元组变量,称为元组关系演算;若为域变量,称为域关系演算。SQL语言:结合了关系代数和关系演算的优点,是关系数据库的标准语言。,8,完整性1.实体完整性规则:若属性A为基本关系R的主属性,则属性A不能取空值。例如,学生关系中,如果学号是主键,则所有的元组(即学生的记录)中学号属性不能为空,因为每个学生必有学号。,9,2.参照完整性外码(ForeignKey):设F是关系R1的一组属性,但不是R1的键;如果F与关系R2的主键P对应,则称F是关系R1的外键。并称关系R1为参照关系(ReferencingRelation),关系R2为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。R1和R2也可能是同一个关系。例如,现在有两个关系,分别表示学生信息和学院信息:R1(学号,姓名,性别,所在学院编号)R2(学院编号,学院名称,学院位置)参见下页的图形:,2.2关系模型,10,R1:学生信息关系(表),R2:学院信息关系(表),“学号”是R1的主键。“学院编号”是R2的主键。R1中的“所在学院编号”要参照R2的“学院编号”取值;二者定义在同一个域上。“所在学院编号”是R1的外键。R1为参照关系;R2为被参照关系。,2.2关系模型,11,关系数据库中,一个关系可以看作是一个_,思考题:,一个关系中某个属性的值能唯一标识关系中的每一个元组,该属性称为_,关系模型包括三部分:_,12,2.2关系数据结构及形式化表示,在关系模型中,无论是实体还是实体之间的联系都由单一的结构类型关系来表示。2.2.1关系数据结构(1)笛卡儿积(CartesianProduct)设有一组域D1,D2,Dn,这些域可以部分或者全部相同。域D1,D2,Dn的笛卡儿积定义为如下集合:D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n其中每一个元素(d1,d2,dn)称为一个n元组(或简称元组),元素中的每一个值称为一个分量。人们通常感兴趣的是笛卡儿积的某些子集,笛卡儿积的子集就是一个关系。,13,笛卡儿积可表示为一个二维表,表中每行对应一个元组,每列对应一个域。例如,给出两个域:D1=Student=王南,李婷,表示学生集合D2=Major=理学院,信息学院,表示学院集合D1D2=(王南,理学院),(王南,信息学院),(李婷,理学院),(李婷,信息学院),对应二维表为:D1D2基数为4。D1D2共4个元组。,14,(2)关系(Relation)笛卡儿积D1D2Dn的子集R称为在域D1,D2,Dn上的一个关系(Relation),通常表示为:R(D1,D2,Dn)其中,R表示关系的名称,n称为关系R的元数或度数(Degree),而关系R中所含有的元组个数称为R的基数(CardinalNumber)。在关系模型中,对关系作了下列规范性限制:关系中不允许出现相同的元组;不考虑元组之间的顺序,即没有元组次序的限制;关系中每一个属性值都是不可分解的;关系中属性顺序可以任意交换;同一属性下的各个属性的取值必须来自同一个域,是同一类型的数据;关系中各个属性必须有不同的名字。,15,2.2.2关系模式关系模式是对关系的描述。关系是元组的集合,也就是笛卡儿积的一个子集。因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性和域之间的映像关系。其次,一个关系通常是由赋予它的元组语义来确定的,元组语义实质上是一个n目谓词(n是属性集中属性的个数)。凡使该n目谓词为真的笛卡儿积中的元素(或者说凡符合元组语义的元素)的全体就构成了该关系模式的关系。关系的描述称为关系模式(relationschema)。它可以形式化地表示为:R(U,D,Dom,F)其中R为关系名,U为组成关系的属性名集合,D为属性组U中属性所来自的域,Dom为属性向域的映像集合,F为属性间数据依赖关系的集合。,16,2.3关系代数,1.运算对象关系,将整个关系作为运算单位(操作数),用关系代数表达式表示的运算方法。2.关系操作分类传统的集合操作(并、差、交、笛卡尔积)扩充的关系操作(投影、选择、连接、除法),17,传统的集合运算并(Union)关系R和S的并记作:RS=t|tRtS,即属于R或S的所有元组。R和S应该有相同的目,即属性个数相同,类型相同。,R关系,S关系,RS,2.3关系代数,18,2.3关系代数,差(Difference)关系R和S的差记作:R-S=t|tRt!S,即属于R且不属于S的所有元组。R和S应该有相同的目,即属性个数相同,类型相同。,R关系,S关系,R-S,19,交(Intersection)关系R和S的交记作:RS=t|tRtS,即属于R且属于S的所有元组。R和S应该有相同的目,即属性个数相同,类型相同。,R关系,S关系,RS,2.3关系代数,20,广义笛卡儿积(ExtendedCartesianProduct)n目关系R和m目S的广义笛卡儿积为n+m目关系,记作RS。其中,前n个属性为R的属性集,后m个属性为S的属性集,RS中的每个元组为每一个R元组与所有S元组的组合。若R有K1个元组,S有K2个元组,则RS共有K1K2个元组。,R关系,S关系,RS,2.3关系代数,21,扩充的关系运算选择(Selection)在关系R中选择满足条件的元组,记作:F(R)=t|tRF(t)=TRUE,F可以是逻辑运算符(如AND,OR等)和关系运算符(,=等)等的组合。选择运算就是从关系R中选取使逻辑表达式F为TRUE的元组。,Student关系,SDEP=信息学院(Student),2.3关系代数,22,例:Student关系,SGEN=男ANDSAGE20(Student),2.3关系代数,23,专门的关系运算投影(Projection)从关系R中选择若干属性列,组成新的元组,记作:A(R)tA|tR,其中A为R中的属性列。投影操作是从列的角度参加的运算;如果取消某些属性列后,出现重复的行,则去掉这些完全相同的行。,Student关系,SNO,SNAME(Student),2.3关系代数,24,A,B,C,10203040,1112,=,则:A,C(R),例:若关系R,25,连接(Join)从关系R和关系S的笛卡尔积中选择属性间满足一定条件的元组,记作:当为=时,称为等值连接。见下页的等值连接例子。,2.3关系代数,26,R关系,RS,S关系,取R.B=S.B的所有元组,2.3关系代数,27,自然连接(NaturalJoin)从两个关系的笛卡儿积中选择出公共属性值相等的元组,并在结果中去掉重复的属性列,记作:自然连接是一种特殊的等值连接,只有两个关系有相同属性组时才可以参加。,2.3关系代数,28,R关系,RS,S关系,取R.B=S.B且R.C=R.C的所有元组,2.3关系代数,去掉重复属性,29,除法(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z均为属性组,R和S的属性组Y属于同一个域。RS得到一个新关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集包含S在Y上投影的集合。象集:R(A,B,C)为关系,A、B、C为属性组,a1在R中的象集为R中属性组A上值为a1的各元组在B、C上分量的集合。,2.3关系代数,30,R关系,S关系,1.根据除法规则可知,RS的属性列为R的属性列(A,B,C)中去掉S中相同的(B,C),故RS的属性列为A。,2.A可能的取值为a1,a2,a3,3.R中a1的象集为b1,c2,b2,c3,b2,c1;R中a2的象集为b2,c1;R中a3的象集为b4,c6;,4.S在(B,C)的投影为b1,c2,b2,c1,b2,c3;,5.只有a1的象集包含了S在(B,C)的投影,所以RS=a1,RS,2.3关系代数,31,集合运算并、差、交是集合的传统运算形式,进行集合运算的关系R与S必须具有相同的关系模式,即R和S必须具有相同的属性集。1.集合的并运算设有关系R、S(R、S具有相同的关系模式),二者的“并”运算定义为:RS=t|tRtS式中“”为并运算符,t为元组变量,结果RS为一个新的与R、S同类的关系,该关系是由属于R和S的元组构成的集合。例如,合并两个相同结构的数据表,就是两个关系的并集。,32,2.集合的差运算设有关系R、S(R、S具有相同的关系模式),二者的“差”运算定义为:R-S=t|tRtS式中“-”为差运算符,t为元组变量,结果R-S为一个新的与R、S同类的关系,该关系是由属于R但不属于S的元组构成的集合,即在R中减去与S中元组相同的那些元组。3.集合的交运算设有关系R、S(R、S具有相同的关系模式),二者的“交”运算定义为:RS=t|tRtS式中“”为交运算符,结果RS为一个新的与R、S同类的关系,该关系是由属于R而且属于S的元组构成的集合,即两者所有的相同的那些元组的集合。,33,本章内容总结作业:1.解释下列术语

温馨提示

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

最新文档

评论

0/150

提交评论