關於數據庫設計中的狀態字段


引用

做數據庫設計的時候,某些表必須有一個狀態字段.比如角色表,它的狀態為:已禁用、正常等。那是不是要單獨做一張角色狀態表呢?
那么其他表的中的狀態字段,是不是也要做一張對應的狀態表呢?
即使狀態只有兩個值?

如果這種狀態只有兩個值可以設置一個字段為bool類型
如果狀態包括多個值,但這些值不需要總變化,可以考慮用枚舉類型
如果狀態包括多個值,且需要經常添加或刪除,可考慮創建一個新的表,與主表關聯


http://blog.csdn.net/hehuii/archive/2010/07/25/5764683.aspx
引用
例如面向過程的設計中,一張申請表很可能被設計成一張物理表;而面向對象設計中,很可能沒有申請表這么一張物理表,而只有“用戶資料”、“申請流程”、“申請資質”等對象表,所謂的申請對象,是在運行期由這些對象聚合而成的。


正確認識數據冗余
  主鍵與外鍵在多表中的重復出現, 不屬於數據冗余,這個概念必須清楚,事實上有許多人還不清楚。非鍵字段的重復出現, 才是數據冗余!而且是一種低級冗余,即重復性的冗余。高級冗余不是字段的重復出現,而是字段的派生出現。
  〖例4〗:商品中的“單價、數量、金額”三個字段,“金額”就是由“單價”乘以“數量”派生出來的,它就是冗余,而且是一種高級冗余。冗余的目的是為了提高處理速度。只有低級冗余才會增加數據的不一致性,因為同一數據,可能從不同時間、地點、角色上多次錄入。因此,我們提倡高級冗余(派生性冗余),反對低級冗余(重復性冗余)。

原文地址:https://wuaner.iteye.com/blog/890490


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM