全部課程
數(shù)據(jù)庫范式第一第二第三范式的區(qū)別
發(fā)布時間: 2023-03-14
為了創(chuàng)建較少的冗余和結(jié)構(gòu)良好的數(shù)據(jù)庫,設(shè)計數(shù)據(jù)庫風(fēng)格必須遵循某些規(guī)則。在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則被稱為:范式。一個范式是對某種設(shè)計要求的總結(jié)。
在實際開發(fā)中,最常見的設(shè)計范式有三種:三大范式
1. 第一種范式(確保每一列保持原子性):所有字段值都是不可分解的原子值
2. 第二種范式(確保表中的每一列都與主鍵有關(guān)):一個表只能保存一種數(shù)據(jù),不能將各種數(shù)據(jù)存儲在同一個數(shù)據(jù)庫表中
3. 第三種范式:確保每一列都與主鍵列直接相關(guān),而不是間接相關(guān)
1. 第一范式
第一個范式是最基本的范式。如果一個數(shù)據(jù)庫表中的所有字段值都是不可分解的原子值,那么這個數(shù)據(jù)庫表就滿足第一范式。
如果系統(tǒng)經(jīng)常訪問 "地址 "屬性中的 "城市 "部分,那么 "地址 "屬性必須重新劃分為多個部分,如省、城市和詳細地址 這使得操作地址的一部分非常方便。
2.第二個范式比第一個范式更進一步。
也就是說,在一個數(shù)據(jù)庫表中,一個表只能存儲一種數(shù)據(jù),而不能在同一個數(shù)據(jù)庫表中存儲多種數(shù)據(jù)。
例如,設(shè)計一個訂單信息表,因為訂單中可能有多個物品,所以應(yīng)該用訂單號和物品號作為數(shù)據(jù)庫表的聯(lián)合主鍵。
3. 第三范式
第三范式需要確保數(shù)據(jù)表中的每一列數(shù)據(jù)都與主鍵直接相關(guān),而不是間接相關(guān)。
例如,在設(shè)計一個訂單數(shù)據(jù)表時,客戶編號可以作為一個外鍵,與訂單表建立相應(yīng)的關(guān)系。不可能在訂單表中添加客戶的其他信息的字段(如姓名、隸屬關(guān)系等)。
上一篇: SWG安全Web網(wǎng)關(guān)是什么
下一篇: docker垃圾清理方法