在这种情况下,非规范化表是否可以接受?

问题描述 投票:0回答:1

我希望您对哪种表格结构有所了解。

让我们说这是一个存储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表上的列,因此如果玩家玩PGSG,那么这些字段将为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职位。

mysql database database-design database-schema
1个回答
0
投票

考虑这一列:

positions SET('PG', 'SG', 'SF', 'PF', 'C') NOT NULL

考虑设置/更改/获取数据的查询。然后阅读文档,看看你必须使用SET的扭曲方式。

© www.soinside.com 2019 - 2024. All rights reserved.