關於數據庫表結構的設計

一般常見的字段類型有:varchar、int、bigint、date、timestamp、tinyint、decimal
varchar:對應的是java中的字符串,對於varchar(255)裏面的255,只是最後的展示長度,並不影響varchar本身的長度。想深入的可以自行學習。
然後關於設計:

  1. 如果是手機號: 一般建議先前端或者後端代碼裏面進行正則表達式,長度一般11,類型varchar。
  2. 訂單號、編號相關: 建議20左右,一般生成UUID會截取20左右。
  3. 時間類型: 一般採用時間戳timestamp,可以不寫長度,默認就行(14),也可以自己加上,對應java 7 和其之前版本使用Date、java8及其以上使用LocalDateTime。
  4. 金錢類型: 你可以試試float、double,看下你的老闆會不會幹掉你,推薦使用decimal,對應java裏面的BigDecimal,或者最不濟的情況下可以選擇varchar,在處理的時候就要注意了。
  5. 表id: 一般都是自動生成,Auto Inc,類型一般是int、varchar、bigint,長度都爲11左右,對應java Integer、String、Long。一般自增就行。
  6. 圖片的URL: 建議255以上起步,對於多張圖片,推薦以 ,分隔進行url的保存,這個很容易長度不足,我實際生產中設置爲1000,這個根據你上傳文件時,文件的取名有關,以及文件保存目錄層級有關。
  7. 關於外鍵: 一般使用邏輯外鍵能解決的,就不要使用物理外鍵,一般類型也是與改表id一致(int、varchar、bigint)。
  8. true/false: 對應數據庫中的tinyint,一般長度是1,java中是boolean。
  9. status: 顯示狀態相關的,一般使用int,長度一般是1即可。
  10. 對於Age:推薦使用int,長度3即可。
  11. 身高體重: 推薦使用float、double,長度5。
  12. 性別: 命名爲gender,一般可以選擇使用int,長度爲1,以0、1來區分;可以使用varchar,man和women,長度爲5。
  13. 文本、備註等: 使用varchar,長度控制在255左右。
  14. 其他:: 關於數字型、整型使用int 長度不超過11,超過使用bigint,varchar推薦長度55左右。

只是個人推薦,具體需要更具業務需求來設置,大部分場景可以這樣設計,只是個人意見,提供參考,有問題歡迎探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章