我只是想让一些有能力的人在这里运行这个模型。
场景是我已经制作了一个ASP MVC 3网上商店,将由多家公司使用。
一个代码库,多个站点。
实施例。我有:
他们都应该使用相同的代码库,但对于用户来说,网店中的数据应该是不同的。
所以我做了这个简单的数据模型:
在Site
我存储了有关公司的所有信息,例如。主持人=公司1。
在所有表中使用Host
作为PK是否正确?
如何改进这个模型?
更新
答案 0 :(得分:2)
如果主机不是密钥的一部分,则在所有表上存储主机是冗余/非规范化的。
以Settlement
和SettlementLine
为例。 SettlementLine
只需了解SettlementID
,就可以通过加入Settlement
表来获取主机。
主机不应该位于其他表的PK
中(仅FK
),至少ID
是自动编号。
我会有表格
Site
----
Host (PK)
Name
Item
----
ID Autonumber PK
Host (FK Site.Host)
Name
SettlementLine
--------------
ID Autonumber PK
SettlementID (FK Settlement.ID)
ItemID (FK Item.ID)
Settlement
----------
ID Autonumber PK
Host (FK Site.Host, Profile.Host)
UserName (FK Profile.UserName)
Profile
-------
UserName PK
Host PK (FK Site.Host)
Name
答案 1 :(得分:1)
我为你添加了一个“多租户”标签。
This SO answer简要介绍了结构方法,以及指向具有更多细节的文章的链接。