首页 > 代码库 > 关系模型关系模型

关系模型关系模型

关系模型研究的内容

一个关系就是一个Table,关系模型就是处理Table的

在处理Table时涉及到以下内容

  • 如何来描述一个Table,一个Table由哪些要素组成
  • 规定Table上的操作和Table与Table之间的操作
  • 定义表的约束与操作的约束

关系模型三要素

  • 基本结构 (Table)
  • 基本操作(U、-、X、σ、π、÷、∩)
  • 完整性约束(实体完整、参照完整、用户自定义完整性)

表/关系

下图是对一张表的定义,我们称表也为关系。

技术分享

域:所有可取的列值构成的集合。域的笛卡尔积的子集被成为关系。

下图表示了使用关系模式对关系进行描述,关系模式中的A1是属性名,而D1是域名,表示该属性的值来自D1这个域

技术分享

在进行关系运算的时候可以采取下面的三种方式来计算,虽然方式不同,但是表达的意思是一致的

 关系代数运算

关系代数的操作是基于集合的操作,即操作的最小单位是一张表,而非关系模型下操作的对象是一条记录

下图中有两个集合R和S,先将R和S集合进行连接,然后选择出课程号为c2的记录,最后将姓名和课程号投影出来。

技术分享

元组演算

元组演算是基于逻辑的运算

技术分享

关系的特性

  • 元组不能重复,但是在工程实践中并不会完全遵守该规则
  • 属性不可再分(第一范式),即表中的属性下不能再有子属性
  • 候选码可以有多个,选择其中的一个可以来作为主键使用
  • 出现在任意一个候选码中的属性为主属性,其余属性为非主属性
  • 外键(联系两个关系的纽带)

完整性约束

  • 主键不能空
  • 外键可以为空,如果不为空则只能取对应主键中的值
  • 用户自定义完整性

 

关系模型关系模型