MOOC战德臣数据库课程自用笔记_2_关系模式

关系模式

一. 关系模式研究内容

一个关系就是一个Table
关系模型就是处理Table的,有三个部分:

  • 描述DB各种数据的基本结构形式(Table/Relation)
  • 描述Table与Table之间所可能发生的各种操作(关系运算)
  • 描述这些操作所应该遵循的约束条件(完整性约束)

就是要学习:Table如何描述?有什么操作?结果是什么?有哪些约束等?

二. 关系模型三个要素

  • 基本结构:Relation/Table
  • 基本操作: ∪ , − , × , δ , ∏ , ∩ , ⋈ , ÷ ∪, -, ×, \delta, \prod, ∩, ⋈, ÷ ,,×,δ,,,,÷
  • 完整性约束:实体完整性,参照完整性,用户自定义的完整性

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

关系运算

  • 分为关系代数关系演算

  • 关系演算又可分为:元组演算和域演算

  • 关系运算是基于集合的运算,而非关系型数据库操作通常是一次一记录的操作。

关系代数在这里插入图片描述

转换为数据库语言(ISBL)
在这里插入图片描述

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

在这里插入图片描述
转换为数据库语言(Ingres系统的QUEL)
在这里插入图片描述

域演算:基于示例的运算

在这里插入图片描述
转换为数据库语言(QBE)
在这里插入图片描述

四. 关系(Relation)与表(Table)

表的基本构成要素

在这里插入图片描述

表的严格定义

域(Domain)

列的取值范围

  • 一组具有相同数据类型值的集合
  • 如整数集合,字符串集合,全体学生的集合等
  • 集合元素的个数为域的基数(Cardinality)

笛卡尔积(Cartesian Product)

元组及所有可能组合成的元组

  • 一组域 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1D2...Dn 的笛卡尔积为 D 1 × D 2 × . . . D n = { ( d 1 , d 2 , . . . , d n ) ∣ d i ∈ D i , i = 1 , . . . , n } D_1×D_2×...D_n = \{(d_1, d_2,..., d_n) | d_i∈D_i, i=1,... ,n\} D1×D2×...Dn={ (d1,d2,...,dn)diDi,i=1,...,n}
  • 笛卡尔积的每个元素 ( d 1 , d 2 , . . . , d n ) (d_1, d_2,...,d_n) (d1,d2,...,dn) 称为一个 n-元组(n-tuple)
  • 元组 ( d 1 , d 2 , . . . , d n ) (d_1, d_2,...,d_n) (d1,d2,...,dn)的每一个值 d i d_i di叫做一个分量(component)
  • 笛卡尔积是由n个域形成的所有可能的 n-元组 的集合
  • D i D_i Di的基数为 m i m_i mi,则笛卡尔积的基数,即元组个数为 m 1 × m 2 × . . . m n m_1×m_2×...m_n m1×m2×...mn

笛卡尔积所有的元组并不都是有意义的,笛卡尔积具有某方面意义的那些元组被称为一个关系,由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,即属性名

关系模式(Schema)/ 表标题(head)

关系可用 R ( A 1 : D 1 , . . . A n : D n ) R(A_1:D_1,...A_n:D_n) R(A1:D1,...An:Dn)表示,可简记为 R ( A 1 , . . . A n ) R(A_1,...A_n) R(A1,...An),这种描述又被称为关系模式/表标题

  • R是关系的名字,A是属性,D是属性所对应的域,n是关系的目(degree),关系中的元组的数目称为关系的基数

关系和关系模式

  • 同一关系模式下,可有很多的关系
  • 关系模式是关系的结构,关系是关系模式在某一个时刻的数据
  • 关系模式是稳定的,而关系是某一时刻的值,是随时间可能变化的

关系模式是关系的结构,关系是某一时刻的值。

概念辨析

候选码(Candidate Key)

关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,他就不具有这一性质了,这样的属性组称作后选码。

主码(Primary Key)/主键

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

主属性与非主属性

包含在任何一个候选码钟中的属性被称为主属性,而其他属性被称作非主属性。
最简单情况,候选码只包含一个属性
最极端情况,所有属性构成这个关系的候选码,称为全码(All-Key);比如“教师授课”(T#,C#)就是全码。

外码(Foreign Key)/外键

关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码对应,则称这个属性组为R的外码。
两个关系通常是靠外码连接起来的。

五. 关系模型完整性

实体完整性

关系中的主码属性值不能为空

针对主码

参照完整性

如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中的某个元组的Pk值,或者为空值

针对外码,用于保证关系之间连接的一致性

用户自定义完整性

用户针对具体的应用环境定义的完整性约束条件

针对属性与属性组合

DBMS对关系完整性的支持

实体完整性和参照完整性由DBMS系统自动支持

猜你喜欢

转载自blog.csdn.net/qq_39906884/article/details/114374947