SQL 数据库关系

SQL Database Relationship

我有一个数据库设计问题,

我正在尝试为拥有用户并需要根据公式支付月费的公司设计数据库关系。公式有名称和费用,但不会link发送给用户,而是发送给公司。

示例:

名称:公式 1

费用:5,00

名称:公式 2

费用:10,00

XYZ 公司有 2 个用户使用公式 1,2 个用户使用公式 2。他们需要支付 30,00。

我最初的解决方案是 link 给用户的公式:

但我发现的问题是公式需要 link 提供给公司而不是用户。这是因为不同的公司可以对相同的配方收取不同的费用。

示例: A公司用户使用公式1需要支付5,B公司用户使用公式1需要支付10

这是我遇到障碍的地方,因为我似乎并不完全信任我的数据库设计,我试图 link Formula_Type 与一家公司(并单独收费。 ..).

我的尝试是使用群组:

但是我在这里遇到了一个问题: 如何 or/and 我将在哪里分配公式的费用?因为他们取决于公司。另外,我会在 USER-table 中使用什么外键来 link 到一个公式,或者在我的情况下这不可能吗?

我正在实现的目标有可能实现吗?

试穿尺码:

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