我想为我的用户创建一个数据库,我需要为每个用户存储大约50种不同的信息。
例如
联系信息将hv(地址,电话,电子邮件,家庭电话等...) 个人信息将hv(name,last_name,dob,birth_city,work等...) refree info ...(6 items) 等
所以我有很多类别,每个类别至少包含5-6个元素,所以我的问题是
我应该为每个项目创建一个列(每个用户将有大约50个字段)或者更好地为每个类别创建一个列,并使用序列化将数组存储到该字段中(将有大约6列(每个将有保持数组将容纳6-7项)?
什么是最佳做法?如果我选择数组,我应该将列类型作为文本“因为我无法确定所有项目的确切varchar大小”?
答案 0 :(得分:3)
我认为序列化数组并将该数组存储在关系数据库中是一个坏主意。为了能够利用关系数据库的全部功能(包括一堆可能的sql查询来处理数据),您应该考虑一个适当的relational database design,包括一个或多个表以及它们之间的关系。考虑primary and foreign keys和normalization。有关更多建议,您应该发布有关您的示例的更多信息。