【发布时间】:2017-09-17 16:25:45
【问题描述】:
我正在制作一个需要购买许多服务的网站,我的问题是找到为这种结构制作 ERD 的最佳方法!
当我显示图像时,我有一个为用户制定合同的例行系统,换句话说,我有一个简单的表格来插入合同及其相关信息,供用户和成员使用。
我将合约表的所有关系存储在 Junction 表中。但我的问题是我有许多服务具有不同的价格,这些价格根据自己的情况计算(FirstServicePrice、SecoundServicePrice **、**ThirthServicePrice 和...)。
我决定使用名为 JunctionForFindPrice 的联结来保持合同的每个服务主要。 4 示例如果有人购买了第一个服务,我只在 JunctionForFindPrice 表中的 FirstServicePriceId 字段中保留 FirstServicePrice ID,并将另一个字段留空,然后将 JunctionForFindPrice 的 Id 存储在 Junction 表中(图中的灰色表)。
这是实现该实施的最佳方式吗?这是正确的方法吗?
【问题讨论】:
-
Google stackoverflow 数据库/sql/table FK 带有子类型(也是多态性/层次结构)和重新表/列类型标签/变体。多个 FK 列通常是一种反模式。 Google re FK to many/multiple/2 tables & re multiple/many/2 Exclusive FKs。因此,这是一个常见问题解答。
标签: sql sql-server foreign-keys relational-database