正規化概念 資料庫正規化,又稱正規化、標準化,是資料庫設計的一系列原理和技術,以減少資料庫中數據冗餘,增進數據的一致性。
現在資料庫設計最多滿足3NF,普遍認為正規化過高,雖然具有對數據關係更好的約束性,但也導致數據關係表增加而令資料庫IO更易繁忙。 定義 將原先關聯表格的所有資訊,在分解成其他表格後,仍可以透過「合併」新關聯表格的方式得到相同的資訊,亦為「無損失分解」(Lossless Decomposition)。 不當設計造成的異常 新增異常:新增時,資料不齊全。 刪除異常:刪除時,造成資料遺失。 更新異常:更新時,可能會漏改。 小結 正規化的目的就是為了刪除「重複的資料」(Data Redundancy)及「避免更新異常」(Anomalies),每個階段都是以「欄位的相依性」作為分割資料表的依據,在實務上通常以滿足3NF即可。 來看個例子