我正在创建一个网络应用程序,用户可以在其中注册并创建拥有自己用户的会员网站。这是我的数据库架构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 作为参数。
这是设计此类应用程序的最佳方式吗?