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