前言
将【数据库系统概论----第二章–关系数据库(2.1~2.3)】中重要的知识点进行归纳整理
1. 关系
关系为笛卡尔积的有限子集。
关系为一张二维表。
笛卡尔积本身在实体空间中是无意义的,关系为从笛卡尔积中取出有意义的子集。
- 相关术语:
- 目(度):表中有几列就为几度或几目。
- 有几行为几元关系。
- 表的每行对应一个元组。
- 表的每列对应一个域,表的每列对应一个属性,n目关系有n个属性。
- 候选码:若关系中的某一属性可以唯一标识一个元组,称该属性为候选码。
- 主码:若一个关系有多个候选码,选定其中一个为主码。
- 主属性:候选码的属性为主属性。
- 非主属性(或非码属性):不包含任何候选码中的属性为非主属性或非码属性。
- 全码:如果关系模式的所有属性都是这个关系模式的候选码,为全码。
- 关系可以有三种类型,基本关系(又称基本表或基表)、查询表、视图表。
- 基本表是实际存在的表,是实际存储数据的逻辑表示。
- 查询表是查询结果对应的表。
- 视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
2. 基本关系的性质
- 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
- 不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。(属性名唯一性)。
- 列的顺序无所谓,即列的次序可以任意交换。
- 任意的两个元组的候选码不能取相同的值。
- 行的顺序无所谓,即行的次序可以任意交换。
- 分量必须取原子值,即每一个分量都必须取不可分的数据项(不能表中有表)。
关系模型要求关系必须规范化,即要求关系必须满足一定的规范条件。这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分割的数据项。规范化的关系简称为范式。
3. 关系模式
关系的描述称为关系模式。
- 关系模式的形式化表示:R(U, D, DOM, F)
- R为关系名
- U为组成该关系的属性名集合
- D为U中属性所来自的域
- DOM为属性向域的映像集合(各行值对应域中的取值)
- F为属性间数据的依赖关系集合
- 关系模式通常简记为
R(U)
或R(A1,A2,...)
其中Ai为属性名。 - 关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。
4. 关系操作
- 关系操作的特点:集合操作方式,即操作的对象和结果都是集合。
- 常用的关系操作:
- 查询(关系操作最主要的部分):
查询操作又可以分为选择、投影、连接、除、并、差、交、笛卡尔积等,其中选择、投影、并、差、笛卡尔积是5种基本操作,其他操作可以用基本操作来定义和导出。 - 数据更新操作:
插入、删除、修改
常用的关系操作:选择、投影、连接、除、并、交、差、笛卡尔积。- 基本的关系操作(5种):选择、投影、并、差、笛卡尔积。
5. 关系数据语言的分类
- 关系代数:用对关系的运算来表达查询要求。
- 关系演算:用谓词来表达查询要求。
- 结构化查询语言(SQL):介于关系代数和关系演算之间。
6. 外码
设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks对应,称F是R的外码,并称基本关系R为参照关系(关系R中的F参照了关系S中的Ks),基本关系S为被参照关系或目标关系。
7. 关系的完整性
- 实体完整性:主码(关系模式中主码作为唯一性标识)中的属性即主属性不能取空值。
- 参照完整性:外码或者取空值,或者等于被参照关系中某个元组的主码值。
- 用户定义的完整性:应用领域需要遵循的约束条件。
实体完整性和参照完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性。