所以,我正在使用MySQL Workbench建模数据库。我有一个名为Category(两个字段,id和描述)的表和一个名为Event的表。我想在Event中有一个列,其中包含来自Categories的任意数量的id(作为CSV,它们的顺序很重要)。 我如何在MySQL Workbench中表示这一点(我的意思是在ER模型中)?或者我这样做真的错了?
它看起来像这样:
| ID | Descripion
| 1 | Lorem...
| 2 | Ipsum...
| 3 | Dolor...
| 4 | Sit...
| 5 | Amet...
| ID | Name | Categories
| 1 | John | 2,1,5,4
| 2 | Reese | 3,5,4
| 3 | Ben | 1,5
| 4 | Linus | 3,4,2
| 5 | Jack | 5
| 6 | Lemon | 4,5,2
(我已经读过这个:How to structure "categories" data in the database?但是我不确定我处于相同的情况。我的类别更像是一个'树'而不是标签......)
答案 0 :(得分:2)
对于许多关系,你需要一个中间表来保存两个表中的id,你正在创建它们之间的关系。在此表中,您还可以设置一个订购列,指明如何对类别进行排序。
| ID_Event | ID_Cat | Order
| 1 | 1 | 2000
| 1 | 2 | 1000
| 1 | 5 | 3000
| 1 | 4 | 4000
等等。
您可以选择在订购栏中留出1000个以上的差距,以便您可以轻松地在现有订购商品之间添加类别。