第2章关系模型优秀课件.ppt
《第2章关系模型优秀课件.ppt》由会员分享,可在线阅读,更多相关《第2章关系模型优秀课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章关系模型第1页,本讲稿共54页2.1 关系模型概述2.1.1 关系模型的数据结构关系模型采用关系关系(Relation)作为数据结构,直观地讲,关系就是简单的表(Table)。一个表一般由表名、表头和数据三部分构成。第2页,本讲稿共54页学生名单学生名单学号 姓名性别年龄所在系20000121王林男19计算机20000122张大民男18管理20000123顾芳女19管理.数据数据表头表头表名表名图图2.12.1表的构成表的构成 第3页,本讲稿共54页定义定义定义定义2.12.1 域(域(DomainDomain)是一组具有相同数据类型的值的集合。)是一组具有相同数据类型的值的集合。例如,
2、整数、实数都是域。域可以被理解为程序设计语言例如,整数、实数都是域。域可以被理解为程序设计语言中的数据类型,如中的数据类型,如C C语言中的语言中的intint,floatfloat等。等。定义定义定义定义2.2 2.2 给定一组域给定一组域D D1 1,D D2 2,D Dn n,D D1 1,D D2 2,D Dn n的笛卡的笛卡尔积尔积(Cartesian Product)(Cartesian Product)为:为:D D1 1 D D2 2D Dn n(d d1 1,d d2 2,d dn n)d di i D Di i,i i1 1,2 2,n n 其中,每一个元素其中,每一个元素
3、(d d1 1,d d2 2,d dn n)叫作一个叫作一个n n元组元组元组元组(N-Tuple)(N-Tuple)或简称元组或简称元组(Tuple)(Tuple)。元素中的每一个值。元素中的每一个值d di i叫作一个叫作一个分分分分量量量量(Component)Component)。第4页,本讲稿共54页例如,D1=王林,顾芳,D2=男,女,D3=计算机,管理,则:D1D2D3(王林,男,计算机),(王林,男,管理),(王林,女,计算机),(王林,女,管理),(顾芳,男,计算机),(顾芳,男,管理),(顾芳,女,计算机),(顾芳,女,管理)。第5页,本讲稿共54页D1D2D3王林男计算机
4、王林男管理王林女计算机王林女管理顾芳男计算机顾芳男管理顾芳女计算机顾芳女管理D D1 1,D,D2 2和和D D3 3的笛卡尔积的笛卡尔积第6页,本讲稿共54页定义定义2.3 D1D2Dn的一个有限子集叫 作在域D1,D2,Dn上的关系关系。例如,D1是字符串集合,D2=男,女,D3是整数的集合,图2.1的学生名单就是一个关系,它是笛卡尔积D1D1D2D3D1的一个子集。第7页,本讲稿共54页属性属性(Attribute):域关系模式关系模式(Relation Schema):R(A1,A2,An)关系实例关系实例(Relation Instance):关系的内容 第8页,本讲稿共54页一个关
5、系由关系名、关系模式和关系实例组成,分别对应于表名、表头和表中的数据。关系名和关系模式是相对变化的,关系实例会随时间而发生变化。图2.1的学生名单关系的关系模式为:学生(学号,姓名,性别,年龄,所在系)学生(学号,姓名,性别,年龄,所在系)第9页,本讲稿共54页由于关系是一个集合,所以,关系的元组不能出现重复,即一定存在属性组Ai1,Ai2,Aim(1mn),每个元组在这组属性上的取值不同于任何其它的元组。如果属性组Ai1,Ai2,Aim(1mn)使得每个元组在其上的取值具有唯一性,并且,去掉任何一个属性后,元组在其上的取值不再具有唯一性,则称该属性组为候选码候选码(Candidate Key
6、)。若一个关系有多个候选码,则选定其中一个为主码主码(Primary Key)。第10页,本讲稿共54页包含在某个候选码中的属性叫做主属性。不包含在任何侯选码中的属性称为非主属性最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-Key)。第11页,本讲稿共54页列是同质的(列是同质的(HomogeneousHomogeneous),即所有的行在同一个列),即所有的行在同一个列上的取值必须是同一类型的数据,来自同一个域。例如,图上的取值必须是同一类型的数据,来自同一个域。例如,图2.12.1中每个元组在性别列上的取值只能来自域中
7、每个元组在性别列上的取值只能来自域 男,女男,女。不同的列可以出自同一个域,但是,每个列要有唯一不同的列可以出自同一个域,但是,每个列要有唯一的名字。例如,图的名字。例如,图2.12.1的学号列、姓名列都来自字符串域。的学号列、姓名列都来自字符串域。行的次序可以任意交换,交换表中任何两行的位置,得到是同行的次序可以任意交换,交换表中任何两行的位置,得到是同一个表。因为,关系是一个集合,元组是关系的元素,集合中的元素无一个表。因为,关系是一个集合,元组是关系的元素,集合中的元素无次序之分。次序之分。第12页,本讲稿共54页列的次序可以任意交换,交换表中任何两列的位置,得列的次序可以任意交换,交换
8、表中任何两列的位置,得到的仍然是同一个表。这是对关系定义的一个扩展,一般情况到的仍然是同一个表。这是对关系定义的一个扩展,一般情况下,(下,(d d1 1,d d2 2,d di i,d di+1i+1,d dn n)(d d1 1,d d2 2,d di+1i+1,d di i,d dn n),因为关系是笛卡尔积的子集,而构),因为关系是笛卡尔积的子集,而构成笛卡尔积的域的次序是不能交换的。但是,如果我们成笛卡尔积的域的次序是不能交换的。但是,如果我们约定约定d di i(11i i n n)是行在列)是行在列A Ai i上的分量,则,(上的分量,则,(d d1 1,d d2 2,d di
9、i,d di+1i+1,d dn n)和)和d d1 1,d d2 2,d di+1i+1,d di i,d dn n)代)代表的是同一个行。表的是同一个行。任意两行不能完全相同,因为,表中的一行代表关系中任意两行不能完全相同,因为,表中的一行代表关系中的一个元组,但是,任何一个元组在主码上的取值是不同的。的一个元组,但是,任何一个元组在主码上的取值是不同的。每一行在任何一列上的取值必须是单一值,不能是多每一行在任何一列上的取值必须是单一值,不能是多个值;必须是原子值,不能事复合值。个值;必须是原子值,不能事复合值。第13页,本讲稿共54页编号姓名职称工 资扣 除实发基本工龄职务房租水电860
10、51陈 平讲 师120550801601201055第14页,本讲稿共54页姓名电话号码王林8636xxxx(H),8797xxxx(O),139xxxxx001张大民133xxxxx125,138xxxxx878第15页,本讲稿共54页 姓名课程数学物理化学王林859092张大民977885顾芳868996姜凡789367葛波897791第16页,本讲稿共54页姓 名课 程成 绩王林数学85王林物理90王林化学92张大民数学97张大民物理78张大民化学85顾芳数学86顾芳物理89顾芳化学96姜凡数学78姜凡物理93第17页,本讲稿共54页2.1.2 关系模型的数据操作 建表:给出表名,画出表
11、头,进行一些修饰。填表:向表中填入一行或多行数据。修改:改正表中的某些数据。删除:去掉一个行或多行。查询:查找满足某个条件的行。销毁表:表不再具有使用价值后,可以废除表。第18页,本讲稿共54页2.1.3 关系模型的完整性约束 关系模型的完整性约束是一组约束条件,它们规定关系模型的完整性约束是一组约束条件,它们规定了关系实例中允许出现的元组和不允许出现的元组。了关系实例中允许出现的元组和不允许出现的元组。关系模型有三类完整性约束:关系模型有三类完整性约束:1 1、实体完整性、实体完整性2 2、参照完整性、参照完整性3 3、用户定义的完整性、用户定义的完整性其中实体完整性和参照完整性是关系模型必
12、须满其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,足的完整性约束条件,被称作是关系的两个不变性,应该由关系数据库管理系统自动支持。应该由关系数据库管理系统自动支持。第19页,本讲稿共54页1、实体完整性(Entity Integrity)对任何一个关系对任何一个关系R R,如果,如果A A是主码中的某个属性,则是主码中的某个属性,则关系关系R R的任何一个元组在属性的任何一个元组在属性A A上不能取空值(上不能取空值(NULLNULL)。)。所谓空值就是所谓空值就是“不知道不知道”或或“无意义无意义”的值。的值。例如,关系例如,关系StudentStu
13、dent的主码是学号,任何一个元组在学的主码是学号,任何一个元组在学号上的值不能取空值,即每个学生必须有一个学号。号上的值不能取空值,即每个学生必须有一个学号。实体完整性的意义在于,如果主码中的某个属性取实体完整性的意义在于,如果主码中的某个属性取空值,就说明存在某个不可标识的实体,即存在不可区分空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与主码的意义相矛盾,因此称为实体完整性。的实体,这与主码的意义相矛盾,因此称为实体完整性。第20页,本讲稿共54页2、参照完整性(Referential Integrity)假设关系R有属性组Ai1,Ai2,Aim与关系S的属性组Bi1,Bi
14、2,Bim相对应,Aij和Bij来自同一个域,1im。如果Bi1,Bi2,Bim是关系S的主码,Ai1,Ai2,Aim不是关系R的码,则Ai1,Ai2,Aim叫做关系R的外外码码(Foreign Key)。参照完整性要求,关系R的任何一个元组在外码上的取值要么是空值,要么是关系S中某个元组的主码的值。参照完整性保证不引用不存在的实体。第21页,本讲稿共54页 例如,假设有一个关系例如,假设有一个关系Department(SdeptDepartment(Sdept,Dmanager)Dmanager),关系中存储了学校中每个系的名称和系主任的名字,其,关系中存储了学校中每个系的名称和系主任的名字
15、,其中,属性中,属性SdeptSdept是主码,属性是主码,属性SdeptSdept既出现在关系既出现在关系DepartmentDepartment中,又出现在关系中,又出现在关系StudentStudent中。中。对于关系对于关系StudentStudent,属性,属性SdeptSdept就是一个外码。任何一就是一个外码。任何一个学生在个学生在SdeptSdept上的取值要么是空值,表示目前尚不清楚该上的取值要么是空值,表示目前尚不清楚该学生所在的系,要么出现在关系学生所在的系,要么出现在关系DepartmentDepartment的一个关系实的一个关系实例中,即必须是一个已经存在的系而不允
16、许是一个不存在的例中,即必须是一个已经存在的系而不允许是一个不存在的系。系。第22页,本讲稿共54页3、用户定义的完整性(User-Defined Integrity)任何关系数据库管理系统都应该支持实体完整性和参照完整性。除此之外,不同的应用系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体应用环境的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某个非主属性也不能取空值、某个属性的取值范围在0100之间等。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。第23
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 优秀 课件
限制150内