数据库架构帮助 - 创建用于创建成员资格站点的成员资格站点

时间:2012-12-09 14:21:49

标签: database schema

我正在创建一个webapp,用户可以在其中注册并创建拥有自己用户的会员资格网站。这是我的数据库模式https://dl.dropbox.com/u/558799/schema.pdf

的开始

因此,用户可以属于许多站点,并且站点可以拥有许多用户。但是,用户需要作为每个站点的单独用户输入,以便他们可以拥有不同的密码和配置文件。 示例用户A是站点A和B的成员。用户A需要能够在站点A中更改其密码,而不会影响站点B的密码。我想我可以将site_id作为外键添加到用户表中,这样用户可以在其中两次。

还应该在每个表中为其他表放置一个site_id外键吗?因此,webapp上的每个查询都将site_id作为参数。因此,当我查找用户的订单时,我将使用site_id和user_id作为参数。

这是设计此类应用程序的最佳方法吗?

1 个答案:

答案 0 :(得分:0)

或许考虑将密码移入关联表。

user
------
user_id

site
-------
site_id

user_site
----------
user_id
site_id
password   <--- here you will get a different password per site

还考虑在关联表user_site_id或其他内容中再添加一个id - 然后您可以将其用作所有其他引用的键