关系模型
关系代数运算
重要程度:7 分
<div>
<h2>关系代数运算</h2>
<p>关系代数是一种形式化的查询语言,用于描述关系数据库中的操作。它主要包括以下几种运算:</p>
<ul>
<li><strong>并运算 (Union)</strong></li>
<li><strong>差运算 (Difference)</strong></li>
<li><strong>交运算 (Intersection)</strong></li>
<li><strong>笛卡尔积 (Cartesian Product)</strong></li>
<li><strong>选择 (Selection)</strong></li>
<li><strong>投影 (Projection)</strong></li>
<li><strong>连接 (Join)</strong></li>
</ul>
<h3>1. 并运算 (Union)</h3>
<p>并运算用于合并两个关系,并且结果关系包含在两个关系中的所有元组,但重复的元组只出现一次。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B), (C, D), (E, F) }
S = { (A, B), (G, H), (I, J) }
R ∪ S = { (A, B), (C, D), (E, F), (G, H), (I, J) }
</pre>
<h3>2. 差运算 (Difference)</h3>
<p>差运算用于找出属于一个关系但不属于另一个关系的元组。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B), (C, D), (E, F) }
S = { (A, B), (G, H), (I, J) }
R - S = { (C, D), (E, F) }
</pre>
<h3>3. 交运算 (Intersection)</h3>
<p>交运算用于找出同时属于两个关系的元组。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B), (C, D), (E, F) }
S = { (A, B), (G, H), (I, J) }
R ∩ S = { (A, B) }
</pre>
<h3>4. 笛卡尔积 (Cartesian Product)</h3>
<p>笛卡尔积用于将两个关系的所有元组合并成一个新的关系。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B), (C, D) }
S = { (X, Y), (Z, W) }
R × S = {
(A, B, X, Y), (A, B, Z, W),
(C, D, X, Y), (C, D, Z, W)
}
</pre>
<h3>5. 选择 (Selection)</h3>
<p>选择运算用于从一个关系中挑选满足给定条件的元组。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B), (C, D), (E, F) }
σ_A = 'A' (R) = { (A, B) }
</pre>
<h3>6. 投影 (Projection)</h3>
<p>投影运算用于从一个关系中选择某些属性列组成新的关系。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B, C), (D, E, F), (G, H, I) }
π_A,C (R) = { (A, C), (D, F), (G, I) }
</pre>
<h3>7. 连接 (Join)</h3>
<p>连接运算用于将两个关系通过共同的属性组合成一个新的关系。</p>
<p><strong>例题:</strong></p>
<pre>
R = { (A, B, C), (D, E, F) }
S = { (B, G, H), (E, I, J) }
R ⋈ S = { (A, B, G, H), (D, E, I, J) }
</pre>
</div>