【问题标题】:Database design for three completely different profiles三种完全不同的配置文件的数据库设计
【发布时间】:2016-02-27 12:22:47
【问题描述】:

我对@9​​87654321@ 有疑问,三个完全不同的配置文件只有公共列是user_idpassword

假设我有个人资料表及其列,

Profile1:用户 ID、密码、profile1_col1、profile1_col2、...

Profile2:用户 ID、密码、profile2_col1、profile2_col2、...

Profile3:user_id、密码、profile3_col1、profile3_col2、...

那么,我怎样才能normalize 这些表,以便我可以为这些配置文件创建一个通用登录模块?

注意:我没有给出正确的列名,因为现在我没有任何类似的要求。

【问题讨论】:

  • 您没有提供足够的个人资料信息来正确回答问题。将信息拆分为一个用户表和一个或多个配置文件表。

标签: mysql database postgresql database-design normalization


【解决方案1】:

您可以使用继承。
定义一个新实体作为 (profile-type-one, profile-type-two,...) 的基表以满足 login-able。
将其命名为 abstract-profile 将是合理的。
具有零或一关系将导致此抽象配置文件表的主键成为 (profile-type-one, profile-type-two,...) 的主键。

其他表像 login-history、user-action-trace ... 将与这个基表有关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多