ps: 笔记很简陋,仅供自己使用。对其他的朋友可能没有参考性 – 来源:学堂在线-哈尔滨工业大学-数据库系统
文章目录
什么是关系
下图为关系模型理论和工业上“表”之间的联系与差别
关系模式 – 表/标题
属性与属性值 – 列名与列值
元组 – 行 / 记录
包含在任何候选码里得属性叫做主属性
完整性
实体完整性
- 关系中的主码中的属性值不能为空
- 空值:不知道、不存在或无意义的值
参照完整性
- 05 错是因为
D#
作为Dept
关系的主码,没有05
这个属性值 - 外码是可以为空的
用户自定义完整性
关系代数
- 并
- 差
- 笛卡尔积
- 选择
- 投影
- 更名
- 交
- 连接
- 关系除
并相容性
并(Union)
差(Differrnce)
广义笛卡尔积(Cartesian Product)
选择(Select)
投影(Project)
交(Intersection)
连接(θ-Join)
简单理解 在乘积的基础上进行其他操作
注意 虽然我们现在在说连接操作时,使用笛卡尔积然后再进行选择来得到
θ-连接
的结果是为了方便理解。当引入连接操作后,DBMS
可直接进行连接操作,而不必先形成笛卡尔积
等值联结(Equi-Join)
自然连接(Natrual-Join)
应用训练
除(Division)
R ÷ S
中的每个元组如 :a, d
和关系S
中的每个元组b c
组合都能称为关系R
中的某个元组a b c; d b c
外连接(Outer-Join)
关系元组演算
存在量词与全称量词公式
S
t
u
d
e
n
t
⋈
(
π
S
#
(
S
C
)
−
π
s
#
(
σ
S
c
o
r
e
<
60
(
S
C
)
)
)
Student \Join (\pi_{S\#}(SC) - \pi_{s\#}(\sigma_{Score < 60}(SC)))
Student⋈(πS#(SC)−πs#(σScore<60(SC)))
(不知道对不对)