我正在创建一个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作为参数。
这是设计此类应用程序的最佳方法吗?
答案 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 - 然后您可以将其用作所有其他引用的键