關係數據庫

關係數據庫:

關係模型由:關係數據結構、關係操作集合、關係完整性約束三部分。

關係模型三個方面:完整性約束、關係數據庫系統中實現關係操作的一種語言、關係演算。

完整性約束:

  1. 關係

    :一組具有相同數據類型的值的集合;

    笛卡爾積:兩個域(或多個)的笛卡爾積,是把兩個域的屬性(類型)疊加(不刪除重複項),新的域中的每個元組(可以看成二元表中的一行)包含這個新的域中的每個屬性(即使部分屬性爲空,也不能刪除此元組);

    關係:域D1、D2...Dn,這些域的笛卡爾積的子集叫做在域D1、D2...Dn上的關係。n是關係的度;


    屬性:域每列取一個名字,這個列名叫屬性(attribute);

    候選碼:關係中能唯一標識一個元組的某一屬性組(或某一屬性值),就叫做候選碼;

    主碼:一個關係中有多個候選碼,則其中任意一個可以作爲主碼;

    主屬性:候選碼的所有屬性都稱爲主屬性;

    非主屬性:(非碼屬性)不包含任何候選碼中的屬性就是非主屬性;

    全碼:關係模式(可以看做是一個表)所有的屬性共同構成這個關係的候選碼(這個表所有屬性一起才能確定一個元組,即這個表的主鍵是這個表本身)

2、關係有三種類型:基本關係、查詢表、是圖表

3、關係數據語言:關係代數語言(ISBL);關係演算語言(QUEL,QBE);具有關係代數和關係演算雙重特點的語言(SQL)

4、關係的三類完整性約束:實體完整性、參照完整性、用戶定義的完整性。

    實體完整性:主屬性不能爲空;

5、關係代數:傳統:並、差、交、笛卡爾積;專門的運算:選擇、投影、鏈接、除法運算

    選擇:取表中行;

    投影:取表中列;

    連接:從笛卡爾積中選取屬性滿足一定條件的元組;(等值鏈接,操作條件爲“=”;自然鏈接;semi-join(半連接);外連接)

6、選擇的實現:

  • 全表掃描:對查詢的基本表順序掃描,逐一檢查每個元組是否滿足選擇條件,把滿足條件的元組作爲結果輸出;缺點:對查詢的基本表順序掃描,逐一檢查每個元組是否滿足選擇條件,把滿足條件的元組作爲結果輸出。

  • 索引(或散列)掃描方法:

    適合選擇條件中的屬性上有索引(例如B+樹索引或Hash索引)

    通過索引先找到滿足條件的元組主碼或元組指針,再通過元組指針直接在查詢的基本表中找到元組。

連接的實現:

  • 嵌套循環方法(nested loop)

  • 排序-合併方法(sort-merge join 或merge join)

  • 索引連接(index join)方法

  • Hash Join方法





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章