0

所以,我正在使用 MySQL Workbench 对数据库进行建模。我有一个名为 Category 的表(两个字段,id 和 description)和一个名为 Event 的表。我想在 Event 中有一个列,其中包含来自类别的任意数量的 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

(我已经读过这篇文章:如何在数据库中构建“类别”数据?但我不确定我是否处于同样的情况。我的类别更像是“树”而不是标签......)

4

1 回答 1

2

对于多对多关系,您需要一个中间表,其中包含您正在创建的关系的两个表中的 id。在此表上,您还可以设置一个排序列,指示如何对您的类别进行排序。

| ID_Event | ID_Cat | Order
| 1        | 1      | 2000 
| 1        | 2      | 1000
| 1        | 5      | 3000
| 1        | 4      | 4000 

等等。

您可以选择在订购列中留出 1000 多个值的间距,以便您可以轻松地在现有订购商品之间放置类别。

于 2012-05-27T00:40:12.373 回答