不使用多对多关系有什么好处吗
Is there any pros to not using Many-to-Many relationship
有人要求我根据给定的说明创建一个用于作业的小程序。
我得到了两个必须创建的 table:
product
table 有两个字段:id
和 name
,
category_of_product
table 有两个字段:product_id
和 name
据说产品可以分很多类
我也得到了示例产品:
- 产品:耐克鞋,类别:运动鞋,类别:新款
- 产品:匡威鞋,类别:运动鞋,类别:新款
等等
每个示例条目都有两个用于任务目的的类别,最后我必须调用数据库以获取属于 a
类别但不属于 b
类别的产品。
我首先想到的是多对多关系,在我看来它仍然是几乎唯一的选择。但是因为我不得不这样做,所以我用重复的类别做到了这一点,其中每个类别只能分配给一个产品。
最后我必须给出他们给我的方法的优缺点并提出替代方案。
问题是:是否有真正的专业人士可以像这样设置数据库?我想查询少量数据可能会快一点,但我不确定这是否是我们得到的缺点的一个很好的优点。
我想不出不定义关系的任何“优点”,因为它会存在。如果关系是 product has one to many categories
那么它就是多对多关系,我们尝试以任何其他方式实现它都是愚蠢的。否则我们无法保证唯一性、强制执行外键关系或创建访问数据的有效方法。
有人要求我根据给定的说明创建一个用于作业的小程序。 我得到了两个必须创建的 table:
product
table 有两个字段:id
和 name
,
category_of_product
table 有两个字段:product_id
和 name
据说产品可以分很多类
我也得到了示例产品:
- 产品:耐克鞋,类别:运动鞋,类别:新款
- 产品:匡威鞋,类别:运动鞋,类别:新款
等等
每个示例条目都有两个用于任务目的的类别,最后我必须调用数据库以获取属于 a
类别但不属于 b
类别的产品。
我首先想到的是多对多关系,在我看来它仍然是几乎唯一的选择。但是因为我不得不这样做,所以我用重复的类别做到了这一点,其中每个类别只能分配给一个产品。
最后我必须给出他们给我的方法的优缺点并提出替代方案。
问题是:是否有真正的专业人士可以像这样设置数据库?我想查询少量数据可能会快一点,但我不确定这是否是我们得到的缺点的一个很好的优点。
我想不出不定义关系的任何“优点”,因为它会存在。如果关系是 product has one to many categories
那么它就是多对多关系,我们尝试以任何其他方式实现它都是愚蠢的。否则我们无法保证唯一性、强制执行外键关系或创建访问数据的有效方法。