數據庫系統及原理 筆記

  • 三級模式結構

模式、外模式(子模式)、內模式數據庫

  • 兩級映像

外模式/模式映像 → 保證數據的邏輯獨立性數據結構

內模式/模式影響 → 保證數據的物理獨立性優化

關係數據庫簡介

系統而嚴格地提出關係模型的是沒過IBM公司的E.F.Codd3d

1970年提出關係數據模型,以後提出了關係代數和關係演算的概念,1972年提出了關係的第1、第2、第三範式,1974年提出了關係的BC範式。blog

  • 單一的數據結構------關係io

  • 數據的邏輯結構------二維表基礎

關係操做date

  • 查詢循環

    • 選擇、投影、鏈接、除、並、交、差
  • 數據更新數據類型

    • 插入、刪除、修改

查詢的表達能力是其中最主要的部分

關係數據語言的特色

  • 關係數據語言是一種高度非過程化的語言

    • 存儲路徑的選擇由DBMS的優化機制來完成
    • 用戶沒必要用循環結構就能夠完成數據操做
  • 可以嵌入高級語言中使用

  • 關係代數、元組關係演算和域關係演算三種語言在表達能力上徹底等價。

關係的三類完整性約束

  • 實體完整性

    • 一般由關係系統自動支持
  • 參照完整性

    • 早期系統不支持,目前大型系統能自動支持
  • 用戶定義的完整性

    • 反映應用領域須要遵循的約束條件,體現了具體領域中的寓意約束
    • 用戶定義後由系統支持

關係數據結構

  • 關係模型創建在集合代數的基礎上
關係(Relation)

關係

D1×D2×.....×Dn的子集叫作在域D1,D2,.....,Dn上的關係,表示爲:

​ R(D1,D2,......,Dn

​ R:關係名

​ n:關係的目或度(Degree)

元組

  • 關係中的每一個元素是關係中的元組,一般用t表示。

單元關係與二元關係

  • 當 n = 1 時,稱該關係爲單元關係(Unary relation)
  • 當 n = 2 時,稱該關係爲二元關係(Binary relation)

關係的表示

  • 關係也是一個二維表,表的每行對應一個元組,表的每列對應一個域。

屬性

  • 關係中不一樣列能夠對應相同的域,爲了加以區分,必須對每列起一個名字,稱爲屬性(Attribute)。
  • n目關係必有n個屬性。

域(Domain)

  • 域是一組具備相同數據類型的值的集合。(整數、實數等)

笛卡爾積(Cartesian Product)

  • 給定一組域D1,D2...........Dn,這些域中能夠有相同的。D1,D2...........Dn的笛卡爾積爲:

​ D1×D2...........×Dn = {(d1,d2......dn)|di∈Di,i = 1,2........n}

  • 全部域的全部值的一個組合

  • 不能重複

    • 元組(Tuple)

      • 笛卡爾積中的每個元素(d1,d2,.........,dn)叫作一個n元組(n - tuple)或簡稱元組。即記錄值。
    • 份量(Component)

      • 笛卡爾積中的每個元素(d1,d2,.........,dn)其中每個值di叫作一個份量。
    • 基數(Cardinal number)

      • 若Di(i = 1,2,......,n)爲有限集,其基數爲mi(i= 1,2,.....,n),則D1×D2×......×Dn基數M爲:

  • 笛卡爾積的表示方法:

    • 笛卡爾積能夠表示爲一個二維表。表中的每行對應一個元組,表中的每列對應一個域。

候選碼(Candidate Key)

  • 若關係中的某一屬性組的值能惟一地標識一個元組,則稱該屬性組爲候選碼。

    若是候選碼只有一個,則稱爲主碼

全碼(All - Key)

  • 在最極端的狀況下,關係模式的全部屬性組是這個關係模式的候選碼,稱爲全碼(All - Key)

主碼(Primary Key)

  • 若一個關係有多個候選碼,則選定其中一個爲主碼。
  • 主碼的諸屬性稱爲主屬性(Prime attribute)
  • 不包含在任何候選碼中的屬性稱爲非碼屬性(Non - Key attribute)
相關文章
相關標籤/搜索