[英]Proper Database Design: One table to Multiple Objects
原谅我。 我相信这是一个错误的标题。 但是这里。
让我们举一个实例,我们有3个对象。 用户 , 项目和工作 。 这三个对象可能包含多个注释
因此,我制定了一个数据库设计并尝试了它,但是它可以起作用,但是我知道从性能上来看它是无效的,并且我认为这是不合适的。
您可以在notes
表中看到, notes.tag
是带标签的表的字符串标识符。 users
, items
, work
。 notes.tag_id
是对象行的ID。
以下是注释表及其示例值
+----+-------+--------+-----------------------------+--+
| ID | TAG | TAG_ID | MESSAGE | |
+----+-------+--------+-----------------------------+--+
| 1 | items | 1 | Lorem Ipsum | |
+----+-------+--------+-----------------------------+--+
| 2 | items | 1 | Dolor sit Amet | |
+----+-------+--------+-----------------------------+--+
| 3 | users | 1 | consectetur adipiscing elit | |
+----+-------+--------+-----------------------------+--+
对我来说,这是非常有效的(而且很懒),但是我真的不知道这是否合适。 您有什么适当的建议吗?
我将创建一个单独的NOTE_USERS,NOTE_ITEM和NOTE_WORK表。 然后,您不需要tag
字段,并且tag_id
可以是真正的外键。
在ER图中,我将NOTE_ *实体设为NOTE实体的不相交is-a
。 但是,我不会将其“实现”为数据库中的表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.