我有一个简单的消息系统:用户向小组发送消息。
我尝试尽可能正常化并正确地执行操作,以便架构可以在需要时发展。
我决定有一个存储每条消息的表,以及一个用于不同类型消息的2个表。
但是我发现了这个问题。对message
的查询毫无意义,因为它们不会产生消息。您必须单独查询message_image
和message_text
。这让我觉得我的模型错了。
message
-------
+ id (int)
+ group_id (int)
+ sender_id (int)
+ created_at (timestamp)
message_image
-------------
+ id (int)
+ title (varchar)
+ url (varchar)
+ created_at (timestamp)
message_text
------------
+ id (int)
+ message (varchar)
+ created_at (timestamp)
这样做是否有任何负面影响?
答案 0 :(得分:1)
将外键约束添加到引用message
的{{1}}以及引用message_image
的{{1}}中的外键约束。然后你可以在消息中查找那些cols<>的行。空值。