关系模型之基本概念
关系模型三要素
- 基本结构: Relation/Table
- 基本操作: Relation Operator
- 完整性约束: 实体完整性, 参照完整性, 用户自定义的完整性
关系运算:关系代数和关系演算
关系代数:基于集合的运算
基于关系代数设计的数据库语言(ISBL):用计算机可识别的符号表征关系代数的运算符号
关系演算:元组演算和域演算
基于逻辑的运算
基于元组演算设计的数据库语言(Ingres系统的QUEL):用计算机可识别的符号表征元祖演算的运算符号
域演算:基于示例的运算
基于域演算设计的数据库语言(QBE: Query By Example)
关系
定义列
的取值范围域
域
(Domain)
- 一组值的集合, 这组值具有相同的数据类型
- 集合中元素的个数称为域的
基数
关系是笛卡尔积的一个子集, 笛卡尔积是所有可能的组合, 关系是在这所有组合中一组有意义的组合.
关系模式与关系
- 同一关系模式下, 可以有很多的关系
- 关系模式是关系的结构, 关系是关系模式在某一时刻的值的数据
- 关系模式是稳定的, 而关系是某一时刻, 是随时间变化的
关系的特性
- 列是同质的
- 不同的列可来自同一个域
- 关系不靠行列的位置区分, 是以内容(名字或列值)来区分的
理论上关系的任意两个元组不能相同, 在现实应用中, 表(Table)可能并不完全遵守此特性 - 属性不可再分: 又被称为关系的第一范式
关系的一些概念
- 候选码(Candidate Key)/候选键
关系中的一个属性组, 其值能唯一标识一个元组. - 主码(Primary Key)/主键: 当有多个候选码时, 可以选定一个作为主码.
DBMS以主码为主要线索管理关系中的各个元组. - 主属性与非主属性
包含在任何一个候选码中的属性被称为主属性, 而其他的属性被称为非主属性 - 外码(Foreign Key)/外键
关系R中的一个属性组, 它不是R的候选码, 但它与另一个关系S的候选码相对应, 则称这个属性组为R的外码或外键. 外码非常重要, 常常是连接两个关系的纽带.
关系模型中的完整性
- 实体完整性
关系的主码中的属性值不能为空值;
空值: 不知道或无意义的值 - 参照完整性
如果关系R1的外码Fk与关系R2的主码Pk相对应, 则R1中的每一个元组Fk或者等于R2中某个元组的Pk值, 或者为空值
网友评论