我有一个问题,我不确定设计它的最佳方法。
基本上,有用户。每个用户都可以有一个消息框,每个框依次可以有多条消息。
问题是,是否有一些特殊的消息框,包括“新建”和“垃圾箱”。用户需要拥有这两个框。
我对可以做些什么有一些想法。我的一个想法是每个消息框都有一个字段记录其类型(枚举“新”,“垃圾”或“其他”)。但这并不强迫他们拥有那些我喜欢的盒子。 / p>
我还可以让每个用户都有专门与其特殊框相关的字段(因此在user
表中会有newBox
和trashBox
等字段。当然,如果需要这些,那么user
和user_messageBox
表将是相互关联的,这将导致明显的问题。
然后,我可以在消息框表与用户无关的情况下进行多对多,因此会有另一个表将这两者作为多对多关联。但我不想要多对多的关系,所以它没有解决任何问题!
答案 0 :(得分:0)
如果您只想为每个用户设置一个消息框,则调用“新”和“废弃”其他内容,例如状态。这是消息的一个领域。 (您还需要一个用户字段或等同于每条消息中的消息框。)
这可以让你开箱即用(!),如果你选择的话,可以给你关于如何使用该字段的其他想法:“已标记”,“重要”,“垃圾邮件”等。
答案 1 :(得分:0)
为什么不使用message_box_type字段,。
我认为您应该强制用户使用应用程序逻辑同时拥有两种消息框类型。
理想情况下,会有两个表,一个带有外键id message_box_id的消息表,将其链接到另一个表message_box。除了其他字段之外,message_box表还具有message_box_type字段。应用程序逻辑将确保在用户注册/创建时创建两个类型“new”和“trash”的message_box记录