资源描述
数据库系统概论数据库系统概论An Introduction to Database System第二章第二章 关系数据库关系数据库第二章第二章 关系数据库关系数据库v19701970年,年,IBMIBM公司的公司的E.F.CoddE.F.Codd第一次提出了以数第一次提出了以数学关系理论为基础的关系数据模型学关系理论为基础的关系数据模型,奠定了关系数奠定了关系数据库的理论基础据库的理论基础v上世纪上世纪9090年代,关系模型数据库系统已成为商用年代,关系模型数据库系统已成为商用主流数据库系统,广泛应用于各个领域主流数据库系统,广泛应用于各个领域v有名的关系有名的关系DBMSDBMS:ORACLEORACLE、InformixInformix、SYBASESYBASE、SQL SERVERSQL SERVER等等等等第二章第二章 关系数据库关系数据库 2.12.1关系数据结构及形式化定义关系数据结构及形式化定义 2.22.2关系的完整性关系的完整性 2.32.3关系操作关系操作/代数代数 2.42.4小结小结2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义v域(域(DomainDomain)一组值的集合,这组值具有相同的数据类型一组值的集合,这组值具有相同的数据类型如整数的集合、字符串的集合、全体学生的集合如整数的集合、字符串的集合、全体学生的集合v笛卡尔积(笛卡尔积(Cartesian ProductCartesian Product)一组域一组域D D1 1,D,D2 2,D Dn n的笛卡尔积为的笛卡尔积为:D D1 1D D2 2D Dn n =(d=(d1 1,d,d2 2,d dn n)|)|d di iDDi i ,i=1,i=1,n,n笛卡尔积的每个元素笛卡尔积的每个元素(d(d1 1,d,d2 2,d dn n)称作一个称作一个n-n-元组元组(n-tuplen-tuple)元组的每一个值元组的每一个值d di i叫做一个分量(叫做一个分量(componentcomponent)若若D Di i的基数为的基数为mmi i,则笛卡尔积的基数为则笛卡尔积的基数为 2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义例:设例:设 D D1 1为教师集合(为教师集合(T T)=t=t1 1,t t2 2 D D2 2为学生集合(为学生集合(S S)=s=s1 1,s s2 2,s s3 3 D D3 3为课程集合(为课程集合(C C)=c=c1 1,c c2 2 则则D D1 1D D2 2D D3 3是个三元组集合,元组个数为是个三元组集合,元组个数为2 23 32 2,是所有可能的(教师,学生,课程),是所有可能的(教师,学生,课程)元组集合元组集合2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义笛卡尔积可表为二维表的形式笛卡尔积可表为二维表的形式TSCt1s1c1t1s1c2t1s2c1t2s3c22.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义v关系关系笛卡尔积笛卡尔积D D1 1D D2 2D Dn n的子集叫做在域的子集叫做在域D D1 1,D,D2 2,D Dn n上的关系,用上的关系,用R(DR(D1 1,D,D2 2,D Dn n )表示表示R R是关系的名字,是关系的名字,n n是关系的度或目是关系的度或目关系是笛卡尔积中有意义的子集关系是笛卡尔积中有意义的子集关系也可以表示为二维表关系也可以表示为二维表关系关系TEACH(T,S,C)TEACH(T,S,C)2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义TSCt1s1c1t1s1c2t1s2c1t2s3c2属性元组2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义v候候选选码码:若若关关系系中中的的某某一一属属性性组组的的值值能能唯唯一一地地标标识一个元组,则称该数据组为候选码。识一个元组,则称该数据组为候选码。v若若一一个个关关系系有有多多个个候候选选码码,则则选选定定其其中中一一个个为为主主码码。主主码码的的诸诸属属性性称称为为主主属属性性。不不包包含含在在任任何何候候选选码码中中的的属属性性称称为为非非码码属属性性。关关系系模模式式的的所所有有数数据组是这个关系模式的候选码,称为全码。据组是这个关系模式的候选码,称为全码。v关关系系可可以以有有三三种种类类型型:基基本本表表是是实实际际存存在在的的表表,它它是是实实际际存存储储数数据据的的逻逻辑辑表表示示。查查询询表表是是查查询询结结果果对对应应的的表表。视视图图表表是是由由基基本本表表或或其其他他视视图图表表导导出的表,是虚表,不对应实际存储的数据。出的表,是虚表,不对应实际存储的数据。2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义v当当关关系系作作为为关关系系数数据据模模型型的的数数据据结结构构时时,需需要给予如下的限定和扩充:要给予如下的限定和扩充:无无限限关关系系在在数数据据库库系系统统中中时时无无意意义义的的。因因此此,限限定定关关系系数数据据模模型型中中的的关关系系必必须须是是有限集合。有限集合。通通过过为为关关系系的的每每个个列列附附加加一一个个属属性性名名的的方法取消关系元组的有序性。方法取消关系元组的有序性。2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义v关系的性质关系的性质列是同质的:即每一列中的分量来自同一域,是列是同质的:即每一列中的分量来自同一域,是同一类型的数据。同一类型的数据。不同的列可以来自同一域,每列必须有不同的属不同的列可以来自同一域,每列必须有不同的属性名。性名。行列的顺序无关紧要行列的顺序无关紧要任意两个元组不能完全相同(集合内不能有相同任意两个元组不能完全相同(集合内不能有相同的两个元素)的两个元素)每一分量必须是不可再分的数据。满足这一条件每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式(的关系称作满足第一范式(1NF1NF)的)的2.1.2 2.1.2 关系模式关系模式v关关系系的的描描述述称称为为关关系系模模式式。它它可可以以形形式式化化地地表表示示为为:R(U,D,dom,F)R(U,D,dom,F),其其中中R R为为关关系系名名,U U为为组组成成该该关关系系的的属属性性名名集集合合,D D为为属属性性组组U U中中属属性性所所来来自自的的域域,domdom为为属属性性向向域域的的映映象象集集合合,F F为为属属性性间间数数据据的依赖关系集合。的依赖关系集合。v关系模式通常可以简记为:关系模式通常可以简记为:R(U)R(U)或或R(A1,A2,R(A1,A2,AN),AN),其中,其中R R为关系名,为关系名,A1,A2,A1,A2,AN,AN为属性名。为属性名。而域名及属性向域的映象常常直接说明为属性的而域名及属性向域的映象常常直接说明为属性的类型、长度。类型、长度。第二章第二章 关系数据库关系数据库 2.12.1关系数据结构及形式化定义关系数据结构及形式化定义 2.22.2关系的完整性关系的完整性 2.32.3关系操作关系操作/代数代数 2.42.4小结小结2.2 2.2 关系的完整性关系的完整性v关系模型的完整性规则是对关系的某种约束条件。关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:关系模型中可以有三类完整性约束:实体完整性实体完整性 参照完整性参照完整性 用户定义的完整性用户定义的完整性 其中,实体完整性和参照完整性是关系模型必须其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个满足的完整性约束条件,被称为是关系的两个不不变性变性,应该由关系系统自动支持。,应该由关系系统自动支持。2.2 2.2 关系的完整性关系的完整性一、实体完整性一、实体完整性v实实体体完完整整性性规规则则:若若属属性性A A是是基基本本关关系系R R的的主主属属性性,则属性则属性A A不能取空值。不能取空值。v基基本本关关系系的的主主码码都都不不能能取取空空值值。如如果果主主码码由由若若干干属属性组成,则所有这些主属性都不能取空值。性组成,则所有这些主属性都不能取空值。例:选修(例:选修(学号,课程号学号,课程号,成绩),成绩)“学学号号”和和“课课程程号号”不不能能取取空空值值,而而不不是是整整体体不不为为空空。2.2 2.2 关系的完整性关系的完整性对于实体完整性规则说明如下:对于实体完整性规则说明如下:v一一个个基基本本表表通通常常对对应应现现实实世世界界的的一一个个实实体体集集。例例如如学学生生关关系对于学生集合。系对于学生集合。v现现实实世世界界中中的的实实体体是是可可区区分分的的,即即它它们们具具有有某某种种唯唯一一性性标标识。识。每个学生都是独立的个体,各不一样。每个学生都是独立的个体,各不一样。v关系模型中以主码作为唯一标识。关系模型中以主码作为唯一标识。例如学生关系中的学号。例如学生关系中的学号。v主主码码中中的的属属性性即即主主属属性性不不能能取取空空值值。所所谓谓空空值值就就是是“不不知知道道”或或“不确定不确定”的值。的值。v主码也不能取重复值。主码也不能取重复值。2.2 2.2 关系的完整性关系的完整性二、参照完整性二、参照完整性v现现实实世世界界中中的的实实体体之之间间往往往往存存在在某某种种联联系系,在在关关系系模模型型中中实实体体与与实实体体间间的的联联系系都都是是用用关关系系来来描描述述。这这样样就就自自然然存存在在着着关关系系与与关关系系间间的的引引用用。引引用用的的时时候候,必须取基本表中已经存在的值。必须取基本表中已经存在的值。例例1 1:学生(:学生(学号学号,姓名,性别,姓名,性别,专业号专业号,年龄),年龄)专业(专业(专业号专业号,专业名),专业名)例例2 2:学生(:学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(选修(学号,课程号学号,课程号,成绩),成绩)例例3 3:学生(:学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长)2.2 2.2 关系的完整性关系的完整性v外外码码定定义义:设设F F是是基基本本关关系系R R的的一一个个或或一一组组属属性性,但但不不是是关关系系R R的的码码,如如果果F F与与基基本本关关系系S S的的主主码码K Ks s相相对对应应,则则称称F F是是基基本本关关系系R R的的外外码码(Foreign Foreign KeyKey),并并称称基基本本关关系系R R为为参参照照关关系系,基基本本关关系系S S为为被被参参照照关关系系或或目目标标关关系系。关关系系R R和和S S不不一一定定是是不同的关系。不同的关系。R(KR(Kr r,F,F,),),S(KS(Ks s,)v注注意意:F F不不能能是是关关系系R R的的主主码码,K Ks s必必须须是是关关系系S S的的主码。主码。2.2 2.2 关系的完整性关系的完整性v显显然然,目目标标关关系系S S的的主主码码K Ks s和和参参照照关关系系的的外外码码F F必必须定义在同一(或一组)域上。须定义在同一(或一组)域上。v外外码码并并不不一一定定要要与与相相应应的的主主码码同同名名。不不过过,在在实实际际应应用用当当中中,为为了了便便于于识识别别,当当外外码码与与相相应应的的主主码属于不同的关系时,往往给它们取相同的名字。码属于不同的关系时,往往给它们取相同的名字。v参参照照完完整整性性规规则则就就是是定定义义外外码码与与主主码码之之间间的的引引用用规则规则 2.2 2.2 关系的完整性关系的完整性v参参照照完完整整性性规规则则:若若属属性性(或或属属性性组组)F F是是基基本本关关系系R R的的外外码码,它它与与基基本本关关系系S S的的主主码码K Ks s相相对对应应(基基本本关关系系R
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索