资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第3章关系模型、语言及系统,本章内容,关系模型概念*,关系约束*,关系数据库模式*,基本关系代数操作,学号:学号,姓名:姓名,性别:性别,年龄:年龄,00015039,瞿毅臻,男,19,00015040,安基文,男,19,00015041,蒋林,男,19,男,女,10-70,TEXT(20),学号范围,域,关系,主码,属性,度,元组,基,数,域、元组和关系-,域,定义,3.1,域,(Domain):,是一组具有相同数据类型的值的集合。,可以为每个域指定一个数据类型,(data type),或格式,(format),它可以是系统定义的类型,也可以是用户自定义的数据类型,域-,SQL Server的基本数据类型,整数,bigint,8,从,-263(-9223372036854775808),到,263-1(9223372036854775807),的整型数据(所有数字)。,Int,4,从,-231(-2,147,483,648),到,231-1(2,147,483,647),的整型数据(所有数字)。,smallint,2,从,-215(-32,768),到,215-1(32,767),的整数数据。,t,inyint,1,从,0,到,255,的整数数据。,bit,1,1,或,0,的整数数据。,域-,SQL Server的基本数据类型,浮点数,float,8,从,-1.79E+308,到,1.79E+308,的浮点精度数字。,real,4,从,-3.40E+38,到,3.40E+38,的浮点精度数字。,时间日期,datetime,8,从,1753,年,1,月,1,日到,9999,年,12,月,31,日的日期和时间数据,精确到百分之三秒(或,3.33,毫秒)。,smalldatetime,4,从,1900,年,1,月,1,日到,2079,年,6,月,6,日的日期和时间数据,精确到分钟。,域-,SQL Server的基本数据类型,字符串,char,固定长度的非,Unicode,字符数据,最大长度为,8,000,个字符。,varchar,可变长度的非,Unicode,数据,最长为,8,000,个字符。,t,ext,可变长度的非,Unicode,数据,最大长度为,231-1(2,147,483,647),个字符。,Unicode,字符串,nchar,固定长度的,Unicode,数据,最大长度为,4,000,个字符。,nvarchar,可变长度,Unicode,数据,其最大长度为,4,000,字符。,sysname,是系统提供用户定义的数据类型,在功能上等同于,nvarchar(128),,用于引用数据库对象名。,ntext,可变长度,Unicode,数据,其最大长度为,230-1(1,073,741,823),个字符。,域-,SQL Server的基本数据类型,二进制字符串,binary,固定长度的二进制数据,其最大长度为,8,000,个字节。,varbinary,可变长度的二进制数据,其最大长度为,8,000,个字节。,image,可变长度的二进制数据,其最大长度为,231-1(2,147,483,647),个字节,域、元组和关系-,元组,定义,3.2,笛卡尔积,(Cartesian Product),:给定一组域,D,1,D,2,D,n,这些域中可以有相同的。,D,1,D,2,D,n,的笛卡尔积为:,D,1,D,2,D,n,=(d,1,d,2,d,n,)|,d,i,D,i,i=1,2,n,,,其中每一个元素,(d,1,d,2,d,n,),叫做一个,n,元组,(,n-tuple,),或简称,元组,(,tuple,),。,元素中的每一个值,d,i,叫做一个,分量,(Component),。,域、元组和关系-,元组,若,D,i,(,i,=1,2,n),为有限集,其,基数,(Cardinal number),为,m,i,(,i=1,2,n),,则,D,1,D,2,D,n,的基数,M,为:,M=m,1,m,2,m,n,笛卡尔积可表示为一张二维表。表中的每一行对应一个元组,表中的每列对应一个域。,例如:,D,1,=,导师集合,=,邬伦,李琦,方裕,陈秀万,秦其明,D,2,=,专业集合,=GIS,,,RS,D,3,=,研究生集合,=s1,s2,s3,s4,s5,s6,s7,s8,s9,域、元组和关系-,关系,定义,3.3 D,1,D,2,D,n,的子集叫做在域,D,1,D,2,D,n,上的关系,表示为:,R(D,1,D,2,D,n,),这里,R,表示关系的名称,,n,是关系的目或,度,(degree),。,关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。,为了加以区别,必须对每列起一个名字,成为,属性,(attribute),。,N,目关系必有,n,个属性。,域、元组和关系-,关系的类型,基本关系,(基本表、基表):实际存在的表,它是实际存储数据的逻辑表示。,查询表:,查询结果对应的表,。,视图表:,是由基本表或其它视图表导出的表,是虚表。,基本表,视图,视图,域、元组和关系-,关系作为关系模型的数据结构,需要如下限制和扩充,无限关系在数据库系统中是无意义的。因此,限定关系数据模型中的关系必须是有限集合。,通过为关系的每一列附加一个属性名的方法取消关系元组的有序性,即,(,d,1,d,2,d,i,d,j,d,n,)=,(,d,1,d,2,d,j,d,i,d,n,)(,i,j,=1,2,n),关系模型概念-,关系性质,列是同质的(,Homogeneous,),即每一列中的分量是同一类型的数据,来自同一个域。,不同的列可出自一个域,称其中的每一列为属性,不同的属性要给予不同的属性名。,列的顺序无所谓,即列的次序可以任意交换。,任意两个元组不能完全相同。,行的顺序无所谓,即行的次序可以任意交换。,分量必须取原子值,即每一个分量都必须是不可分的数据项。,关系模型概念-,关系模式,关系数据库中,关系模式是型,关系是值。,关系是元组的集合,关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映射关系。,定义,3.4,关系的描述称为,关系模式,(Relation Schema),。它可以形式化表示为:,R(U,D,dom,F),其中,R,为关系名,,U,为组成该关系的属性名集合,,D,为属性组中属性所来自的域,,dom,为属性向域的映射集合,,F,为属性间数据的依赖关系集合。,关系是关系模式在某一时刻的状态或内容;关系模式是静止的、稳定的,而关系是动态的、随时间不断变化的。,关系模型概念-,关系的解释,关系模式可以解释成声明或者断言,(assertion),例如:学生,(,学号,姓名,出生日期,所在学院,),关系的每一个元组可以解释成断言的一个事实,(fact),。,例如,(00412001,,张三,,1984-9-9,,地空学院,),关系约束,域约束,码约束和空值约束,实体完整性,参照完整性,用户定义完整性,关系约束-,域约束,域约束规定每个属性A的值必须是来自域dom(A)的原子值。,数据类型,值范围,枚举类型,关系约束-,码约束,和空值约束,候选码,:若关系中的某一属性组的值能唯一标识一个元组,则称该属性组为候选码(Candidate key)。,例如,R,(书号,书名,作者),主码,:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。,主属性,:主码的诸属性称为主属性(Prime attribute)。,非码属性,:不包含在任何候选码中的属性称为非码属性(Non-key attribute)。,全码,:关系模式的所有属性组是这个关系模式的候选码,成为全码(All-key)。,关系约束-,码约束和,空值约束,是否允许唯一值,UNIQUE,约束,是否允许空值,学生的姓名属性不能为,null,,则该属性就有,not null,的约束,关系约束-,实体完整性,实体完整性规则,若属性A是基本关系R的主属性,则属性A不能取空值。,完整性规则是针对基本关系而言的。,现实世界中的实体是可区分的,即它们具有某种唯一性标识。,相应的、关系模型中以主码作为唯一性标识。,主码中的属性即主属性不能取空值。,Primary key约束,关系约束-,参照完整性、外码,定义,3.5,设,F,是基本关系,R,的一个或一组属性,但不是关系,R,的码。如果与基本关系,S,的主码,K,s,相对应,则称,F,是基本关系的,外码,(,Foreign Key,),并称基本关系,R,为参照关系(,Referencing Relation,),基本关系,S,为被参照关系(,Target Relation,)或目标关系。关系,R,和不一定是不同的关系。,目标关系,S,的主码,K,s,和参照关系,R,的外码,F,必须定义在同一个域上。,例如,学生,学校专业,学生,选修,课程,关系约束-,参照完整性、外码,规则,3.2,参照完整性规则 若属性(或属性组)是基本关系,R,的外码,它与基本关系的主码相对应(基本关系和不一定是不同的关系),则对于,R,中每个元组在,F,上的值必须为:,或者取空值(的每个属性值均为空);,或者等于中某个元组的主码值。,关系约束-,用户定义的完整性约束,用户定义的完整性是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统应提供定义和检验这类完整性的机制,以便用统一的系统方法处理它们,不再由应用程序承担这项工作。,关系数据库模式,关系数据库模式,(Relational Database Schema)S包含关系模式的集合S=R,1,R,2,R,m,和完整性约束(Integrity Constraints)的集合IC。,关系数据库实例,(Relational Database Instance)DB是关系实例的集合DB=r,1,r,2,r,m,,其中每个r,i,是R,i,的一个实例,并且关系实例r,i,满足IC中规定的完整性约束。,
展开阅读全文