已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
18小时前关门了。
Improve this question
假设我有n个位置和p个产品数量。每个位置都有一些(但不一定是所有)产品和它们自己的位置特定产品元数据(例如数量)。在每个位置和列表中的每个产品之间建立所有权关系的最有效方法是什么?
我正在考虑一个“所有权”表,其中包含主键、位置外键、产品外键等列,以及位置特定 meta数据的后续列。显然,使用此解决方案,我将查看“所有权表”中的n * p个值。是否有更有效的方法来实现这一点?也许更像n + p?
这必须在MySQL中完成。
2条答案
按热度按时间hkmswyz61#
看起来我使用的是多对多关系。我能找到的最佳解决方案是使用两个共享数据集中的主键填充相关表。即列包括:表的主键、与两个数据集的主键相对应的两个外键以及用于特定于关系的元数据的附加列。
llew8vvj2#
听起来像三张table:
locations
包含location_id
、address
等列。如果price
在多个位置中是公共的,则它应该是一个列。PRIMARY KEY(location_id)
products
包含product_id
、name
、description
和其他常见属性的列,以及一个随机非频繁属性的JSON列。