我想知道如何在我的网站上构建用户信息的数据库结构(表格)。我将要存储的信息种类(此时无论如何)是:
所以这是我现在要存储的信息类型。我的问题基本上是,我应该只有一张桌子吗?或者最好根据信息分割信息(我的用户有一个唯一的ID,这显然与每个信息表一致)。所以我不确定我是否应该专门为生日提供一个表:userID,Month,Day,Year;或者是什么。
答案 0 :(得分:4)
如果用户只需要存储属性的一条信息,那么您不需要单独的表格。例如,用户只有一个生日。如果您想为同一个用户ID存储多个生日,那么您需要单独的Birthdays
表的唯一原因是。您列出的每个属性在一个Users
表中看起来都很好。
至于将Birthdays
拆分为列:userID,Month,Day,Year,这一切都取决于您将如何使用该信息。您是否需要知道只是用户生日所在的月,日或年?如果这是一个常见的需求,您可能希望单独存储它们。它通常不是,因此您可能只想将其存储为单个Date值。
注意:您可以通过查看Data Explorer来查看Stack Overflow使用的架构。它们在一个Users表中保留了类似的数据集合。
答案 1 :(得分:1)
在绝大多数情况下,我已经看到了您要求存储在一个表格中的内容 - 通常为user
或users
。
也许还包括许多其他元素:
- 用户ID(唯一)
- 注册日期
- 状态(实时/过期/禁止)
- 用户哈希
- 加上其他各种......
老实说 - 这取决于你正在构建什么以及它是如何构建的,但我的建议是从简单开始。
关于生日的观点,只需将日期存储为mysql日期格式:
YYYY-MM-DD
这样,您可以使用mysql函数以各种方式对其进行操作。
希望这有帮助。