关系数据结构及形式化定义

2023.01.16

Overview

  1. 域、基数
  2. 笛卡尔积、分量
  3. 关系、名字、目/度

关系

  1. 域:D1、D2、...

    我的理解:一个集合,可以是有限集({0、1}、{男、女})也可以是无限集(自然数、整数)。

  2. 笛卡尔积:比如D1×D2×D3

    我的理解

    1. 就是把每一个集合想像成一个坐标轴,一个维度。笛卡尔积就是这些维度张成的n维线性空间。
    2. 每一个组成笛卡尔积的值,叫做分量
    3. 一个域允许的取值个数,叫做基数
  3. 关系

    1. R(D1,D2,D3,...,Dn),R是关系的名字,n是关系的

    2. n=1,单元关系/一元关系

    3. n=2,二元关系

    4. 候选码:某一个属性组的值可以唯一标识一个元组

    5. 主码:多个候选码选定一个

    6. 主属性:候选码的诸属性(主属性少一个码就不能唯一标明一个元素);非主属性/非码属性

      注意⚠️:

      比如一个班级,叫李华的分别有一男一女,剩下的不重名。那么每一个人的“姓名+性别”和“学号”是候选码(就是可以拿“姓名+性别”当主码,也可以拿“学号”当主码),那么姓名、性别、学号就是主属性。

    7. 全码:所有属性才是关系模式的候选码

    8. 基本关系:实际存在的表,数据的逻辑表示

    9. 查询表:查询结果对应的表

    10. 视图表:基本表或其他视图表到处的表,虚表,现实中不存在

    注意⚠️:行与列都是可以交换的,因为这里讨论的是“关系”而不是数据库的那些数据,而是抽象的那个“n维线性空间”

关系模式

关系数据库

 

关系模型的存储结构