开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情
关系操作
包括查询操作和修改操作
- 查询操作(最复杂,最重要): 选择、投影、连接、除、并、交、差、笛卡尔积
- 选择、投影、并、差、笛卡尔积是五种基本查询操作
- 修改操作:插入、删除、更新
- 关系操作的对象和结果都是元组集合(关系)
- 关系数据语言分类
- 关系代数语言
- 关系演算语言
- 结构化查询语言
- 关系代数是以关系作为运算对象的一组特定的运算,用户通过这组运算,对一个或多个关系不断 的进行组合或分割,从而得到所需要的数据集合。
关系代数运算符
几个记号
R
- 设关系模式为 R (A1,A2,…,An)
- 它的一个关系设为R
t 属于 R
- t 属于 R 表示 t 是 R 的一个元组
t[Ai]
- t[Ai]则表示元组t中相应于属性Ai的一个分量
A,t[A], A
- 若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…, Aik是A1,A2,…,An中的一部分,则A称为属性列或属性组。
- t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性 组A上诸分量的集合。
- A则表示{A1,A2,…,An }中去掉{Ai1,Ai2,… ,Aik}后剩余的属性组。
- R为n目(元)关系,S为m目(元)关系。
- tr 属于 R,ts 属于 S, tr ts称为元组的连接。
- tr ts是一个n + m列的元组,前n个分量为R中的 一个n元组,后m个分量为S中的一个m元组。
集合运算
并 ❖ 交 ❖ 差
R与S必须并相容:R和S 具有相同目n(即相同的属性个数),相应属性取自同一个域。
笛卡尔积
并运算
R∪S = { t | t∈R ∨ t∈S }
- 其中R和S具有相同目n(即相同个数的属性), 相应属性取自同一个域;
- R∪S的结果仍然为n目(元)关系,由属于R 和属于S的所有元组组成。
- 重复元组要消除
差运算
R-S = { t | t∈R ∧ t∈S }
- 其中R和S具有相同目n(即相同个数的属性), 相应属性取自同一个域;
- R-S的结果仍然为n目关系,由属于R而不属于S 的所有元组组成。
交运算
R∩S = { t | t∈R ∧t∈S }
- 其中R和S具有相同目n(即相同个数的属性),相应属性取自同一个域;
- R∩S的结果仍然为n目关系,由既属于R又属于 S的所有元组组成。
笛卡尔积
R×S = { trts | tr∈R ∧ts∈S }
严格地讲应该是广义的笛卡尔积(Extended Cartesian Product)
- R: n目关系,k1个元组
- S: m目关系,k2个元组
- R×S
- 列:(n+m)列
- 每个元组的前n个分量(属性值)是关系R的一个元 组
- 每个元组的后m个分量是关系S的一个元组
- 行:k1×k2个元组
数据库在计算机的专业课中算比较简单易上手的一门课,学的也很开心,尤其是上机实验,那个我们后面再讲