数据库Mooc笔记(3)关系模型

关系模型研究什么

形象的说,一个关系就是一个Table,关系模型就是处理Table的,他有三个部分组成:
(1)描述DB各种数据的基本结构形式(即描述这个Table)——数据结构
(2)描述Table和Table之间所可能发生的各种操作(关系运算)——数据操作
(3)描述这些操作所应遵循的约束条件(完整性约束)——完整性约束


关系模型三要素:

关系模型与关系数据库语言的关系

关系运算:关系代数和关系演算
关系演算:元组演算和域演算

关系代数示例:基于集合的运算

即:操作的对象以及结果都是集合,是一次集合的操作,而非关系型的数据操作通常是一次一记录的操作。

元组演算示例:基于逻辑的运算
域演算示例:基于示例的运算

什么是关系

为什么把“表”称为关系?怎样严格定义一个“表”?”表“和”关系“有什么异同?

”表“的基本构成要素

”表“的严格定义——关系

(1)首先定义”列“的取值范围”域“



(2)再定义”元组”以及所有可能组合成的元组:笛卡尔积




(3)最后来看什么是关系?

我们可以知道笛卡尔积中的所有元组并不是都有意义的,所以...
把有某种意义的这些摘出来,称为关系。例如从上面的笛卡尔积的所有元组中抽出来家庭这个关系



这个表里面的数据都是有家庭关系的。

关系:`

  • 一组域D1,D2,...,Dn的笛卡尔积的子集
  • 笛卡尔积中具有某一方面意义的那些元组被称为一个关系
  • 由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名

关系特性

(1)列是同质:每一列中的分量来自同一域,是同一类型的数据;
(2)不同列可以来自同一个域,称其中每一列为一个属性,不同的属性要给予不同的属性名;


(3)列位置互换性:区分哪一列是靠列名;
(4)行位置互换性:区分哪一行是靠某一或某几列的值;
(5)基于(3)和(4),可以知道关系是以内容来区分的,而不是属性在关系的位置来区分。
(6)属性不可再分特性(关系第一范式

属性再分:复合属性和多值属性

关系上的一些重要概念

候选码/候选键

主码/主键

(1)当有多个候选码时,可以选定一个作为主码;
(2)DBMS以主码为主要线索管理关系中的各个元组;

主属性与非主属性

包含在任何一个候选码中的属性被称为主属性,而其他属性则被称为非主属性。
所有属性构成一个关系的候选码,称为全码关系。

外码/外键

关系R中的一个属性组,他不是R的候选码。但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。


表可以有重复元组,关系是集合的定义,不能有重复。


关系模型中的完整性

实体完整性

参照完整性

用户自定义完整性


总结

你可能感兴趣的:(数据库Mooc笔记(3)关系模型)