开始使用MySQL,需要帮助构建数据库

时间:2015-05-17 06:09:31

标签: mysql

基本上,我正在尝试建立一个收集卡的数据库作为熟悉MySQL的项目,我不确定如何设置它。

基本上,数据库归结为保存有关个人卡的信息。例如,卡片将具有:

  • 姓名
  • 与卡片相关的一些文字
  • 颜色

此外,这些卡将属于集合。集合是该集合中发布的一组卡片。关于集合存储的唯一信息是:

  • 集合的名称
  • 集合的发布日期

我正在接近这个,因为在一个木工表中加入了多对多的关系。由于一张卡可以分为多套,一套可以包含多张卡,因此有意义。

但是,我对此设置存在一些问题。

首先,有关卡的信息可能会随着每一组而改变,但它仍然是同一张卡。例如,与卡相关联的文本可能会更改,但卡仍然相同。它不是为每个集合都有一张新卡,而是如何重复使用保持不变的信息并仅根据集合反映文本的变化?我正在考虑另一张只有卡片文本的表格,这些表格会链接在同一个木匠表格中。这种设置是否可行,如果是,建议使用吗?

我遇到麻烦的另一个问题是颜色问题。每张卡都有一种颜色,但卡的颜色数量可能会有所不同。例如,卡可以是金色,白色和橙色,而另一张卡可以是绿色。我希望这个数据库允许根据颜色搜索卡片,并输出所有颜色卡片或颜色组合的列表。

要做到这一点,我想我会为每种颜色设置一个单独的表格,并将其作为卡片和颜色之间的一对多关系来实现。这有意义吗?

如果我听起来像个白痴,请提前致谢并抱歉。

1 个答案:

答案 0 :(得分:1)

听起来你是在正确的轨道上,但我不喜欢为每种颜色创建一个单独的表的想法。相反,我建议做这样的事情:

创建一张卡片表,其中包含与卡片保持一致的所有信息。每行应具有唯一的卡ID。

创建一个包含有关该集的信息的Set表。每行应具有唯一的设置ID。

创建一个Color表,每个颜色都有一行,每种颜色都有唯一的颜色ID。

创建一个CardText表,其中包含文本,卡ID和设置ID。

创建一个CardColor表,其中每一行都有一个颜色ID,卡ID和设置ID。