2012-12-01 41 views
0

我想爲我的用戶創建一個數據庫,在這個數據庫中,我需要爲每個用戶存儲大約50個不同的和平信息。Mysql - >我可以在用戶表中有多少列?我應該存儲數組還是不?

例如

聯繫信息將HV(地址,電話,電子郵件,HOME_PHONE,等...) 個人信息將HV(名字,姓氏,出生日期,birth_city,工作等) 裁量信息...(6項) 等


,所以我有很多種類都包含至少5-6的元素,所以我的問題是

我應該創建一個列的每個項目(將哈每個用戶大約有50個字段)或更好地爲每個類別創建一個列,並使用序列化將數組存儲到該字段中(將有大約6列(每個列將容納6-7個項目的數組))?

什麼是最佳實踐?如果我去選擇數組,我應該使列類型爲文本「cuz我不​​會能夠確定所有項目的確切varchar大小」?

+1

將重複項標準化到單獨的表中通常是一個好主意,並且存儲數組或序列化數據不可避免地會導致問題 –

+0

使用良好的ORM和良好的設計,您會懶惰地將數組存儲在單獨的表中。 –

回答

3

我認爲序列化一個數組並將該數組存儲在關係數據庫中是一個壞主意。爲了能夠充分利用關係數據庫的全部功能,包括大量可能的sql查詢來處理數據,您應該考慮包含一個或多個表格以及它們之間的關係的適當的relational database design。考慮一下primary and foreign keysnormalization。有關更多建議,您應該發佈有關您的示例的更多信息。

相關問題