数据库系统(3):关系模型之基本概念

重点与难点

  • 一组概念的区分:围绕关系的相关概念,如域,笛卡尔积,关系,关系模式,关键字/键/码, 外码/外键,主码/主键,主属性与非主属性。
  • 三个完整性:实体完整性,参照完整性和用户自定义的完整性。

一、什么是关系模型

  • 形象地说,一个关系(relation)就是一个Table

 

  • 关系模型的三个要素
  1. 基本结构:Table/Relation
  2. 基本操作:Relation Operator
  3. 完整性约束:实体完整性、参照完整性和用户自定义的完整性

 

  • 关系运算:关系代数和关系演算;关系演算:元组演算和域演算。
  1. 关系代数:基于集合的运算
  2. 元组演算:基于逻辑的运算
  3. 域演算:基于示例的运算

二、什么是关系

  • 关系是“表”的严格定义
  1. 首先定义“列”的取值范围“域(Domain)”
  2. 再定义“元组”及所有可能组合的元组:笛卡尔积

 

  • 域(Domain)
  1. 一组值的集合,这组值具有相同的数据类型
  2. 集合中元素的个数称为域的基数(Cardinality)

 

  • 笛卡尔积(Cartesian Product)
  1. 数据库系统(3):关系模型之基本概念一组域数据库系统(3):关系模型之基本概念的笛卡尔积为:数据库系统(3):关系模型之基本概念
  2. 笛卡尔积的每个元素(数据库系统(3):关系模型之基本概念)称作一个n-元组(n-tuple)
  3. 元组(数据库系统(3):关系模型之基本概念)的每一个值数据库系统(3):关系模型之基本概念叫做一个分量(component)
  4. 元组(数据库系统(3):关系模型之基本概念)是从每一个域任取一个值所形成的一种组合,笛卡尔积是所有这种可能组合的集合。
  5. 数据库系统(3):关系模型之基本概念的基数为数据库系统(3):关系模型之基本概念,则笛卡尔积的基数,即元组个数为数据库系统(3):关系模型之基本概念

 

  • 关系(Relation)
  1. 一组域数据库系统(3):关系模型之基本概念的笛卡尔积的子集
  2. 笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
  3. 由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名
  4. 关系可用数据库系统(3):关系模型之基本概念表示,可简记为数据库系统(3):关系模型之基本概念,这种表述又被称为关系模式(Schema)或表标题(head)
  5. R是关系的名字,数据库系统(3):关系模型之基本概念是属性,数据库系统(3):关系模型之基本概念是属性所对应的域,n是关系的度或目(degree),关系中元组的数目称为关系的基数(Cardinality)
  6. 关系模式数据库系统(3):关系模型之基本概念中属性向域的映像在很多DBMS中一般直接说明为属性的类型、长度等

 

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

三、关系有什么特性

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

  3. 列位置互换性:区分那一列是靠列名(不靠位置)

  4. 行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)

  5. 理论上,关系的任意两个元组不能完全相同(集合的要求:集合内不能有相同的两个元素),现实应用中,表(Table)可能并不完全遵守此特恶性。(数据库理论上称作关系,数据库管理软件中叫做Table)

  6. 属性不可再分特性:又被称为关系第一范式数据库系统(3):关系模型之基本概念

四、候选码与外码

  • 候选码(Candidate Key)/候选键
  1. 关系中的一个属性组,其值能位移表示一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码

 

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

 

  • 主属性与非主属性
  1. 包含在任何一个候选码中的属性被称作主属性,而其他属性被称作非主属性。
  2. 最简单的,候选码只包含一个属性
  3. 最极端的,所有属性构成这个关系的候选码,称为全码(All-Key)

 

  • 外码(Foreign Key)/外键
  1. 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性为R的外码和外键
  2. 两个关系通常是靠外码连接起来的

五、关系模型的完整性

  • 实体完整性
    • 关系的主码中的属性值不能为空值(空值:不知道、不存在或无意义的值)

 

  • 参照完整性
    • 如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者的等于R2中某个元组的Pk值,或者为空值
    • 意义:如果关系R1的某个元组参照t1参照了关系的R2的某个元组t2,则t2必须存在

 

  • 用户自定义完整性
    • 用户针对具体的应用环境定义的完整性约束条件
    • 数据库系统(3):关系模型之基本概念

 

  • DBMS对关系完整性的支持
    • 实体完整性和参照完整性由DBMS系统自动支持
    • DBMS系统同城提供如下机制:
    1. 它使用户可以自定义有关的完整性约束条件
    2. 当有更新操作发生时,DBMS将自动按照完整性约束条件检验更新操作的正确性,即是否符合用户自定义的完整性