數據庫表結構設計


一、數據庫表名的設計:

 

1、在命名表時,用名稱單數形式表示名稱。(表名應該僅僅是表示表里面的實體內容,不應該表示實體數量;它們是一份份沒有任何動作的,靜態的數據。)

      例如,使用 Employee,而不是 Employees。

2、mysql在windows下不區分大小寫,但是linux下默認是區分大小寫。所以數據庫名、表名、字段名,

     都不允許出現任何大寫字母,避免節外生枝。

3、相關聯的表采用相同的前綴,使得開發人員一眼看上去就知道哪幾個表是相關的。

4、如果表名由幾個單詞組成,則單詞間用下划線(“_”)分割,如subscribed_pois,poi_categories等

5、表名超過15個字符,字段超過20個字符,就應該使用縮寫;如果可以在字典里找到一個詞的縮寫,就用這個做為縮寫,
      比如:Monday=Mon、December=Dec,可在此網站下查找到一些英文單詞的縮寫:
http://shortof.com/

 

 二、數據庫字段設計:

 

1、字段名為小寫;

2、如果字段由幾個單詞組成,則單詞間用下划線(“_”)分割,如client_id,post_code等;

3、字段名稱超過30個字符,用縮寫表示;

4、禁用保留字,如 desc 、 range 、 match 、 delayed 等,請參考 MySQL 官方保留字;

5、表達是與否概念的字段,必須使用 is _ xxx 的方式命名,數據類型是 unsigned tinyint

( 1 表示是,0 表示否 ) 。

 

三、數據類型的選擇:

 

1、小數類型使用decimal,禁止使用float和double(float和double存在精度損失的問題);

2、如果存儲的字符串長度幾乎相等,使用char定長字符串類型;

3、varchar是可變長字符串,不預先分配存儲空間,長度不要超過5000,長度超過5000,定義字段類型為text,獨立出來一張表,用主鍵來對應,避免影響其它字段的索引效率;

 

參考:https://zhuanlan.zhihu.com/p/20785905?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

 


免責聲明!

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



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