我的网站支持已注册和未注册用户之间的通信。我正在尝试确定将非注册用户存储在数据库中的最佳实践。我的初始架构如下:
Users
------------
user_id
device_id *Unique* (this is for mobile app users)
email *Unique*
phone *Unique*
first_name
last_name
image_url
date_joined
UserNames (Users have custom names for each group potentially)
-------------
name_id
user_id
group_id
first_name
last_name
应用程序如何运作的更多细节:
我选择了上面列出的设计,因为电子邮件,电话号码和设备ID都是唯一的。但是,用户可能为每个用户使用不同的名称/昵称,因此也就是UserNames表。但是,我不清楚是否应该将非注册用户存储在Users表中,因为他们不是该网站的技术注册用户。
我应该将未注册/外部用户存储在单独的表中吗?如果您需要我澄清任何事情,请告诉我。
答案 0 :(得分:2)
您是否将未注册用户分隔到他们自己的表中是一个设计决定,可能只有您可以回答。它可能取决于在整个应用程序中如何使用这些不同的用户类型。它可以是一个简单的东西,如一个带有0或1值的tinyint字段,表示用户已注册。