我创建了Users
表。
用户注册后,系统将其地址,电话,城市和更多个人详细信息输入Users
表。
还有另一个名为Contacts
的表,用户可以在其中添加其他人员详细信息。
现在,如果有Contacts
表,如何在Users
表中保存用户的个人详细信息?在一个包含所有用户个人详细信息的json列中,还是在普通列(地址,电话,城市)中?
我只是不想发生多种数据的情况。
答案 0 :(得分:1)
我认为每个字段的单独列将是更好的选择!
答案 1 :(得分:0)
嗯,将它存储为JSON
当然很容易,但是这样,搜索数据库中的某些内容可能会有点麻烦(比如你希望检查所有用户)以给定的城市为例)
在用户信息方面,我总是发现最好的方法是只在users
表中存储登录重要数据和基本信息。
类似的东西:
id | email | password
然后为其他数据设置不同的表。
名称等(用户只有一个(当然一个可以有多个名字,但我通常只存储名字和姓))可以存储在user_information
表中,该表位于与用户的一对一关系(user_id
的外键,以便在需要时可以快速获取)。
说到地址和电话号码,用户实际上可能有多个 我知道你的系统/应用程序可能只支持一个地址或一个电话号码等,但它始终很好地使它从一开始就“正确”,因此很容易让用户添加多个只要有需要,他们就会
那样,你会有几个不同的表:
users
user_information
addresses
phone_numbers
user_information
,addresses
和phone_numbers
最好都有一个user_id
列,用于指向拥有它的用户的外键。如果您希望可以为联系人使用相同的表,也可以添加contact_id
(以及指向联系人的外键)。