生活随笔
收集整理的這篇文章主要介紹了
【数据库系统概论】考研第二部分重点分析【2.2】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- (二) 【關系數據庫】
- 2.【關系代數】
- 2.1【關系代數運算的分類】
- 2.2【關系代數的基本運算】
- 2.2.1【并】
- 2.2.2【交】
- 2.2.3【差】
- 2.2.4【笛卡兒積】(就是選出所有可能的結果)
- 2.2.5【選擇】(就是根據條件選擇元組)
- 2.2.6【投影】(就是選擇這幾列不重復的顯示得到的元組)
- 2.2.7【連接】(就是根據條件連接兩個表)
- 2.2.7.1【自然連接】
- 2.2.7.2【等值連接】
- 2.2.8【除】(就是查找符合除數表的所有元組)
- 2.3【用關系代數表示查詢要求】
- 【重點例題】:
(二) 【關系數據庫】
2.【關系代數】
2.1【關系代數運算的分類】
- 傳統的集合運算:并、交、差、廣義笛卡兒積
- 專門的的關系運算:選擇、投影、連接(等值連接、自然連接)、除
- 五種基本運算:并、差、笛卡兒積、選擇、投影
- 五種基本操作經過有限次復合的式子稱為關系代數表達式
2.2【關系代數的基本運算】
2.2.1【并】
=R-(R-S)
2.2.2【交】
2.2.3【差】
2.2.4【笛卡兒積】(就是選出所有可能的結果)
R.AR.BS.AS.B
| a1 | b1 | a2 | b1 |
| a1 | b1 | a1 | b2 |
| a1 | b2 | a2 | b1 |
| a1 | b2 | a1 | b2 |
2.2.5【選擇】(就是根據條件選擇元組)
學號(Sno)姓名(Sname)性別(Ssex)年齡(Sage)所在系(Sdept)
| 01 | 張三 | 男 | 20 | CS |
| 02 | 李四 | 女 | 19 | IS |
| 03 | 王五 | 女 | 18 | MA |
| 04 | 趙六 | 男 | 19 | IS |
- 查詢信息系(IS系)全體學生
- σSdept=‘IS’(Student)
- 或σ5=‘IS’(Student)
學號(Sno)姓名(Sname)性別(Ssex)年齡(Sage)所在系(Sdept)
| 02 | 李四 | 女 | 19 | IS |
| 04 | 趙六 | 男 | 19 | IS |
- 查詢年齡小于20歲的學生
- σSage<‘20’(Student)
- 或- σ4<‘20’(Student)
學號(Sno)姓名(Sname)性別(Ssex)年齡(Sage)所在系(Sdept)
| 02 | 李四 | 女 | 19 | IS |
| 03 | 王五 | 女 | 18 | MA |
| 04 | 趙六 | 男 | 19 | IS |
2.2.6【投影】(就是選擇這幾列不重復的顯示得到的元組)
- 查詢學生的姓名和所在系
- πSname Sdept(Student)
- 或π2 5(Student)
姓名(Sname)所在系(Sdept)
| 張三 | CS |
| 李四 | IS |
| 王五 | MA |
| 趙六 | IS |
- 查詢有哪些系
- π Sdept(Student)
- 或π5(Student)
2.2.7【連接】(就是根據條件連接兩個表)
=σR.AθS.B(RxS)
2.2.7.1【自然連接】
AR.BCS.BE
| 01 | 張三 | 50 | 張三 | 80 |
| 03 | 王五 | 40 | 王五 | 30 |
| 04 | 趙六 | 60 | 趙六 | 90 |
2.2.7.2【等值連接】
ABCE
| 01 | 張三 | 50 | 80 |
| 03 | 王五 | 40 | 30 |
| 04 | 趙六 | 60 | 90 |
2.2.8【除】(就是查找符合除數表的所有元組)
=πX(R)-πX(πX(R)XπY(S)-R)
ABC
| a1 | b1 | c2 |
| a2 | b3 | c7 |
| a3 | b4 | c6 |
| a1 | b2 | c3 |
| a4 | b6 | c6 |
| a2 | b2 | c3 |
| a1 | b2 | c1 |
a1
a2
a3
a4
2.3【用關系代數表示查詢要求】
例子1:
查詢至少選修1號課程和3號課程的學生號碼?
學號(Sno)姓名(Sname)性別(Ssex)年齡(Sage)課程號(Cno)
| 01 | 張三 | 男 | 20 | 1 |
| 01 | 張三 | 男 | 20 | 2 |
| 01 | 張三 | 男 | 20 | 3 |
| 02 | 李四 | 女 | 19 | 2 |
| 02 | 李四 | 女 | 19 | 3 |
首先建立一個臨時關系K
然后求πSno.Cno(SC)
學號(Sno)課程號(Cno)
| 01 | 1 |
| 01 | 2 |
| 01 | 3 |
| 02 | 2 |
| 02 | 3 |
求象集
01
02
求πSno.Cno(SC)÷K = {01}
例子2:
查詢至少選修2號課程的學生號碼?
πSno(σCno=‘2’(SC))={(01),(02)}
例子3:
查詢至少選修一門其直接先行課程為5號課程的的學生姓名?
πSname(σCno=‘5’(Course?SC?Student))
或πSname(πSno(σCno=‘5’(Course)?SC)?πSno,SnameStudent))
例子4:
查詢選修全部課程的學生學號及姓名?
πSno,Cno(SC)÷πCno(Course)?πSno,Sname(Student)
【重點例題】:
【選擇】
(B)
(A)
總結
以上是生活随笔為你收集整理的【数据库系统概论】考研第二部分重点分析【2.2】的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。