如何设计数据库架构?

时间:2014-02-14 10:31:22

标签: database-design

我正在为门户网站设计数据库。具体来说,我有一个包含列的用户表:id,username和password。

此外,还有三种类型的用户:买家,卖家和经纪人,每个用户都有一个单独的表格,其中包含列:名称,描述,移动设备,介绍人等。经纪人表没有介绍人专栏。

基于此设计,我想创建一个两步注册表单,其中包含第一步登录信息和第二步配置文件信息。

现在,业务规则规定用户可以是买方,卖方或经纪人。用户最多可以拥有一个配置文件(买方,卖方或经纪人)。我想在数据库中单独保存登录详细信息和配置文件信息

我做了什么:

我为买家,经纪人和卖家表中的用户ID为外键的用户,经纪人,买家和卖家创建了一个单独的表。

现在我的问题是

  • 如何为此设计创建表格?
  • 如何指定外键约束?

我是数据库设计的新手,感谢所有的帮助。谢谢。

1 个答案:

答案 0 :(得分:4)

由于“用户最多只能拥有一个个人资料”,因此您可以通过添加user_profile表来获益,然后broker表格会sellerbuyer user,根据需要添加其他字段。

user_profileuser_profile为1:1,brokersellerbuyer和{{1}为1:0/1 }}。我会考虑使用user_id作为所有这些的主键。

我认为您还会发现this回答有用。

enter image description here