关系模型的主要术语
- 关系(表):一个关系可用一个表来表示,每个关系都有唯一的名称。
- 属性:表(关系)中的每一列即为一个属性,一个表内的属性名都是唯一的,且都显示在行首。
- 域:可以认为是属性的定义域。
- 元组:表中的一行数据称为一个元组,即一个实体所有属性值的总称。同样的,一个表中的元组都是唯一的。
分量:一个元组在一个属性上的值称为元组在该属性上的分量。
候选码:可以唯一(一一映射)标志元组的属性(组)
主码:其中一个被选定的候选码,每个表唯一。
主属性:在候选码中的属性称为主属性,反之称为非主(码)属性。
外部码:关系 的非码属性 与关系 的码 相对应,则称 为 的外部码。 可以与 相同, 与 的域一定相同。(可以认为 需要从 的码值中选取)
关系模式:一个关系的关系名及其全部属性名的集合称为该关系的关系名,即
【关系名(属性名1,属性名2,... ,属性名n)】
关系的六个基本性质
- 关系中每个属性具有原子特性,是基本数据项,不可再分
- 同一属性属于同一列
- 不同的列(属性)可以拥有相同的域
- 列(属性)的次序可以相互交换
- 行(元组)的次序也可以相互交换
- 一个关系中不能有两个相同的元组(行)
关系模型的数据操作
- 操作对象和操作结果都是关系。其理论标准为关系代数和关系演算。
- 存取路径对用户隐蔽,用户只需指出操作,而不必考虑如何操作。存取路径是由RDBMS(Relational Database Management System,关系数据库管理系统)自动选择的,提高了数据的独立性。
关系的完整性约束:规定了数据必须符合的条件
- 实体完整性:在主属性上的分量不能为空(实际系统中没有候选码的概念,因此变为任意关系的主码不能为空)
- 参照完整性: 中的外部码 只能取空值或者 中某元组的码值( )。这是对关系之间引用数据的一种限制。
- 用户定义的完整性:每个数据库都有自己独有的约束要求,比如年龄不能大于60岁等
E-R模型向关系模型的转化
实体集:直接转
联系集R
- R单独的属性转化为该关系的属性
- R涉及的每个实体集的码属性转化为该关系的属性
- 如何选定该关系的码(※)
- 若R为1:1的联系,每个相关实体的码均可以作为该关系的码
- 若R为1:n的联系,则关系的码为n那一端实体的码
- 若R为m:n的联系,则关系的码为相关实体集码的集合
- 拥有相同码的不同关系(表)实质上是同一个实体集,因此可以合并,合并后的关系的属性是两个实体集的所有属性
- 根据该规则会发现最后联系留下来的关系只有m:n的才需要建立实体集,从而(※)变为
- 若R为1:1的联系,无需建立关系,直接在任意一方的关系属性中加入另一方的码即可
- 若R为1:n的联系,无需建立关系,直接在n方关系属性中加入1方的码
- 若R为m:n的联系,需要建立关系,而且以双方关系的码的集合作为该关系的码,其余属性为其本身自带属性
- 根据该规则会发现最后联系留下来的关系只有m:n的才需要建立实体集,从而(※)变为
Example
「Section 3」关系模型
最新推荐文章于 2024-08-21 23:42:00 发布