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

关系:

  1. 域:一组具有相同数据类型的值的集合
  2. 笛卡尔积:域上的一种集合运算
  3. 关系:笛卡尔积的子集

笛卡尔积例子:
关系数据库
基数:上图中D1的基数2,D2的基数2,D3的基数2,笛卡尔积的基数为2*2*2=8
关系的度或目:属性的个数


关系术语:

  1. 关系:一张表
  2. 元组:表中的一行
  3. 属性:表中的一列
  4. 候选码:可以唯一确定一个元组的属性或属性组
  5. 主码:候选码中的一个
  6. 全码:当所有属性在一起才能唯一确定一个元组时,所有属性的组合叫做全码
  7. 主属性:候选码包含的属性
  8. 非主属性:候选码不包含的属性

三类关系:

  1. 基本关系(基本表)
  2. 查询表
  3. 视图表

基本关系的性质:

  1. 列是同质的
  2. 不同的列可以出自同一个域
  3. 列可以互换
  4. 行可以互换
  5. 任意两个元组的候选码不可以相同
  6. 分量必须是原子(表中不能套表)

关系模式

关系模式是对关系的描述,是静态的,稳定的
关系是关系模式在某一时刻的状态或内容,是动态的
关系模式和关系统称为关系,通过上下文区别
关系数据库这张表中上面为关系模式,下面为关系,整体也叫关系


关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库


关系操作

常用的关系操作:

  1. 查询:选择、投影、连接、除、并、交、差
  2. 数据更新:插入、删除、修改
  3. 5中基本操作:选择、投影、并、差、笛卡尔积
    关系操作的特点:
    集合操作方式:操作的对象和结果都是集合,一次一集合的方式

关系的三类完整性约束

  1. 实体完整性
  2. 参照完整性
  3. 用户定义的完整性

实体完整性和参照完整性是关系模型必须满足的完整性约束条件,成关系的两个不变性,由关系系统支持
用户定义的完整性是根据应用领域需要遵循的条件,体现出具体领域中的语义约束

  • 实体完整性:主属性非空
  • 参照完整性:
  1. 关系间的引用
  2. 外码:属性或属性组是其他关系中的主码,但不是自己的主码(可以是自己的主属性)
  3. 参照完整性规则:外码必须是对应主码中的值或者是空值,如果是自己的主属性,则只能是对应主码的值
  • 用户定义的完整性: 针对某一个具体关系数据库的约束条件,反应某一具体应用所涉及的数据必须满足的语义要求

关系代数

  1. 选择
  2. 投影
  3. 连接
  4. 笛卡尔积

选择符号:[外链图片转存中…(img-hb46l66F-15894320214124839190.png)
投影符号:π
连接符号:∞


笛卡尔积:为所有的情况组合
投影:为选择部分列
选择:为选择部分行
连接:关系数据库θ为运算符号, 如果是=则为等值连接,等值连接将相同的列去重,则为自然连接。
左外连接:将左边关系R中舍弃的元组保留,其余的S的属性填null
右外连接:将右边关系S中舍弃的元组保留,其余的R的属性填null
外连接:将舍弃的元组保留,其余的属性填null


除操作:
需要先引入象集的概念:
可以理解为R(X,Y), X->Y的集合
例如关系数据库
A为X,BC为Y
a1可以对应到(b1,c2)(b2,c3)(b2,c1),则a1的象集为{{b1,c2),(b2,c3),(b2,c1)}
同理
关系数据库
在另一个关系S中,找出BC的投影
关系数据库
即为关系数据库
此时 R÷S结果为看R中有哪些象集完全包括了S中的投影,即为结构
只有a1完全包含,所以答案为{a1}

相关文章:

  • 2022-12-23
  • 2021-10-24
  • 2021-08-27
猜你喜欢
  • 2022-01-30
  • 2022-01-25
  • 2021-04-01
  • 2021-11-12
  • 2021-10-08
  • 2021-07-28
  • 2021-11-19
相关资源
相似解决方案