关系数据模型

  • 关系实例
    • 关系实例由命名的若干列和行的表
    • 行也称为元组
    • 元组的数目成为基数
    • 列一般需要命名
  • 关系模式
    • 关系名R,属性列表U,域D,属性到域的映射DOM,属性约束F
    • 可以用五元组表示,也可以简单地用三元组,二元组表示;
    • 关系必须是规范化的
      • 1NF:关系的每个分量必须是不可分的(不允许表中有表);
      • 2NF,3NF,BCNF:更高级的设计模式
  • 优点:理论严格,线性结构简单,数据独立性,安全性和完整性;
  • 缺点:对现实世界表达能力弱,存取对用户透明,查询效率不如NoSQL,只有固定的操作集,不能很好地支持商业规则;

关系数据库

关系数据库是 关系的有限集合;

  • 数据库模式:关系模式的集合;
  • 数据库实例:对应关系实例的集合;

关系:

  • 关系是笛卡尔积的一个有意义的子集,有对应的关系名;

  • 一个关系是一张 没有重复行重复列 的二维表;

    • 实体本身的数据;
    • 实体之间的联系;
  • 元组: 表中的一行,表示一个实体

    属性:表中的一列,有属性名

    域:属性的取值范围

    分量:元组中的属性值

以下是有关术语理论和实践不同的表述:

理论 实现
关系
元组 记录
属性 字段
分量 单元格

关系的三要素

  1. 数据结构
  2. 关系操作
  3. 数据约束

数据结构

    • 唯一区分不同元组的属性;
    • 又称关键字,码;
  1. 候选键
    • 在关系中能唯一区分确定不同元组的属性;
    • 包括在候选键的属性称为主属性;
    • 不包括在候选键的属性称为非主属性;
  2. 主键
    • 当多个候选键存在时,选定一个作为主键;
    • 每个关系中,主键是唯一的;
  3. 外键
    • 在关系中并非键,但在另一个关系中的主键;

关系操作

关系的操作:集合操作,包括查询,投影,连接,除,并,交,差

数据约束

关系的完整性规则:对关系的某种约束条件,保证数据库值的数据的正确性和一致性

  • 实体完整性:主键非空;
  • 参照完整性:外键要么为空值,要么来自于被参照关系表中的某个原则的主键值;
  • 用户定义的完整性:各种商业规则