《【教学课件】第3章关系模型、语言及系统.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章关系模型、语言及系统.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第第第3 3章关系模型、章关系模型、章关系模型、章关系模型、语言及系统语言及系统语言及系统语言及系统本章内容本章内容关系模型概念关系模型概念*关系约束关系约束*关系数据库模式关系数据库模式*基本关系代数操作基本关系代数操作学号:学号学号:学号学号:学号学号:学号姓名:姓名姓名:姓名姓名:姓名姓名:姓名性别性别性别性别:性别性别性别性别年龄:年龄年龄:年龄年龄:年龄年龄:年龄0001503900015039瞿毅臻瞿毅臻瞿毅臻瞿毅臻男男男男19190001504000015040安基文安基文安基文安基文男男男男19190001504100015041蒋林蒋林蒋林蒋林男男男男1919男,女男,女男
2、,女男,女10-7010-70TEXT(20)TEXT(20)学号范围学号范围学号范围学号范围域域域域关关关关系系系系主码主码主码主码属性属性属性属性度度度度元元元元组组组组基基基基数数数数域、元组和关系域、元组和关系-域域q定义定义3.1 域域(Domain):是一组具有相同数据类型是一组具有相同数据类型的值的集合。的值的集合。可以为每个域指定一个数据类型可以为每个域指定一个数据类型(data type)或格式或格式(format)它可以是系统定义的类型,也可以是用户自它可以是系统定义的类型,也可以是用户自定义的数据类型定义的数据类型域域-SQL Server的基本数据类型的基本数据类型qq
3、整数整数整数整数 bigintbigint 8 8 从从从从 -263(-9223372036854775808)-263(-9223372036854775808)到到到到 263-1 263-1(9223372036854775807)(9223372036854775807)的整型数据(所有数字)。的整型数据(所有数字)。的整型数据(所有数字)。的整型数据(所有数字)。IntInt 4 4 从从从从 -231(-2,147,483,648)-231(-2,147,483,648)到到到到 231-1(2,147,483,647)231-1(2,147,483,647)的整型数据(所有数字
4、)。的整型数据(所有数字)。的整型数据(所有数字)。的整型数据(所有数字)。smallintsmallint 2 2 从从从从 -215(-32,768)-215(-32,768)到到到到 215-1(32,767)215-1(32,767)的整数数据。的整数数据。的整数数据。的整数数据。t tinyintinyint 1 1 从从从从 0 0 到到到到 255 255 的整数数据。的整数数据。的整数数据。的整数数据。bitbit 1 1 1 1 或或或或 0 0 的整数数据。的整数数据。的整数数据。的整数数据。域域-SQL Server的基本数据类型的基本数据类型qq浮点数浮点数浮点数浮点数
5、 floatfloat 8 8 从从从从 -1.79E+308-1.79E+308 到到到到 1.79E+308 1.79E+308 的浮点精度数字。的浮点精度数字。的浮点精度数字。的浮点精度数字。realreal 4 4 从从从从 -3.40E+38-3.40E+38 到到到到 3.40E+38 3.40E+38 的浮点精度数字。的浮点精度数字。的浮点精度数字。的浮点精度数字。pp时间日期时间日期时间日期时间日期 datetimedatetime 8 8 从从从从 1753 1753 年年年年 1 1 月月月月 1 1 日到日到日到日到 9999 9999 年年年年 12 12 月月月月 3
6、1 31 日的日期和日的日期和日的日期和日的日期和时间数据,精确到百分之三秒(或时间数据,精确到百分之三秒(或时间数据,精确到百分之三秒(或时间数据,精确到百分之三秒(或 3.33 3.33 毫秒)。毫秒)。毫秒)。毫秒)。smalldatetimesmalldatetime 4 4 从从从从 1900 1900 年年年年 1 1 月月月月 1 1 日到日到日到日到 2079 2079 年年年年 6 6 月月月月 6 6 日的日期和时日的日期和时日的日期和时日的日期和时间数据,精确到分钟。间数据,精确到分钟。间数据,精确到分钟。间数据,精确到分钟。域域-SQL Server的基本数据类型的基本
7、数据类型pp字符串字符串字符串字符串 charchar 固定长度的非固定长度的非固定长度的非固定长度的非 Unicode Unicode 字符数据,最大长度为字符数据,最大长度为字符数据,最大长度为字符数据,最大长度为 8,000 8,000 个字符。个字符。个字符。个字符。varcharvarchar 可变长度的非可变长度的非可变长度的非可变长度的非 Unicode Unicode 数据,最长为数据,最长为数据,最长为数据,最长为 8,000 8,000 个字符。个字符。个字符。个字符。t textext 可变长度的非可变长度的非可变长度的非可变长度的非 Unicode Unicode 数据
8、,最大长度为数据,最大长度为数据,最大长度为数据,最大长度为 231-1 231-1(2,147,483,647)(2,147,483,647)个字符。个字符。个字符。个字符。ppUnicode Unicode 字符串字符串字符串字符串 ncharnchar 固定长度的固定长度的固定长度的固定长度的 Unicode Unicode 数据,最大长度为数据,最大长度为数据,最大长度为数据,最大长度为 4,000 4,000 个字符。个字符。个字符。个字符。nvarcharnvarchar 可变长度可变长度可变长度可变长度 Unicode Unicode 数据,其最大长度为数据,其最大长度为数据,其
9、最大长度为数据,其最大长度为 4,000 4,000 字符。字符。字符。字符。sysnamesysname 是系统提供用户定义的数据类型,在功能上等同于是系统提供用户定义的数据类型,在功能上等同于是系统提供用户定义的数据类型,在功能上等同于是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128)nvarchar(128),用于引用数据库对象名。,用于引用数据库对象名。,用于引用数据库对象名。,用于引用数据库对象名。ntextntext 可变长度可变长度可变长度可变长度 Unicode Unicode 数据,其最大长度为数据,其最大长度为数据,其最大长度为数据,其最大长度为 23
10、0-1 230-1(1,073,741,823)(1,073,741,823)个字符。个字符。个字符。个字符。域域-SQL Server的基本数据类型的基本数据类型p二进制字符串二进制字符串 binarybinary固定长度的二进制数据,其最大长度为固定长度的二进制数据,其最大长度为固定长度的二进制数据,其最大长度为固定长度的二进制数据,其最大长度为 8,000 8,000 个字节。个字节。个字节。个字节。varbinaryvarbinary可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为 8,000 8,
11、000 个字节。个字节。个字节。个字节。imageimage可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为可变长度的二进制数据,其最大长度为 231 231-1(2,147,483,647)-1(2,147,483,647)个字节个字节个字节个字节域、元组和关系域、元组和关系-元组元组q定义定义3.2笛卡尔积笛卡尔积(Cartesian Product):给定一组域:给定一组域D1,D2,Dn,这些域中可以有相同的。这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:的笛卡尔积为:qD1 D2 Dn=(d1,d2,dn)|di Di,i=
12、1,2,n,q其中每一个元素其中每一个元素(d1,d2,dn)叫做一个叫做一个n元组元组(n-tuple)或或简称简称元组元组(tuple)。q元素中的每一个值元素中的每一个值di叫做一个叫做一个分量分量(Component)。域、元组和关系域、元组和关系-元组元组q若若Di(i=1,2,n)为有限集,其为有限集,其基数基数(Cardinal number)为为mi(i=1,2,n),则,则D1 D2 Dn 的基数的基数M为:为:qM=m1 m2 mnq笛卡尔积可表示为一张二维表。表中的每一行对笛卡尔积可表示为一张二维表。表中的每一行对应一个元组,表中的每列对应一个域。应一个元组,表中的每列对
13、应一个域。q例如:例如:q D1=导师集合导师集合=邬伦,李琦,方裕,陈秀万,秦其明邬伦,李琦,方裕,陈秀万,秦其明q D2=专业集合专业集合=GIS,RSq D3=研究生集合研究生集合=s1,s2,s3,s4,s5,s6,s7,s8,s9域、元组和关系域、元组和关系-关系关系q定义定义3.3 D1 D2 Dn 的子集叫做在域的子集叫做在域D1,D2,Dn上上的关系,表示为:的关系,表示为:qR(D1,D2,Dn)q这里这里R表示关系的名称,表示关系的名称,n是关系的目或是关系的目或度度(degree)。q关系是笛卡尔积的有限子集,所以关系也是一个二维表,关系是笛卡尔积的有限子集,所以关系也是
14、一个二维表,表的每行对应一个元组,表的每列对应一个域。表的每行对应一个元组,表的每列对应一个域。q为了加以区别,必须对每列起一个名字,成为为了加以区别,必须对每列起一个名字,成为属性属性(attribute)。N目关系必有目关系必有n个属性。个属性。域、元组和关系域、元组和关系-关系的类型关系的类型基基本本关关系系(基基本本表表、基基表表):实实际际存存在在的的表表,它它是是实实际际存存储储数据的逻辑表示。数据的逻辑表示。查询表:查询表:查询结果对应的表查询结果对应的表。视视图图表表:是是由由基基本本表表或或其其它它视视图表导出的表,是虚表。图表导出的表,是虚表。基本表基本表视图视图视图视图域
15、、元组和关系域、元组和关系-关系作为关系模型的数据结构,关系作为关系模型的数据结构,需要如下限制和扩充需要如下限制和扩充1.无无限限关关系系在在数数据据库库系系统统中中是是无无意意义义的的。因因此此,限限定定关关系系数数据据模模型型中中的的关关系系必必须须是是有有限集合。限集合。2.通通过过为为关关系系的的每每一一列列附附加加一一个个属属性性名名的的方方法法取取消消关关系系元元组组的的有有序序性性,即即(d1,d2,di,dj,dn)=(d1,d2,dj,di,dn)(i,j=1,2,n)关系模型概念关系模型概念-关系性质关系性质1.列是同质的(列是同质的(列是同质的(列是同质的(Homoge
16、neousHomogeneous),即每一列中的分),即每一列中的分),即每一列中的分),即每一列中的分量是同一类型的数据,来自同一个域。量是同一类型的数据,来自同一个域。量是同一类型的数据,来自同一个域。量是同一类型的数据,来自同一个域。2.不同的列可出自一个域,称其中的每一列为属性,不同的列可出自一个域,称其中的每一列为属性,不同的列可出自一个域,称其中的每一列为属性,不同的列可出自一个域,称其中的每一列为属性,不同的属性要给予不同的属性名。不同的属性要给予不同的属性名。不同的属性要给予不同的属性名。不同的属性要给予不同的属性名。3.列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,
17、即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。4.任意两个元组不能完全相同。任意两个元组不能完全相同。任意两个元组不能完全相同。任意两个元组不能完全相同。5.行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。6.分量必须取原子值,即每一个分量都必须是不可分量必须取原子值,即每一个分量都必须是不可分量必须取原子值,即每一个分量都必须是不可分量必须取原子值,即每一个分量都必须是不可分的数据项。分的数据项。分的数据项。分的数据项。关系
18、模型概念关系模型概念-关系模式关系模式qq关系数据库中,关系模式是型,关系是值。关系数据库中,关系模式是型,关系是值。关系数据库中,关系模式是型,关系是值。关系数据库中,关系模式是型,关系是值。qq关系是元组的集合,关系模式必须指出这个元组集合的结关系是元组的集合,关系模式必须指出这个元组集合的结关系是元组的集合,关系模式必须指出这个元组集合的结关系是元组的集合,关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属构,即它由哪些属性构成,这些属性来自哪些域,以及属构,即它由哪些属性构成,这些属性来自哪些域,以及属构,即它由哪些属性构成,这些属性来自哪些域,以及属性
19、与域之间的映射关系。性与域之间的映射关系。性与域之间的映射关系。性与域之间的映射关系。qq定义定义定义定义3.4 3.4 关系的描述称为关系的描述称为关系的描述称为关系的描述称为关系模式关系模式关系模式关系模式(Relation Schema)(Relation Schema)。它。它。它。它可以形式化表示为:可以形式化表示为:可以形式化表示为:可以形式化表示为:R(U,D,R(U,D,domdom,F),F)qq其中其中其中其中R R为关系名,为关系名,为关系名,为关系名,U U为组成该关系的属性名集合,为组成该关系的属性名集合,为组成该关系的属性名集合,为组成该关系的属性名集合,D D为属
20、性组中属为属性组中属为属性组中属为属性组中属性所来自的域,性所来自的域,性所来自的域,性所来自的域,domdom为属性向域的映射集合,为属性向域的映射集合,为属性向域的映射集合,为属性向域的映射集合,F F为属性间数据的依为属性间数据的依为属性间数据的依为属性间数据的依赖关系集合。赖关系集合。赖关系集合。赖关系集合。qq关系是关系模式在某一时刻的状态或内容;关系模式是静关系是关系模式在某一时刻的状态或内容;关系模式是静关系是关系模式在某一时刻的状态或内容;关系模式是静关系是关系模式在某一时刻的状态或内容;关系模式是静止的、稳定的,而关系是动态的、随时间不断变化的。止的、稳定的,而关系是动态的、
21、随时间不断变化的。止的、稳定的,而关系是动态的、随时间不断变化的。止的、稳定的,而关系是动态的、随时间不断变化的。关系模型概念关系模型概念-关系的解释关系的解释q关系模式可以解释成声明或者断言关系模式可以解释成声明或者断言关系模式可以解释成声明或者断言关系模式可以解释成声明或者断言(assertion)(assertion)qq例如:学生例如:学生例如:学生例如:学生(学号,姓名,出生日期,所在学院学号,姓名,出生日期,所在学院学号,姓名,出生日期,所在学院学号,姓名,出生日期,所在学院)q关系的每一个元组可以解释成断言的一个事实关系的每一个元组可以解释成断言的一个事实关系的每一个元组可以解释
22、成断言的一个事实关系的每一个元组可以解释成断言的一个事实(fact)(fact)。qq例如例如例如例如(00412001(00412001,张三,张三,张三,张三,1984-9-91984-9-9,地空学院,地空学院,地空学院,地空学院)关系约束关系约束域约束域约束 码约束和空值约束码约束和空值约束实体完整性实体完整性 参照完整性参照完整性用户定义完整性用户定义完整性关系约束关系约束-域约束域约束域约束规定每个属性域约束规定每个属性A的值必须是来自的值必须是来自域域dom(A)的原子值。的原子值。数据类型数据类型数据类型数据类型 值范围值范围值范围值范围 枚举类型枚举类型枚举类型枚举类型关系约
23、束关系约束-码约束码约束和空值约束和空值约束 候选码候选码候选码候选码:若关系中的某一属性组的值能唯一标识一个元:若关系中的某一属性组的值能唯一标识一个元:若关系中的某一属性组的值能唯一标识一个元:若关系中的某一属性组的值能唯一标识一个元组,则称该属性组为候选码(组,则称该属性组为候选码(组,则称该属性组为候选码(组,则称该属性组为候选码(Candidate keyCandidate key)。)。)。)。例如例如例如例如 R R(书号书号书号书号,书名书名书名书名,作者作者作者作者)主码主码主码主码:若一个关系有多个候选码,则选定其中一个为主:若一个关系有多个候选码,则选定其中一个为主:若一
24、个关系有多个候选码,则选定其中一个为主:若一个关系有多个候选码,则选定其中一个为主码(码(码(码(Primary keyPrimary key)。)。)。)。主属性主属性主属性主属性:主码的诸属性称为主属性(:主码的诸属性称为主属性(:主码的诸属性称为主属性(:主码的诸属性称为主属性(Prime attributePrime attribute)。)。)。)。非码属性非码属性非码属性非码属性:不包含在任何候选码中的属性称为非码属性:不包含在任何候选码中的属性称为非码属性:不包含在任何候选码中的属性称为非码属性:不包含在任何候选码中的属性称为非码属性(Non-key attributeNon-k
25、ey attribute)。)。)。)。全码全码全码全码:关系模式的所有属性组是这个关系模式的候选码,:关系模式的所有属性组是这个关系模式的候选码,:关系模式的所有属性组是这个关系模式的候选码,:关系模式的所有属性组是这个关系模式的候选码,成为全码(成为全码(成为全码(成为全码(All-keyAll-key)。)。)。)。关系约束关系约束-码约束和码约束和空值约束空值约束q是否允许唯一值是否允许唯一值qUNIQUEUNIQUE约束约束约束约束q是否允许空值是否允许空值q学生的姓名属性不能为学生的姓名属性不能为学生的姓名属性不能为学生的姓名属性不能为nullnull,则该属性就,则该属性就,则该
26、属性就,则该属性就有有有有not nullnot null的约束的约束的约束的约束关系约束关系约束-实体完整性实体完整性实体完整性规则实体完整性规则实体完整性规则实体完整性规则 若属性若属性若属性若属性A A是基本关系是基本关系是基本关系是基本关系R R的主属性,的主属性,的主属性,的主属性,则属性则属性则属性则属性A A不能取空值。不能取空值。不能取空值。不能取空值。完整性规则是针对基本关系而言的。完整性规则是针对基本关系而言的。完整性规则是针对基本关系而言的。完整性规则是针对基本关系而言的。现实世界中的实体是可区分的,即它们具有某种现实世界中的实体是可区分的,即它们具有某种现实世界中的实体
27、是可区分的,即它们具有某种现实世界中的实体是可区分的,即它们具有某种唯一性标识。唯一性标识。唯一性标识。唯一性标识。相应的、关系模型中以主码作为唯一性标识。相应的、关系模型中以主码作为唯一性标识。相应的、关系模型中以主码作为唯一性标识。相应的、关系模型中以主码作为唯一性标识。主码中的属性即主属性不能取空值。主码中的属性即主属性不能取空值。主码中的属性即主属性不能取空值。主码中的属性即主属性不能取空值。Primary keyPrimary key约束约束约束约束关系约束关系约束-参照完整性、外码参照完整性、外码qq定义定义定义定义3.53.5设设设设F F是基本关系是基本关系是基本关系是基本关系
28、R R的一个或一组属性,但不是的一个或一组属性,但不是的一个或一组属性,但不是的一个或一组属性,但不是关系关系关系关系R R的码。如果与基本关系的码。如果与基本关系的码。如果与基本关系的码。如果与基本关系S S的主码的主码的主码的主码KKs s相对应,则相对应,则相对应,则相对应,则称称称称F F是基本关系的是基本关系的是基本关系的是基本关系的外码外码外码外码(Foreign KeyForeign Key),并称基本),并称基本),并称基本),并称基本关系关系关系关系R R为参照关系(为参照关系(为参照关系(为参照关系(Referencing RelationReferencing Relat
29、ion),基本),基本),基本),基本关系关系关系关系S S为被参照关系(为被参照关系(为被参照关系(为被参照关系(Target RelationTarget Relation)或目标关系。)或目标关系。)或目标关系。)或目标关系。关系关系关系关系R R和不一定是不同的关系。和不一定是不同的关系。和不一定是不同的关系。和不一定是不同的关系。qq目标关系目标关系目标关系目标关系S S的主码的主码的主码的主码KKs s和参照关系和参照关系和参照关系和参照关系R R的外码的外码的外码的外码F F必须定义必须定义必须定义必须定义在同一个域上。在同一个域上。在同一个域上。在同一个域上。qq例如例如例如例
30、如学生学生学生学生学校专业学校专业学校专业学校专业学生学生学生学生选修选修选修选修课程课程课程课程关系约束关系约束-参照完整性、外码参照完整性、外码q规则规则规则规则3.2 3.2 参照完整性规则参照完整性规则参照完整性规则参照完整性规则 若属性(或属性组)若属性(或属性组)若属性(或属性组)若属性(或属性组)是基本关系是基本关系是基本关系是基本关系R R的外码,它与基本关系的主码的外码,它与基本关系的主码的外码,它与基本关系的主码的外码,它与基本关系的主码相对应(基本关系和不一定是不同的关系),相对应(基本关系和不一定是不同的关系),相对应(基本关系和不一定是不同的关系),相对应(基本关系和
31、不一定是不同的关系),则对于则对于则对于则对于R R中每个元组在中每个元组在中每个元组在中每个元组在F F上的值必须为:上的值必须为:上的值必须为:上的值必须为:q或者取空值(的每个属性值均为空);或者取空值(的每个属性值均为空);或者取空值(的每个属性值均为空);或者取空值(的每个属性值均为空);q或者等于中某个元组的主码值。或者等于中某个元组的主码值。或者等于中某个元组的主码值。或者等于中某个元组的主码值。关系约束关系约束-用户定义的完整性约束用户定义的完整性约束用户定义的完整性是针对某一具体数据用户定义的完整性是针对某一具体数据的约束条件,由应用环境决定。它反的约束条件,由应用环境决定。
32、它反映某一具体应用所涉及的数据必须满映某一具体应用所涉及的数据必须满足的语义要求。系统应提供定义和检足的语义要求。系统应提供定义和检验这类完整性的机制,以便用统一的验这类完整性的机制,以便用统一的系统方法处理它们,不再由应用程序系统方法处理它们,不再由应用程序承担这项工作。承担这项工作。关系数据库模式关系数据库模式关系数据库模式关系数据库模式关系数据库模式关系数据库模式(Relational Database(Relational Database Schema)SSchema)S包含关系模式的集合包含关系模式的集合包含关系模式的集合包含关系模式的集合S=RS=R1 1,R,R2 2,R,Rm
33、m 和完整性约束和完整性约束和完整性约束和完整性约束(Integrity(Integrity Constraints)Constraints)的集合的集合的集合的集合ICIC。关系数据库实例关系数据库实例关系数据库实例关系数据库实例(Relational Database(Relational Database Instance)DBInstance)DB是关系实例的集合是关系实例的集合是关系实例的集合是关系实例的集合DB=rDB=r1 1,r,r2 2,r,rmm,其中每个,其中每个,其中每个,其中每个r ri i是是是是R Ri i的一个实的一个实的一个实的一个实例,并且关系实例例,并且关系实例例,并且关系实例例,并且关系实例r ri i满足满足满足满足ICIC中规定的完整性约中规定的完整性约中规定的完整性约中规定的完整性约束。束。束。束。