0

我有一系列表,我已经为用户配置文件部分进行了规范化。表格如下;

用户 --> userProfileSettings --> userPersonalInfo --> userContactInfo --> userAddresses --> userBusinessInfo --> userBusinessTags --> userBusinessLogo

users 表包含用户名和密码,配置文件设置包含有关帐户是否处于活动/非活动以及他们成为成员的日期的信息。我的想法是这样的——一个用户在每个表中只能有一个条目——并且必须在每个表中都有一个条目(除了 userBusinessLogo)才能成为成员,这是唯一允许多行的表识别给用户的将是 userBusiness 标签。

实现这一点的最佳方法是什么,因为一对多关系将允许同一用户的多行?我一直在寻找类似的设置,但似乎找不到任何示例。

4

1 回答 1

1

您可能已经过度规范了您的架构。一般来说,如果你的表之间有严格的一对一关系,你应该认真考虑将它们合并到一个表中。如果一个用户真的只能有一组个人信息、一组联系信息、一个地址和一组业务信息,那么将这些都放在一个表中,这样您就不必担心无意中违反这些约束在您的数据库中。

经验告诉我,联系信息和地址通常与个人/用户记录是多对一的关系,因此您可能会重新考虑它们(或其他表)是否真的是一对一的应用程序.

于 2012-06-28T16:57:39.383 回答