資料庫管理 筆記 - 大二上期中考

筆記說明

此筆記用途在於台北科技大學資訊與財金管理系大二上資料庫管理學重點整理
並非所有人都適用,部分對我而言稍加容易的內容並不會寫在此內。

資料庫管理期中考

老師說得必考

  • 非主鍵的外來鍵(Foreign key) 畫虛線
  • 外來鍵用其他表的主鍵表示兩表格的關係
  • 候選鍵一定要有值,非候選鍵不一定有值
  • 主鍵是從候選鍵挑出來的

    determinant(行列式) and Candidate key(候選鍵)

    可以識別一筆row的資料,但若為複合鍵的情況下,Candidate key的所有屬性都不能是多餘的(redundancy),也就是不能有屬性是刪除後對於Candidate key識別一筆row資料沒有影響;Candidate key 一定是 Determinant,但Determinant不一定是Candidate key。

    問你主鍵(Primary Keys)是什麼 參考限制條件

  • 一定要畫實線
  • 不可有空值(Not Null)
  • 永遠不會改變(Never Change)
  • 非識別值(Nonidentifying Value)
    即「值」本身沒有意義。例如買電子產品都會有一個「序號」,假設第一碼代表供應商麼,第二碼代表所在地區(台北、台中…),有一天供應商搬家了,從台北搬到台中,那第二碼就不會符合現況。
  • 主鍵是關係的唯一標識符。 示例包括員工編號,社會保險號等。這可以確保所有行都是唯一的。
  • Primary keys are unique identifiers of the relation. Examples include employee numbers, social security numbers, etc. This guarantees that all rows are unique.

Domain Constraints 域約束

  • Allowable values for an attribute (includes data types and restrictions on values)
  • 屬性的允許值(包括數據類型和值限制)

Entity Integrity 實體完整性

  • No primary key attribute may be null. All primary key fields MUST contain data values.
  • 主鍵屬性不能為空。 所有主鍵字段必須包含數據值。

Referential Integrity 參照完整性

  • Rules that maintain consistency between the rows of two related tables.
  • 維護兩個相關表的行之間一致性的規則。

資料正規化 3個異常 4-38 4-39

Insertion

  • can’t enter a new employee without having the employee take a class (or at least empty fields of class information)
  • 在沒有讓員工參加課程的情況下(或至少在課程信息的空白字段中)不能輸入新員工

Deletion

  • if we remove employee 140, we lose information about the existence of a Tax Acc class
  • 如果我們刪除員工140,我們將丟失有關Tax Acc類的信息

Modification

  • giving a salary increase to employee 100 forces us to update multiple records
  • 給員工100加薪迫使我們更新多個記錄

資料正規化

1NF

  • 是指在資料表中的所有記錄之屬性內含值都是基元值(Atomic Value)。
    基元值(Atomic Value) = 亦即無重覆項目群
  • 沒有任何兩筆以上的資料是完全重覆
  • 資料表中有主鍵, 而其他所有的欄位都相依於「主鍵」。

    2NF

    看這裡就可以

    3NF

    各欄位與「主鍵」之間沒有「遞移相依」的關係。
  • 遞移相依
    A 跟 B 有關係,B 跟 C 有關係,則 A 跟 C 就是遞移相依

    實務範例

資料來源

關聯資料表正規化(NORMALIZATION)–鍵,KEY
Key and Non-Key Fields
1031 - 資料庫管理概論 Chapter 4 Database design
資料庫正規化

  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: