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

从本质上讲,数据库归结为保存有关单个卡的信息。例如,一张卡片将具有:


一个名字
与卡相关的一些文字
颜色


而且,这些卡将属于套组。一组是在该组中释放的一组卡。存储的关于集合的唯一信息是:


套装名称
套装的发售日期


我正在通过加入联接器表的多对多关系来解决这个问题。由于一张卡可以分为几组,而一组可以包含多张卡,因此这很有意义。

但是,此设置有几个问题。

首先是关于卡的信息可以随每组而变化,但是仍然是同一张卡。例如,与卡相关联的文本可能会更改,但卡仍然相同。我将不重复使用每个卡组中的新卡,而是如何重用将保持不变的信息,并仅根据组中的文本更改来使用?我在考虑使用另一个仅包含卡片文本的表,该表将链接在同一细表中。是否可以进行此设置,如果可以,建议这样做吗?

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

为此,我想为每种颜色创建一个单独的表,并将其实现为卡片和颜色之间的一对多关系。这有意义吗?

在此先感谢您,如果我听起来像个白痴,对不起。

最佳答案

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

创建一个Card表,其中包含与该Card相同的所有信息。每行应具有唯一的卡ID。

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

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

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

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

关于mysql - MySQL入门,需要帮助来构建数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30283908/

10-11 04:48
查看更多