在SQL中,如何处理必须有许多(20+;)外键的表?
假设我想创建一个数据库来处理足球比赛。如果我想要一个名为matches的表,那么如何避免编写类似player1_-fk、player2_-fk[…]player22_-fk的内容?在SQL中,如何处理必须有许多(20+;)外键的表?,sql,Sql,假设我想创建一个数据库来处理足球比赛。如果我想要一个名为matches的表,那么如何避免编写类似player1_-fk、player2_-fk[…]player22_-fk的内容? 是否有类似SQL数组的东西?它被称为链接表: Matches ID Players ID PlayersToMatches Match_ID Player_ID 这就是您通常在关系数据库中存储多对多关系的方式。您当前的数据模型是什么,您想建模什么?不清楚您想做什么,请添加详细信息@Smutje询
是否有类似SQL数组的东西?它被称为链接表:
Matches
ID
Players
ID
PlayersToMatches
Match_ID
Player_ID
这就是您通常在关系数据库中存储多对多关系的方式。您当前的数据模型是什么,您想建模什么?不清楚您想做什么,请添加详细信息@Smutje询问。似乎您需要一个n:m关系,所以请使用额外的表播放器“是否有类似SQL数组的东西”-此问题通常表示不了解规范化的含义。除此之外:对阵列的支持在很大程度上取决于所使用的DBMS。大多数人没有阵列支持,其他人对他们的支持非常好。因此,您需要告诉我们您正在使用哪些DBMS(Postgres、Oracle、SQL Server等)。感谢各位的建议,我决定使用一个交集表。另外,感谢你的警告,我将仔细阅读规范化方面的内容,因为我在这个部门显然缺乏这方面的知识。