【数据库理论】关系数据库

本系列为《数据库系统原理与应用(刘先锋等著)》的读书笔记。

一,关系模型的基本概念

  1. 关系及基本术语
  • 在关系模型中,表格的第一行称为关系框架,是属性 A 1 A_1 A1 A 2 A_2 A2 A 3 A_3 A3 … \dots A k A_k Ak有限集合
  • 表中的每行称为关系的一个元组;每列称为属性,它在某个值域上的取值,不同的属性可以在相同的值域上取值。
  • 关系中的属性个数称为元数Arity),元组个数称为基数
  1. 关键字
  • 超关键字(Super Key):在关系中能够唯一标识元组的属性集合。
  • 候选关键字(Candidate Key):如果某一属性集合是超关键字,但去掉其中任意属性后就不再是超关键字,这样的属性称为候选关键字
  • 候选关键字的诸属性称为主属性,不包含在任何候选关键字中的属性称为非主属性非码属性)。
  • 主关键字(Primary Key):如果关系中存在多个候选关键字,用户可选作元组标识的一个候选关键字主关键字
  • 合成关键字(Composite Key):当某个候选关键字包含多个属性时,该候选关键字称为合成关键字
  • 外部关键字(Foreign Key):如果关系R的某个(些)属性K不是R中的候选关键字,而是另一个关系S的候选关键字,则K称为R的外部关键字

二,关系模式

  1. 在关系数据库中,关系模式是,关系是

  2. 定义3-1】关系的描述称为关系模式,形式化表示为
    R ( U , D , D O M , I , F ) R(U, D, DOM, I, F) R(U,D,DOM,I,F)
    其中, R R R关系名 U U U为组成该关系的属性名集合 D D D U U U中属性的 D O M DOM DOM为属性到域的映像集合 I I I完整性约束集合 F F F为属性间数据的依赖关系集合

⚠️关系模式中带有下画线的属性集为主关键字

三,关系模型的完整性

  1. 域完整性约束:主要规定属性值必须取自值域,一个属性能否为空值由其语义决定。

  2. 实体完整性约束:规定基本关系的所有主属性都不能取空值,而不仅是主属性整体不能取空值。

  3. 参照完整性约束:要求“不引用不存在的实体”,考虑的是不同关系之间的或同一关系的不同元组之间的制约。形式定义:
    如果属性集K是关系R的主关键字,K也是关系S的外关键字,那么在关系S中,K的取值只允许两种可能,要么为空值,要么等于关系R中某个主关键字的值。关系R称为“参照关系”模式,关系S称为“依赖关系”模式

  4. 用户自定义完整性约束:针对某个具体关系数据库的约束条件。

四,关系代数

  1. 关系查询语言分类
  • 关系代数语言:查询操作是以集合操作为基础运算的DML语言。
  • 关系演算语言:查询操作是以谓词演算为基础运算的DML语言。
  1. 关系代数的五种基本操作
    相等定义:设有同类关系 r 1 r_1 r1 r 2 r_2 r2,若 r 1 r_1 r1的任何一个元组都是 r 2 r_2 r2的一个元组,则称关系 r 2 r_2 r2包含关系 r 1 r_1 r1,记作 r 1 r_1 r1 ⊆ \subseteq r 2 r_2 r2 r 2 r_2 r2 ⊇ \supseteq r 1 r_1 r1,如果 r 1 r_1 r1 ⊆ \subseteq r 2 r_2 r2 r 1 r_1 r1 ⊇ \supseteq r 2 r_2 r2,则称关系 r 1 r_1 r1等于关系 r 2 r_2 r2,记作 r 1 r_1 r1= r 2 r_2 r2

定义3-2(Union):设有同类关系 r 1 r_1 r1[R]和 r 2 r_2 r2[R],两者的(Union)运算定义 r 1 r_1 r1 ⋃ \bigcup r 2 r_2 r2 = { t t t ∣ \mid t t t ∈ \in r 1 r_1 r1 ∨ \vee t t t ∈ \in r 2 r_2 r2}
式中, ⋃ \bigcup 为并运算符。 r 1 r_1 r1 ⋃ \bigcup r 2 r_2 r2的结果关系是 r 1 r_1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值