关系数据模型及其运算基础

SonderLau ... 2020-06-22 Notes
  • 数据库
大约 2 分钟

# 关系数据模型及其运算基础

本小节内容过于琐碎 笔记内容也比较简单 建议还是看书比较好


# 关系模型的基本概念

# 笛卡尔积 Cartesian Product

# 关系 Relation

# 关系模式

完整的关系模式定义

R(U,D,dom,F)R(U,D,dom,F)

  • R
    • 关系名
  • U
    • 所有属性名的集合
  • D
    • 是 U 中属性所来自的域的集合
  • dom
    • 为属性向域映像的集合

# 关系代数

# 传统集合运算的关系运算

交 并 差 广义笛卡尔积

# 投影 Projection

Ename,Title(Employee)\prod \scriptsize{Ename,Title} \normalsize (Employee)

即在列上对内容进行选择

# 选择 Selection

σcondition(RelationName)\sigma \scriptsize condition \normalsize (RelationName)

  • condition
    • 是个布尔运算表达式

# 连接 Join

是从两个关系的广义笛卡尔积中选取满足某规定条件的全体元组形成一个新的关系

RAθBS=σAθB(R×S)R \underset{A \theta B}{\bowtie} S = \sigma_{A\theta B} (R \times S)

A B 不一定同名 但一定要可比 即来自同一个域

# 等值连接 Equivalence Join

所有的θ\theta都是 = 的时候

这是较常用的连接方式

# 自然连接 Natural Join

要求相等的分量必须具有共同属性名

会把重复的 2 个属性名删去一个

RSR \bowtie S

# 外连接 Outer Join

如果把舍弃的元组也保存在结果关系中 而在其他属性上填null 这种连接叫外连接

  • 左外连接
    • R ⟕ S
  • 右外连接
    • R ⟖ S
  • 全外连接
    • R ⟗ S

# 更名 Rename

在自身连接查询中 需要对廷议关系进行连接查询 对关系进行更名运算可以得到一个新名字的相同关系

对给定关系 R 作为更名为 S 的运算 记为

ρs(R)\rho_s (R)

e.g.

S.Eno,S.Ename(σR.Ename=MaxS.Age>R.Age(R×ρs(R))\prod\scriptsize S.Eno,S.Ename \normalsize (\sigma_{R.Ename = 'Max' \land S.Age >R.Age } (R \times \rho _s (R))

# 除 Division

本质上 除法是广义笛卡尔积的逆运算

上次编辑于: 2021年11月15日 17:39
贡献者: SonderLau