第02章_关系数据库数学模型_第1页
第02章_关系数据库数学模型_第2页
第02章_关系数据库数学模型_第3页
第02章_关系数据库数学模型_第4页
第02章_关系数据库数学模型_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章、关系数据库的数学模型第二章、关系数据库的数学模型12.1 基本概念基本概念2.2 关系模型关系模型2.3 关系代数关系代数2.4 关系演算关系演算目录目录第二章、关系数据库的数学模型第二章、关系数据库的数学模型22.1 基本概念基本概念域域(Domain)定义:一组具有定义:一组具有相同数据类型相同数据类型的值的的值的集合集合。例如,假设规定人的年龄在例如,假设规定人的年龄在1至至200之间,那么之间,那么年龄对应的域就是年龄对应的域就是1至至200所有整数的集合;所有整数的集合; 如果用如果用1表示性别为男,表示性别为男,0为女,则性别对应的为女,则性别对应的域就是域就是0,1。第二

2、章、关系数据库的数学模型第二章、关系数据库的数学模型3l笛卡儿积笛卡儿积(Cartesian Product)定义:给定一组域定义:给定一组域D1,D2,Dn, 则则D1,D2,Dn的笛卡儿积为:的笛卡儿积为: D1D2Dn=(d1,d2,dn)|diDi,i=1,2,.,n 其中其中:每一个每一个元素元素(d1,d2,dn)称为一个称为一个n元组元组(n-tuple)或元组或元组(Tuple) ; 元素中的每一个值元素中的每一个值di称为一个称为一个分量分量(Component)。若若Di为有限集,其基数为有限集,其基数(Cardinal number)为为mi, 则则 D1D2Dn的基数为

3、:的基数为:niimM12.1 基本概念基本概念第二章、关系数据库的数学模型第二章、关系数据库的数学模型4笛卡儿积可表示为一个二维表,表中每行对应一个元组,笛卡儿积可表示为一个二维表,表中每行对应一个元组,每列对应一个域。每列对应一个域。例如,给出两个域:例如,给出两个域:D1=Student=王南,李婷王南,李婷,表示学生集合,表示学生集合D2=Major=理学院,信息学院理学院,信息学院,表示学院集合,表示学院集合D1D2=(王南王南,理学院理学院),(王南王南,信息学院信息学院),(李婷李婷,理学理学院院),(李婷李婷,信息学院信息学院),对应二维表为:,对应二维表为:D1D2 基数为基

4、数为4。D1D2 共共4个元组。个元组。StudentMajor王南理学院王南信息学院李婷理学院李婷信息学院2.1 基本概念基本概念第二章、关系数据库的数学模型第二章、关系数据库的数学模型5l关系关系(Relation)定义:定义:D1D2Dn的子集称为域的子集称为域D1,D2,Dn上的关上的关系,表示为:系,表示为:R(D1,D2,Dn)其中,其中,R可以任意命名,是关系的名称,可以任意命名,是关系的名称,n是关系的是关系的目或目或度度(Degree)。关系关系是笛卡儿积的有限子集,也是一个二维表,表的每行是笛卡儿积的有限子集,也是一个二维表,表的每行对应一个对应一个元组元组,每列对应一个域

5、。每列的名字称为,每列对应一个域。每列的名字称为属性属性(Attribute)。若关系中某一属性组能唯一标识一个元组,则称该属性组若关系中某一属性组能唯一标识一个元组,则称该属性组为为候选键候选键(Candidate key);候选键中可以选定一个作为;候选键中可以选定一个作为主键主键(Primary key)。主键的诸属性称为。主键的诸属性称为主属性主属性(Prime attribute)。例如,学生关系中的学号可设为主键。例如,学生关系中的学号可设为主键。2.1 基本概念基本概念第二章、关系数据库的数学模型第二章、关系数据库的数学模型6例如,前页的表中,可以取出一个子集作为关系,名称为例如

6、,前页的表中,可以取出一个子集作为关系,名称为SUBR,属性命名为,属性命名为StuName和和Maj_Desp,表示为:,表示为:SUBR(StuName,Maj_Desp)关系的每个分量必须是不可分的。例如,下面的表不能表关系的每个分量必须是不可分的。例如,下面的表不能表示为关系(不能有表中表):示为关系(不能有表中表):StuNameMaj_Desp王南理学院李婷理学院姓名姓名工资工资奖金奖金提成提成张三500800李四7003002.1 基本概念基本概念第二章、关系数据库的数学模型第二章、关系数据库的数学模型72.2 关系模型关系模型关系模型包括关系模型包括数据结构、关系操作和完整性数

7、据结构、关系操作和完整性。l数据结构数据结构关系模型的数据模型非常单一,实体和实体间联系均使用关系模型的数据模型非常单一,实体和实体间联系均使用关系表示。可以将关系理解为一个二维表格。关系表示。可以将关系理解为一个二维表格。第二章、关系数据库的数学模型第二章、关系数据库的数学模型8l关系操作关系操作关系模型是基于关系代数数学基础的模型,关系运算关系模型是基于关系代数数学基础的模型,关系运算的语言分为两类:的语言分为两类:l关系代数语言:把关系当作集合,常用的关系操作有交、关系代数语言:把关系当作集合,常用的关系操作有交、并、差、除法、选择、投影和连接等。并、差、除法、选择、投影和连接等。l关系

8、演算语言:使用谓词来表达查询的要求。若谓词的对关系演算语言:使用谓词来表达查询的要求。若谓词的对象是元组变量,称为元组关系演算;若为域变量,称为域象是元组变量,称为元组关系演算;若为域变量,称为域关系演算。关系演算。SQL语言:结合了关系代数和关系演算的优点,是关语言:结合了关系代数和关系演算的优点,是关系数据库的标准语言。系数据库的标准语言。2.2 关系模型关系模型第二章、关系数据库的数学模型第二章、关系数据库的数学模型9l完整性完整性1. 实体完整性实体完整性l规则:若属性规则:若属性A为基本关系为基本关系R的主属性,则属性的主属性,则属性A不不能取空值。能取空值。l例如,学生关系中,如果

9、学号是主键,则所有的元例如,学生关系中,如果学号是主键,则所有的元组(即学生的记录)中学号属性不能为空,因为每组(即学生的记录)中学号属性不能为空,因为每个学生必有学号。个学生必有学号。1982年12月4日女王珊010210 1982年3月19日1982年6月9日出生日期李婷王南姓名备注女010208男010205性别学号学号学生关系(表)主键为:学号主键为:学号王珊的记录信息是关系的一个元组。2.2 关系模型关系模型第二章、关系数据库的数学模型第二章、关系数据库的数学模型102. 参照完整性参照完整性l外码(外码(Foreign Key):设):设F是关系是关系R1的一组属性,但的一组属性,

10、但不是不是R1的主键;如果的主键;如果F与关系与关系R2的主键的主键P对应,则称对应,则称F是关系是关系R1的外键。并称关系的外键。并称关系R1为参照关系为参照关系(Referencing Relation),关系,关系R2为被参照关系为被参照关系(Referenced Relation)或或目标关系目标关系(Target Relation)。R1和和R2也可能是同一个关系。也可能是同一个关系。l例如,现在有两个关系,分别表示学生信息和学院信息:例如,现在有两个关系,分别表示学生信息和学院信息:R1(学号,姓名,性别,所在学院编号学号,姓名,性别,所在学院编号)R2(学院编号,学院名称,学院位

11、置学院编号,学院名称,学院位置)参见下页的图形:参见下页的图形:2.2 关系模型关系模型第二章、关系数据库的数学模型第二章、关系数据库的数学模型11学号姓名性别所在学院编号010205王南男001010208李婷女001 R1:学生信息关系(表)学院编号学院名称学院位置001材冶学院采矿馆002信息学院主楼 R2:学院信息关系(表)u“学号学号”是是R1的主键。的主键。u“学院编号学院编号”是是R2的主键。的主键。uR1中的中的“所在学院编号所在学院编号”要参照要参照R2的的“学院编号学院编号”取值;二者定义在同一取值;二者定义在同一个域上。个域上。u“所在学院编号所在学院编号”是是R1的外键

12、。的外键。uR1为参照关系;为参照关系;R2为被参照关系。为被参照关系。2.2 关系模型关系模型第二章、关系数据库的数学模型第二章、关系数据库的数学模型12关系数据库中,一个关系可以看作是一个关系数据库中,一个关系可以看作是一个_ 思考题:思考题:一个关系中某个属性的值能唯一标识关系中的每一个元组,一个关系中某个属性的值能唯一标识关系中的每一个元组,该属性称为该属性称为_关系模型包括三部分:关系模型包括三部分: _ _ _ 第二章、关系数据库的数学模型第二章、关系数据库的数学模型132.3 关系代数1.1.运算对象运算对象 关系,将整个关系作为运算单位(操作数),关系,将整个关系作为运算单位(

13、操作数),用关系代数表达式表示的运算方法。用关系代数表达式表示的运算方法。2.2.关系操作分类关系操作分类l传统的集合操作(并、差、交、笛卡尔积)传统的集合操作(并、差、交、笛卡尔积)l扩充的关系操作(投影、选择、连接、除法)扩充的关系操作(投影、选择、连接、除法)第二章、关系数据库的数学模型第二章、关系数据库的数学模型14l传统的集合运算传统的集合运算并并(Union)l关系关系R和和S的并记作:的并记作:RS=t|tRtS,即属于,即属于R或或S的所有元组。的所有元组。lR和和S应该有相同的目,即属性个数相同,类型相同应该有相同的目,即属性个数相同,类型相同。ABCa1b1c1a1b2c2

14、a2b2c1R关系ABCa1b2c2a2b2c2a2b2c1S关系RSABCa1b1c1a1b2c2a2b2C1a2b2c22.3 关系代数关系代数第二章、关系数据库的数学模型第二章、关系数据库的数学模型152.3 关系代数关系代数差差(Difference)l关系关系R和和S的差记作:的差记作:R-S=t|tRt !S,即属于,即属于R且不属于且不属于S的所有元的所有元组。组。lR和和S应该有相同的目,即属性个数相同,类型相同。应该有相同的目,即属性个数相同,类型相同。ABCa1b1c1a1b2c2a2b2c1R关系ABCa1b2c2a2b2c2a2b2c1S关系R-SABCa1b1c1第二

15、章、关系数据库的数学模型第二章、关系数据库的数学模型16交交(Intersection)l关系关系R和和S的交记作:的交记作:RS=t|tRt S,即属于,即属于R且属于且属于S的的所有元组。所有元组。lR和和S应该有相同的目,即属性个数相同,类应该有相同的目,即属性个数相同,类型相同。型相同。ABCa1b1c1a1b2c2a2b2c1R关系ABCa1b2c2a2b2c2a2b2c1S关系RSABCa1b2C2a2b2c12.3 关系代数关系代数第二章、关系数据库的数学模型第二章、关系数据库的数学模型17广义笛卡儿积广义笛卡儿积(Extended Cartesian Product)ln目关系

16、目关系R和和m目目S的广义笛卡儿积为的广义笛卡儿积为n+m目关系,记目关系,记作作RS。其中,前。其中,前n个属性为个属性为R的属性集,后的属性集,后m个属个属性为性为S的属性集,的属性集, RS中的每个元组为每一个中的每个元组为每一个R元组元组与所有与所有S元组的组合。元组的组合。l若若R有有K1个元组,个元组,S有有K2个元组,则个元组,则RS共有共有K1K2个元组。个元组。ABCa1b1c1a1b2c2R关系ABCa1b2c2a2b2c2a2b2c1S关系RSABCABCa1b1c1a1b2c2a1b1c1a2b2c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a2b2c

17、2a1b2c2a2b2c12.3 关系代数关系代数第二章、关系数据库的数学模型第二章、关系数据库的数学模型18l扩充的关系运算扩充的关系运算选择选择(Selection)l在关系在关系R中选择满足条件的元组,记作:中选择满足条件的元组,记作:F(R)t|tRF(t)=TRUE,F可以是逻辑运算符可以是逻辑运算符(如如AND,OR等等)和关系运算符和关系运算符(,=等等)的组合。的组合。l选择运算就是从关系选择运算就是从关系R中选取使逻辑表达式中选取使逻辑表达式F为为TRUE的元组。的元组。SNOSNAMESDEP010203王南机械学院010204李婷信息学院010205张力信息学院Stude

18、nt关系SDEP=信息学院(Student)SNOSNAMESDEP010204李婷信息学院010205张力信息学院2.3 关系代数关系代数第二章、关系数据库的数学模型第二章、关系数据库的数学模型19SNO(学号)SNAME(姓名)SGEN(性别)SAGE(年龄)SDEP(学院)010203 王南男18机械学院010204 李婷女19信息学院010205 张力男22信息学院例:Student关系 SGEN=男 AND SAGE5表示表示“t的第二个分量大于的第二个分量大于5”;s6=“张力张力”表示表示“s的第六个分量等于的第六个分量等于张力张力”第二章、关系数据库的数学模型第二章、关系数据库

19、的数学模型292.4 关系演算关系演算3. tiuj lt和和u是两个元组变量,是两个元组变量,是算术运算比较符。是算术运算比较符。 titj 表示表示“元组元组t的第的第i个分量与元组个分量与元组u的第的第j个分量之间满足个分量之间满足运算运算”。l例如,例如,s12s24表示表示“s1元组的第元组的第2个分量大于个分量大于s2的第的第4个分量个分量”;l常用量词和逻辑运算符常用量词和逻辑运算符存在量词和全程量词存在量词和全程量词l存在量词存在量词l全程量词全程量词l如果元组变量前没有存在量词和全程量词,则称这个如果元组变量前没有存在量词和全程量词,则称这个元组变量为自由的元组变量,否则称为

20、约束的元组变元组变量为自由的元组变量,否则称为约束的元组变量。量。 (取反)(且);(或);第二章、关系数据库的数学模型第二章、关系数据库的数学模型30l元组关系演算表示关系代数的五种基本运算元组关系演算表示关系代数的五种基本运算并并lRS=t|R(t)S(t),表示,表示RS的结果是元组的结果是元组t的的集合,集合,t在在R中或在中或在S中。中。差差l表示表示R-S结果是元组结果是元组t的集合,的集合,t在在R中而不在中而不在S中。中。笛卡儿积笛卡儿积l设设R和和S分别是分别是m和和n目关系:目关系:)()(|tStRtSR) 1 1 1 1 )()()()( |)()()(nvnmtvmt

21、mumtutvSuRvutSRnmnm2.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型31lRS是是m+n目关系,结果是这样一些元组集合:存目关系,结果是这样一些元组集合:存在一个元组变量在一个元组变量u和元组变量和元组变量v,并且,并且t的前的前m个分量个分量构成构成u,后,后n个分量构成个分量构成v。投影投影l公式中,关系公式中,关系R在属性在属性i1,i2ik上的投影是上的投影是k目元组目元组t(k)的集合,对于的集合,对于t(k)的任何一个属性,都满足的任何一个属性,都满足t(k)的属性的属性k与元组与元组u的属性的属性ik相同。相同。选择选择lF(R)

22、=t|R(t)F,其中,其中F表示表示F的等价公式。的等价公式。l选择的结果是元组选择的结果是元组t的集合,的集合,t是关系是关系R的一个子集,的一个子集,且它的每个元组均同时满足等价公式且它的每个元组均同时满足等价公式F的要求。的要求。 1 )()( |)(1)(,21kkiiiiuktiutuRutRk2.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型32l举例ABCae8cf6db4df3R关系S关系ABCac8bc5db4df6)()(|1tStRtRABCae8cf6df3属于R的元组且不属于S的元组,即从R中去除二者公共的元组(d,b,4)。2.4 关

23、系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型33l举例2ABCae8cf6db4df3R关系2)(|2fttRtRABCcf6df3R的元组中,第二个分量B中等于f的元组集合。2.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型34l举例3ABCae8cf6db4df3R关系4 3)(|3ttRtRR的元组中,第三个分量C中大于等于4的元组集合。ABCae8cf6db42.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型35l举例4ABCae8cf6db4df3R关系S关系ABCac8bc5db4df6)()(|

24、4tStRtR属于R的元组且属于S的元组,即 (d,b,4)。ABCdb42.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型36域关系演算与元组关系演算类似,不同的是公式中的变量不域关系演算与元组关系演算类似,不同的是公式中的变量不是元组变量而是表示元组变量中各分量的域变量。域关系演是元组变量而是表示元组变量中各分量的域变量。域关系演算表达式的一般形式是:算表达式的一般形式是:t1,t2,tk|(t1,t2,tk),其中,其中t1,t2,tk是元组变量是元组变量t的的各个分量,都称为域变量;各个分量,都称为域变量;是一个公式,由原子公式和各是一个公式,由原子公式和

25、各种运算符构成种运算符构成。l原子公式的三种形式原子公式的三种形式1. R(t1,t2,tk)lR是是k目关系,目关系,ti是域变量或常量,是域变量或常量,R(t1,t2,tk)表示表示有分量组成的元组在有分量组成的元组在R中。中。2.4 关系演算关系演算第二章、关系数据库的数学模型第二章、关系数据库的数学模型372. tic或或c ti lti表示元组表示元组t的第的第i个域变量,个域变量,c为常量,为常量,是算术运算是算术运算比较符。比较符。 tic或或c ti 表示表示t与常数与常数c之间满足之间满足运算。运算。3. tiujlti表示元组表示元组t的第的第i个域变量,个域变量, tj表示元组表示元组u的第的第j个域个域变量。变量。 l是算术运算比较符。是算术运算比较符。ltiuj表示表示ti和和uj之间满足之间满足运算。运算

温馨提示

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

评论

0/150

提交评论