数据库系统概论第二章笔记(1)

关系数据库(1)

1.如何得到一个数据库

  • 图解

在这里插入图片描述

2.关系

  • 定义笛卡尔乘积的子集
  • 图解

在这里插入图片描述

2.1 笛卡尔积

定义:如果A和B时两个非空集合,定义笛卡尔积A×B为a∈A和b∈B的所有有序对(a,b)所组成的集合

  • 例如
A\Brs
1(1,r)(1,s)
2(2,r)(2,s)
3(3,r)(3,s)
  • 域为一组具有相同数据类型的值的集合

    • 例如自然数,整数,长度小于25的字符串,{0,1},{男,女}都可以是域
  • 关系为其中的子集比如{(1,r),(2,s),(3,r)}子集

  • 笛卡尔集每一个元素如(1,r)叫做元组

  • 元组里面的每一个值如(1,r)中的r叫做分量

  • 基数为一个域中允许的不同取值的个数

    • 例如A集合,3个取值:1,2,3
    • A×B集合:6个取值,如上方表格

2.2 候选码

  • 定义:关系中的某一 属性组的值能唯一标识一个元组,而其真子集不能,则称该 属性组 为候选码(候选码一定存在但不唯一

  • 主码:选定的一个候选码

  • 主属性:候选码的所有属性

  • 非码:不包含在任意候选码的

  • 全码:关系模型的所有属性是候选码

2.3 关系的三种类型

  • 基本关系(实际存在的表,存于计算机的后端)
  • 查询表(虚表)
  • 视图表(虚表)

2.4 关系的基本关系类型的性质

  • 每一列中的分量是同一数据类型

  • 任意两个元组的 候选码不能取相同的值候选码(型)相同,取值(值)不同

  • 分量必须取原子值,分量不可再分,表中不能在有表

    • 非规范关系

在这里插入图片描述

2.5 关系模式

  • 关系模式是型,关系是值
  • 定义:关系模式是对关系的描述
  • 标识:R(U,D,DOM,F)
    • R:关系名
    • U:组成该关系的属性名(列名)集合
    • D:属性(表中每一列)所来自的域
    • DOM:属性向域的映像集合
    • F:属性间数据的依赖关系集合
  • 组成
    • 数据
    • 关系操作
    • 完整性约束

2.6 关系数据库

  • 关系数据库模式:关系数据库的型:对关系数据库的描述
  • 关系数据库的值(状态,实例)
    • 关系模式在某一时刻对应的 关系的集合

2.7 关系操作

  • 操作的对象和结果都是集合(关系:笛卡尔集的子集)

2.8 关系的完整性

  • 实体完整性

    • 主属性不能取空值
  • 参照完整性

    • 超码:一个或多个属性的集合,可以唯一标识一个元组(与候选码的区别,没有真子集不能的限制)

    定义:

    • F是基本关系(实际存在的表)R的一个或一组属性,但不是关系R的码(包括主码(选定的候选码),候选码,超码)
    • Ks是基本关系S的主码,如果F与Ks对应,则称F是R的外码,并称基本关系R为参照关系(引用了别人的数据,被别人约束),基本关系S为被参照关系(数据被别人引用,约束别人)
    • 图解

在这里插入图片描述

  • 举例

    • 学生表(R)
    学号(主码)姓名(可以重名)年龄专业号(外码)
    001a1901
    002b2001
    003c1902
    004d1703
    • 专业表(S)
    专业号(主码)(这里只是一个选定的候选码,在这张表中主码也可以是专业名称)专业名称
    01计算机专业
    02数学专业
    03外国语专业
  • 专业号是外码不是码(主码,候选码,超码),且与专业表的主码对应

  • 学生表引用了专业表的数据(被专业表约束),参照关系

  • 专业表被学术表引用(约束了专业表),被参照关系

  • 参照完整性规则

    • 在外码上的取值要么为空值
    • 要么为S中的某个元组的主码值
  • 用户定义的完整性

    • 用户定义的数据所需要必须满足的语义要求
      • 如某个属性不能为空
      • 某个属性唯一
      • 某个属性为枚举类型
      • 。。。

3. 关系代数

  • 传统的集合运算
  • 专门的关系运算

3.1 传统的集合运算

  • 笛卡儿积
3.1.1 举例
  • 设有关系R与关系S具有相同的目(属性个数相同),属性取值来自同一个域,t是元组,t∈R表示t是R的一个元组

    • 由属于R或属于S的元组组成
    R∪S={t|t∈R∨t∈S}
    
    • 属性R不属于S的元组组成
    R-S={t|t∈R∧t∉S}
    
    • 既属于R又属于S的元组组成
    • 等价于R-(R-S)
    R-S={t|t∈R∧t∈S}
    
  • 笛卡儿积

    • 这里的R和S的目数可以不同(当前的举例目是相同的)
    • 笛卡儿积是一个(n(R的目数)+n(S的目数))列的元组的集合
    • 前n列为关系R的一个元组
    • 后n列为关系S的一个元组
    R×S={Tr⌒Ts|Tr∈R∧Ts∈S}
    

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值