我有一个数据库设计问题,
我正在尝试为有用户且需要按照公式支付月费的公司设计数据库关系。公式有名称和费用,但不与用户链接,而是与公司相关联。
示例:
名称:公式1
费用:5,00
姓名:公式2
费用:10,00
XYZ公司有2个使用Formula 1的用户和2个使用Formula 2的用户。他们需要支付30,00。
但我发现的问题是,公式需要与公司联系,而不是与用户联系。这是因为不同的公司可以对同一公式有不同的费用。
实施例: 来自公司A的公式1的用户需要支付5,但公司B的公式1的用户需要支付10。
这是我遇到障碍的地方,因为我似乎并不完全信任我的数据库设计,我试图将Formula_Type与公司联系起来(并且单独收费......)。
我的尝试是使用群组:
但我遇到了一个问题: 怎么或者我在哪里分配公式的费用?因为他们取决于公司。另外,我会在USER表中使用哪个外键将其链接到一个公式,或者在我的情况下这不可能吗?
我的成就是否可能?
答案 0 :(得分:2)
尝试使用此尺寸:
Company
ID -- PK
Name
etc.
User
ID -- PK
Company_ID -- FK to Company
Last_Name
First_Name
etc.
Formula
ID -- PK
Name
etc.
Formula_Company -- this allows company-specific fees for different formulae
ID -- PK
Formula_ID -- FK to Formula
Company_ID -- FK to Company
Fee
User_Formula_Company -- this identifies which fee a given user is charged
User_ID -- FK to User
Formula_Company_ID -- FK to Formula_Company