我想了解多对多的关系,但我的头一直在打破我的这个爱好项目:SQL规范化,多对多3个固定值?
在一个游戏数据库中,我目前有一个包含所有列和值的表。
GAMES
id name alt_name1 alt_name2 type length group_size
----------------------------------------------------------------------------
1 foo foozoo NULL ice, team, silly s, m s, l, xl
然而,实现搜索的时候,我遇到问题,专门为愚蠢游戏中等长度为小组看时就来了。
据我了解,为了规范我将创建一个新表name
(一个ID最多三个名字)。 type
,length
和group_size
许多一对多的关系,所以我需要为他们创造价值和表格表他们的关系保持到游戏:
type
games_type
length
games_length
group_size
games_group_size
难道还有比创建一个更美好的方式这些表格?
感谢您的想法!
表格保持与游戏的关系通常被称为* junction *表。是的,这是实现多对多的正确方法。不要让这个表有许多行会欺骗你:SQL数据库可以很好地处理数百万行。另请阅读:http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad – NullUserException
感谢您的保证!我更担心我创建了2个表来处理只有3个值'''''',''''xl'(如果是'group_size')。不确定是否将联系表中的关系“外部化”是值得的。 –