原谅我。我认为这是一个错误的标题。但是这里。
让我们设置一个包含3个对象的实例。 用户, ITEMS 和工作。这3个对象可能包含多个注释
所以我制定了一个我尝试过的数据库设计并且它有效,但我知道它的性能并不高效,我认为这是不合适的。
正如您在notes
表中所看到的,notes.tag
是标记表的字符串标识符。 users
,items
,work
。 notes.tag_id
是对象行的ID。
以下是 Notes表及其样本值
+----+-------+--------+-----------------------------+--+
| ID | TAG | TAG_ID | MESSAGE | |
+----+-------+--------+-----------------------------+--+
| 1 | items | 1 | Lorem Ipsum | |
+----+-------+--------+-----------------------------+--+
| 2 | items | 1 | Dolor sit Amet | |
+----+-------+--------+-----------------------------+--+
| 3 | users | 1 | consectetur adipiscing elit | |
+----+-------+--------+-----------------------------+--+
对我而言,这是非常有效的(而且懒惰),但我真的不知道这是否合适。你有什么正确的建议吗?
答案 0 :(得分:0)
我会单独制作一个NOTE_USERS,NOTE_ITEM,NOTE_WORK表。然后,您不需要tag
字段,tag_id
可以是真正的外键。
在ER图中,我将使NOTE_ *实体成为NOTE实体的不相交is-a
。但是,我不会将其“实现”为数据库中的表格。