一个字段包含许多值或许多字段

Wer*_*bel 0 database-design

我正在建立CCG卡数据库.每张卡都有关键字,如"闪电"或"水",每张卡可以有多个关键字.

所以问题是"将每个关键字放在自己的字段中是否更好,并且如果卡具有或不存在则保存或者更好的是将所有关键字保存在一个字段中并将其解析出来或者搜索功能是什么?"

纸牌游戏将来可能会添加更多关键词,并且卡的多个方面遵循与关键词相同的原则(即在一个领域中有许多选项.)

我有点担心有50多列的表.感谢所有的帮助和答案提前.如果我需要澄清,请告诉我.

pod*_*ska 5

都不是.

你应该有一个表,每个卡 - 关键字组合一行.

CardID   Keyword
1        lightning
1        water
2        lightning
3        mountain
Run Code Online (Sandbox Code Playgroud)

如果要重复关键字,您可能需要添加关键字表,并在此联结表中使用ID.

CardID   KeywordID
1        1
1        2
2        1
3        3
Run Code Online (Sandbox Code Playgroud)

关键词

KeywordID Keyword
1         Lightning
2         Water
3         Mountain
Run Code Online (Sandbox Code Playgroud)

这称为" 标准化 ".意见各不相同,但恕我直言,一般来说,你应该至少以" 第三范式 "为目标,最好是更高.