我正在为当地一家慈善机构建立数据库。该数据库将填充来自不同来源的条目并每天更新。
其中一个元素(例如汽车)与许多元素(例如汽车颜色)有关系。
我的一位正在帮助该项目的朋友建议使用 JSON 字段。我不是 DBA,也许我不完全理解使用 JSON 相对于多对多表的好处。
我可以按如下方式构建汽车表:
其中条目将是:
Cars
+----+--------+-------------------------------+
| id | name | colors |
+----+--------+-------------------------------+
| 1 | Fiesta | { "15": "red", "22": "blue" } |
+----+--------+-------------------------------+
Run Code Online (Sandbox Code Playgroud)
或者我可以构建一个多对多表:
其中条目将是:
Cars
+----+--------+
| id | name |
+----+--------+
| 1 | Fiesta |
+----+--------+
Colors
+----+------+
| id | name |
+----+------+
| 15 | red |
+----+------+
| 22 | blue |
+----+------+
CarsColors
+----+-------+---------+
| id | carID | colorID |
+----+-------+---------+
| …Run Code Online (Sandbox Code Playgroud)