【发布时间】:2018-02-14 21:55:11
【问题描述】:
我正在创建一个 MySQL 数据库,并有一个包含 30 多件衬衫的“衬衫”表和一个包含大约 20 种颜色的“颜色”表。由于每件衬衫可以有多种颜色,并且多件衬衫可以有相同的颜色,我应该在我的衬衫表中使用逗号分隔的列表字符串列,其中包含颜色表中颜色的 ID,还是只列出 CSL 中的颜色?此外,很多人建议不要使用 CSL,但如果我不使用 CSL,我还能如何创建它?为了将来的使用,我将制作一个表单,允许用户搜索具有特定颜色的衬衫。
【问题讨论】:
-
一件衬衫可以有多种颜色,一种颜色可以适用于多种衬衫,这只是衬衫和颜色之间存在多对多关系的另一种说法。使用链接表建立多对多关系。
-
是时候阅读一本关于信息建模、关系模型和数据库设计的书了。这也是一个常见问题。