數據庫 - 關系代數(一)


關系代數是早期的、原理性的、抽象的。
現在用的是商用的sql語言。當DBMS內部處理時,會將其轉換成關系代數或相似的內部表現形式。

關系代數

  1. 傳統的集合運算:並、差、交
  2. 投影、選擇
  3. 笛卡爾積、連接
  4. 重命名

什么是關系代數

  • 是一種抽象的數據查詢語言
  • 用對關系的運算來表達查詢
  • 運算對象和運算結果是關系

關系運算符分類

1.傳統的集合運算:並、交、差

2.投影和選擇

  • 投影(Projection)
    從關系R中選出若干屬性列組成新的關系。

    投影運算實例:

    這里注意去掉重復的元組。
  • 選擇(Selection)
    從關系R中選出滿足給定條件的元組組成新的關系。
    image
    思考:選擇運算為何無需去除重復元組?
    答案:因為經選擇運算,列數不變,即結果關系必然包含主鍵,自然不存在重復元組。
    選擇運算實例:
    image
    image
    多條件選擇:
    image
    選擇+投影:
    image

3.笛卡爾積,連接

  • 笛卡爾積
    image
    實例:
    image
  • 連接(Join)
    先作笛卡爾積,再選擇。
    image
  • 等值連接
    image
  • 自然連接
    image
    image
    自然連接最為常用,與普通連接有區別。
    image
    注意:如果兩個關系有多個公共屬性,作自然連接時,必須所有公共屬性都相等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM