其他两个中间人之间的中间表的正确名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了其他两个中间人之间的中间表的正确名称相关的知识,希望对你有一定的参考价值。
我有4个实体:Event
,Message
,Flow
和Document
。
Event
表存储有限(种子)的记录数。 Message
有很多活动,每个活动都可以与许多消息相关。 event_message
这个名字是给中间表的。
如您所见,中间表的约定是:{tablename}_{tablename}
。
Flow
表存储有限(种子)的记录数。 Message
有很多流,每个流都可以与许多消息相关。 flow_message
这个名字是给中间表的。
在Flow
和Message
(flow_message
上的每条记录)之间的每个关系上创建一个文档。
问题从这里开始:
消息上的每个事件都有不同的文档流。这意味着:对于中间表flow_message
上的每个新记录,中间event_message
上的每个记录都有一个相关的新文档。
为了解决这个问题,我在event_message
和flow_message
之间创建了一个名为:event_message_flow_message
的中间表。
这是正确的(以某种传统方式)?这个建模是否正确?
如何通过另外两个中间表来正确建模和命名中间表导数?
我也希望有一些惯例。由于我不知道任何官方惯例,我发明了我的。重要的是尊重您选择的惯例。
所以我会把event_message_flow_message
改为rel_eventmessage_flowmessage
。但对我来说,你的惯例非常好。
很难提出建议,因为你的模型对我来说有点奇怪。你在DOCUMENT
和FLOW_MESSAGE
以及DOCUMENT
和EVENT_MESSAGE_FLOW_MESSAGE
之间有1:1的关系。在我的脑海里很难将这与EVENT_MESSAGE_FLOW_MESSAGE
的多对一关系调和起来。如果您与DOCUMENT
的关系真的是1:1(强制性),那么为什么要将文档保存在单独的表中?
要解决有关表命名的问题:我认为命名交集表的{table} _ {table}约定不是最佳实践,而是在您无法想到更好名称的情况下的后备。
最佳实践是表的名称反映由表中的数据记录/描述的事物的商业名称。这并不总是可行,特别是对于交叉表。交叉表表示多对多关系,并且通常难以使用名词来描述关系。
在您的情况下,我不认为您的约定实际上使事情特别容易理解。我可能会尝试简化像MESSAGE_DOCUMENT
甚至只是DOCUMENT
这样的东西 - 因为这些似乎在任何情况下都是1:1相关的。
以上是关于其他两个中间人之间的中间表的正确名称的主要内容,如果未能解决你的问题,请参考以下文章