在这种情况下,非规范化表是否可以接受?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在这种情况下,非规范化表是否可以接受?相关的知识,希望对你有一定的参考价值。
我希望您对哪种表格结构有所了解。
让我们说这是一个存储NBA球员信息的表格。所以你会有id, name, team_id
等。
但是为了存储玩家的位置(Point Guard,Power Forward,Center等),我应该创建一个单独的Player_Position
表,将Player_ID
连接到Position
?
球员表:
ID Name Team_ID
-------------------------
1 LeBron James 10
2 CJ McCollum 5
Player_Position表:
Player_ID Position
-------------------
1 PG
1 SF
1 PF
2 PG
2 SG
另一种选择是将PG, SG, SF, PF, C
列作为Players
表上的列,因此如果玩家玩PG
和SG
,那么这些字段将为1,其他字段为0。
球员表:
ID Name Team_ID PG SG SF PF C
-------------------------------------------------
1 LeBron James 10 1 0 1 1 0
2 CJ McCollum 5 1 1 0 0 0
Player
至少有1个位置,可以是多个,(可以全部5个)。以后不会发明任何新职位,也不会删除任何新职位,只有5职位。
答案
考虑这一列:
positions SET('PG', 'SG', 'SF', 'PF', 'C') NOT NULL
考虑设置/更改/获取数据的查询。然后阅读文档,看看你必须使用SET
的扭曲方式。
以上是关于在这种情况下,非规范化表是否可以接受?的主要内容,如果未能解决你的问题,请参考以下文章