有 3 个主要实体:用户、产品和产品列表。用户可以将产品标记为收藏。产品列表中只能设置喜欢的产品。
示例 1:我将牛奶和面包标记为最喜欢的。并将标记的牛奶添加到“给儿子”列表中。此外,用户可以在添加最喜欢的产品之前创建空产品列表。
示例 2:我创建列表“for sun”,将牛奶和面包标记为收藏夹,并将标记的牛奶添加到列表“for sun”。
喜欢的产品可以在没有产品列表的情况下存在。产品列表可以在没有最喜欢的产品的情况下存在。相同的产品可以设置在不同的列表中。
主要问题:产品列表必须与用户链接。如果它有喜欢的产品,可以通过它们链接。但是如果他没有产品,则必须直接链接到用户。
可能的解决方案:创建 4 个表:用户、产品、产品列表和连接表产品列表 - 产品。在每个用户的产品列表中创建列表“最喜欢的”。但这也违反了规范化规则,因为每当将此产品添加到另一个列表时,我都需要重复添加产品以列出“收藏夹”。