資料庫表的設計,可以按物件和按功能載體劃分。如記錄該物件哪些屬性,然後就需要哪些字段。但是表的設計不能只考慮物件的單一性,因為表中肯定需要儲存多個該物件,所以需要考慮附加屬性,如時間,時間一般包括錄入時間和執行時間。在人員記錄時,不僅要記錄業務邏輯處理者,同時應該記錄錄入該資訊的人員名稱。
多表之間的聯絡:多個表要用到同乙個資訊段,不建議在每個表中都儲存該資訊片段,建議只在該屬性所屬的原始類中儲存該內容,其他表中儲存該表中的行id即可。這樣做的好處是當該內容做出變更時,不需要同時改變多個表,更改時方便。這樣做的缺點是查詢時必須同時關聯多個表進行組合查詢,量大時會影響查詢時間。(但是個人覺得還是只存一次好,因為這樣更能保證資料的正確性,唯一性,從而不用擔心資料更新的同步操作失敗時帶來的災難。)
關於資料庫的型別,一般來說根據將來需要儲存的資料來判斷用什麼型別裝載。很多人喜歡把時間型別定義成字串型別來儲存,這樣的好處是:在訪問時間的時候不用進行時間轉換。缺點的話可能是時間的邏輯處理吧,具體等待高人解答,= =|||
關於欄位的長度,根據儲存資訊來判斷,考慮儲存資訊的最大值。(資料庫的變長型別,會根據你儲存的最大字串來分配空間,所以便不是你定義了多長,就使用多大空間。)
資料庫的命名,最好統一,要麼都用拼音簡寫,要麼都用英文解釋。注意不要使用關鍵字
專案小結之資料庫設計
自 http www.cnblogs.com aspnet2008 archive 2009 04 08 1431481.html 最近做了乙個小專案完整的資料庫設計,想總結一些設計上的所得,希望大家多多指教。有時乙個專案,普通程式設計師一般不會去接觸資料庫設計,一般都有專業的dba或是老程式設計師...
專案小結之資料庫設計
最近做了乙個小專案完整的資料庫設計,想總結一些設計上的所得,希望大家多多指教。有時乙個專案,普通程式設計師一般不會去接觸資料庫設計,一般都有專業的dba或是老程式設計師去設計,下面是我推測的幾點可能原因 1 新手對專案了解不深,正好這是老鳥的長處。2 新手對區域性的關注往往大於整體,很難考慮的特別周...
專案小結之資料庫設計
最近做了乙個小專案完整的資料庫設計,想總結一些設計上的所得,希望大家多多指教。有時乙個專案,普通程式設計師一般不會去接觸資料庫設計,一般都有專業的dba或是老程式設計師去設計,下面是我推測的幾點可能原因 1 新手對專案了解不深,正好這是老鳥的長處。2 新手對區域性的關注往往大於整體,很難考慮的特別周...