2

我正在设计一个包含这些表、user_accounts 和 user_info 的数据库。

这是结构。

*USER_ACCOUNTS*

  • 用户身份

  • 用户密码

  • 用户类型

*用户信息*

  • 用户身份

  • 用户全名

  • 用户地址

  • 用户电子邮件

  • user_contact_no

现在,我的问题是,这样的设计好吗?有人告诉我将它们合并到一张表中。但不能很好地解释我应该合并它的原因。

有什么建议么?

顺便说一句,我正在为用户身份验证和用户个人信息设计它。

谢谢。

4

4 回答 4

6

您可以将其设为平面表,因为关系是 1-1(用户在您的 user_info 表中永远不会有超过 1 条记录)。这种表关系不会有任何收获,事实上大多数查询会花费更多时间,因为您必须查看两张表而不是一张。

于 2012-09-25T19:59:43.957 回答
0

我认为合并是更好的选择。两者的行数将保持不变,因此不存在冗余数据的问题。

于 2012-09-25T20:27:41.777 回答
0

您可以将它们合并为一个;这将使它更容易访问。我真的不明白为什么他们需要分开。他们的帐户将保存他们的信息。

于 2012-09-25T19:59:21.233 回答
0

从账户信息中拆分用户信息是很常见的,这主要取决于您的整体应用程序。但是,如果您使用两个表,我建议 USER_INFO 表也具有主 ID,例如:

  • 用户信息
    • user_info_id(主键)
    • user_id(USER_ACCOUNTS 的外键)
    • ETC

与此主题相关的问题和答案:

数据库设计:1 表还是 2?

MySQL:多张表还是一张多列的表?

于 2012-09-25T19:59:24.987 回答