软考|数据库系统|3.关系代数

关系代数

  • 并:取并集

  • 交:取交集

  • 差:取差

  • 笛卡尔积:每条记录直接相乘合并,记录数变为MxN

  • 投影(∏):类似于选择列

  • 选择(σ): 从R关系表内选择出符合关系的

连接

等值连接

等值连接:R.A = S.B(A、B属性名可不同也可以相同)

语法:R ⋈AθBS = { tr ⌒ ts | tr ∈ R ∧ ts ∈ S ∧ tr[A] = ts[B] }

其中,R和S为关系表,A、B分别是关系R、S上的可比属性组(A、B两个属性组的域相同,就称为可比属性组)

θ称为比值符,也就是>、<、=号; 当θ两边的属性相等时,等值S连接成立;

等值连接其结果是从关系R和S的笛卡尔积中选出属性组AB相等的元组,即:

$$
\begin{align}σ_{(A=B)}(R×S)\end{align}
$$

 

结果上,从S×C的笛卡尔积内选择出S.CNO = C.CNO的元组,即:

$$
\begin{align} σ_{(CNO=CNO)}(S×C) \end{align}
$$

 

自然连接

R.A = S.A(必须有相同的属性名且域相同才可以进行自然连接)

特殊的等值连接,比较的分量必须是同一属性组

在等值连接的基础上去掉重复的属性列

结果上,从S×C的笛卡尔积内选择出S.CNO = C.CNO的元组并去重,即:

$$
\begin{align}Π_{(Name,Sex,Age,CNO,CN)}\{σ_{(CNO=CNO)}(S×C)\}\end{align}
$$

 

除法

$$
\begin{align}R ÷ S = \{ t_r[X] | t_r∈R ∧ ∏_y(S)⊆Y_X \}\end{align}
$$

 

  1. 分出X、Y、Z三个属性集

  2. 列出S对Y属性集的投影

  3. 找出R中满足x值对应的象集包含了关系S对Y属性集的x值

除法运算需满足的条件:设有关系R(X,Y)、S(Y,Z),其中X,Y,Z为属性集合,R中的Y与S中的Y可以有不同的属性名,但对应的属性组必须来自同一域

详解:

关系R和关系S共有的属性集是Y,而R÷S得到的值就是关系R对X属性组的投影(S关系内没有的),而这X属性组还需满足特定条件(元组在X属性组上的分量值x的象集YX包含了S对Y属性组的投影集合)。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇