資料庫設計的幾點建議

2022-02-07 11:36:24 字數 919 閱讀 3180

資料庫設計的幾點建議:

1. 表必須擁有識別符號。這是基本規則,每個表應該擁有唯一的行識別符號,以及可讓表的記錄和記錄間有所區別的列或列的集合。每個表都應該擁有乙個識別符號列,而且每條記錄的識別符號的值都是唯一的,此行識別符號稱為主鍵。

2. 表應該只儲存單一例項型別的資料。若在表中儲存太多資訊,可能導致無法對資料庫進行有效、可靠的管理。舉例來說,在sql server2005的範例資料庫adventureworks中,銷售訂單和客戶資訊儲存在單獨的表中。若將銷售訂單和客戶資訊放在同一表中,這種設計可能會導致一些問題。例如,每筆銷售訂單可能需要重複加入和儲存客戶資訊(姓名和位址),這需要使用額外的資料庫儲存空間。此外如果客戶位址變更,每筆銷售訂單的資訊也需要隨之變更。而且,如果從salesorderheader表移除客戶的最後一筆銷售訂單,就有可能會遺失該客戶的所有資訊。

3. 不要過度使用允許null值的列。null值代表沒有值,雖然在表中可以定義允許null值的列,在某些特定狀況中,允許null值可能很有用,但是要謹慎使用它。因為null值需要特殊處理,並且會增加資料操作的複雜度。當表中包含了許多允許null值的列,並且沒有儲存任何資料值時,建議考慮將這些列儲存到另一張表內,在連線至主表。這讓主表在設計上變得簡單,並且仍然可以處理儲存此資訊時的突發事件。

4. 避免在列中儲存多值,或是有多個特性相同的列。如果要在乙個列中儲存多個資料,或是一行有多個特性相同的列(例如telephonenumber1和telephonenumber2),就可以考慮將重複的資料放在其他表內,並且連線會主表,舉例來說,adventureworks資料庫有乙個儲存產品資訊的production.product表,乙個廠商資訊purchasing.vendor表以及乙個purchasing.productvendor表。第三個表只儲存產品的識別符號和產品廠商的識別符號。此種設計可讓有乙個以上供貨商的產品,不需要修改表的定義,也不需要為單一廠商的產品分配多餘的儲存空間

有關於資料庫設計的幾點建議

讀了劉仲英的 管理資訊系統 一書,結合最近工作中涉及到資料庫的情況,重新溫習一下資料庫設計的三大正規化 第一正規化 如果乙個關係模式r的每個具體關係r的每個屬性值都是不可分的最小資料單位,則稱r為第一正規化,簡稱1nf,r為1nf關係。比如 資料庫表中不允許,也不能實現如下表,這一點很好理解 客戶 ...

資料庫設計,建議規範

1 資料庫和表取名要有意義,最好不要超過32字元,命名都使用小寫字母或單詞並用下劃線隔開,字段最好不要有關鍵字等 2 臨時資料建議以tmp 為字首並以日期為字尾,備份資料建議以bak 為字首並以日期為字尾 3 資料庫和表的字符集統一使用utf8 表情用utfmb4 4 表和字段都要新增注釋 5 儲存...

資料庫設計的幾個建議

一 一般好的資料庫設計需要注意以下幾點 1 乙個好的資料庫設計首先要滿足使用者的需求 所有資訊系統最後都將提交給終端使用者使用,對於這一點,相信大家都已經達成共識。但是準確地把握使用者的需求是很難的,雖然 各方面的專家已經從不同方面給出了解決方案,但是使用者需求仍然是軟體工程中最不確定的因素之一。2...