第三章---关系数据模型
一、数据模型概述
数据库设计中两种不同的模型:
(1)概念模型:面向现实世界,与计算机无关。
(2)数据模型:面向计算机实现。分为逻辑数据模型,物理数据模型。
(一)数据模型三要素
1、数据结构:数据库数据,以及数据之间的联系。
2、数据操作:数据库对象允许执行操作的集合。
3、数据的约束条件:数据库完整性规则的集合。
- 规定数据及其联系所受到的制约
- 限制数据库状态,以及状态的变化,以保证数据库数据的正确、有效、相容。
(二)、一些主要的数据模型、
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象-关系模型
二、关系模型的基本概念
1、关系
一个关系就是一张命名的二维表。
2、属性:表的一列称为表的一个属性,列的名字称为属性名。
3、域:属性取值的范围。
(1)简单域:域中元素都是原子的(不可再分的)
(2)组合域:域中元素是可在分的。
注:关系的属性域总是简单域。
4、元组:关系的一行叫一个元组。
5、元组分量:关系中元组的属性值。
6、关系的键码(或称:候选码、码)、主属性:能够唯一标识一个元组的最少属性(或属性组),
称为关系的键码,简称为码。
键码的特性: (1)唯一性 (2)最小性
注:当一个关系有不止一个键码时,也把键码称为候选码。
构成键码(或候选码)的属性称为主属性,而其他属性称为非主属性。
7、主码:
主码由键码构成。(主码必定是键码)
一个关系必须有且只能有一个主码。
若一个关系有多个键码,则必须指定一个键码作为关系的主码。
8、全码:若一个关系的键码由关系的所有属性构成,则这样的键码称为全码。
9、超码:一个关系中,能够唯一标识一个元组的属性(或属性组),称为该关系的超码。
(二)、关系模式与关系实例的概念及特点
1、关系模式
关系名,以及关系属性集合,称为关系模式。
例 S(SNO,SNAME,STATUS,CITY)
关系模式是对关系的描述,是关系的“框架”,关系模式相对稳定。
2、关系实例
一个关系的当前元组的集合,称为关系实例。关系实例相对可变化。
3、关系数据库模式:若干个关系模式集合,构成了一个关系数据库模式。
4、关系的性质
(1)基于某一关系模式的关系是随时间变化的。
(元组数量或属性取值是可变的)
(2)一个关系中,在任何时候都不能同时出现取值相同的两个元组。
(3)一个关系的不同元组,上下无序。
(4)一个关系的不同列的先后次序无关紧要。
(5)元组各分量必须是不可再分的。(属性的域必须是简单域)
三、从概念模型(E-R图)到关系数据模型的转换
(一)、转换一般实体集:把E-R图的一个实体集转换成一个关系模式,实体集的属性和主码
转换成关系模式的属性和主码。
(二)、转换E-R图的联系
一般原则:为联系建立一个关系模式
(三)、子类实体集的转换
1、E-R图方法:(1)转换实体集,并选好键码。
(2)“isa”无需变换
3、空值法:
特点:每一个实体对应关系的一个元组。与特定实体无关的属性,值“空”值。
(四)、弱实体集的转换
1、弱实体集转换为关系模式。关系模式的键码由自身的键码属性,以及弱实体集所依赖的那些
实体集的键码属性,共同构成。
2、弱实体集和它所依赖的实体集之间的联系,无需处理。