关系
概念
实体
是指包含有数据特征的事物对象在数据模型世界中的抽象名称
关系
使用关系来存储实体中的数据
关系指具有关系特征、用于存放实体数据的二维表。也成为关系表
特征
- 表中每行存储实体的一-个实例数据
- 表中每列包含实体的一项属性数据
- 表中单元格只能存储单个值
- 不允许有重复的行
- 不允许有重复的列
- 列顺序可任意
- 行顺序可任意
数学定义
在集合域D1、···、Dn上运算笛卡尔积的有意义子集
R
⊆
D
1
×
.
.
.
×
D
n
R \subseteq D_1 \times ... \times D_n
R⊆D1×...×Dn
键
唯一标识元组(行)的属性列,称为键(key)
就是一列中每行数据都不相同才能做到唯一标识
主键
最具代表型的
主要作用
- 唯一标识关系表的每行(元组)
- 与关联表的外键建立联系,实现关系表之间连接
- 数据库文件使用主键值来组织关系表的数据存储
- 数据库使用主键索引 快速检索数据
候选键
适合作为键的非主键
复合键
?为什么需要两个一起来
代理键
采用DBMS自动生成的数字序列作为关系表的主键。
作用:由DBMS自动生成的数字序列作为主键,可替代符合主键,以便获得更高性能的数据访问操作处理
关系模式语句表示
关系名(主键属性,属性2,...属性x)
关系模型原理
定义
是一种基于二维表结构存储数据实体及实体间联系的数据模型
组成
数据结构
数据操作
- 集合操作:
- 针对元组:插入、修改、删除
数据关系约束
- 属性列取值类型
- 属性列取值范围
- 属性列取值是否唯一
- 属性列是否允许空值
- 关联表的参照完整性约束
- 自定义约束
关系模型数据操作
- 交
- 并
- 差
- 笛卡尔积
- 连接
- θ连接:运算操作包括 (<,≤,=,≥,>),自然连接就是(=)的连接
- 自然连接(等值连接):要求两个关系表中进行比较的属性组必须是名称相同的属性组,并且在结果中把重复的属性列去掉(留下名称相同的属性组中的其中一组)
- 内连接
- 外连接
- 左外连接
- 右外连接
- 全外连接
- 交叉连接
各种连接的介绍和例子
完整性
指关系数据模型中对关系实施的完整性约束
作用
- 消除关系表的元组重复存储
- 保持关联表的数据一致性
- 实现业务数据规则
组成
- 实体完整性约束
- 主键属性列不允许空
- 主键取值唯一
- 参照完整性约束
- 关系表之间要遵守的数据约束,以保证关系之间关联列的数据一致性
- 约束规则:若关系R中的外键1F与关系S中的主键K相关联,则R中外键F值必须与S中的主键K值一致。
- 用户自定义完整性约束
- 用户根据具体业务定义的数据约束
- 内容:
- 定义列的数据类型与取值范围
- 定义列的缺省值
- 定义列是否允许取空值
- 定义列取值唯一性
- 定义列之间的数据依赖性
外键:在关联的两个关系中,它们具有一个或多个相同的属性。若关联列的第一个关系中作为主键,则在第二个关系作为外键。 ↩︎