这种情况的最佳解决方案/做法是什么?我有一个表,可以引用多个表(对象)?
这是表 UserCalendar 的示例。这是一个用户保存他的事件的表,而且系统从后面插入到这个表中。用户执行一些服务,这些服务具有截止日期,并且这些服务也插入到此表中。问题是没有像 UserEvent 表这样的表。用户应将此日历中的所有事件保存为描述。我应该尽可能简单。
我可以设计这两种方式。
1)
用户日历 UserCalendarId
| 用户名 | 说明 | 对象类型 | 对象标识
使用此选项,我不必对这些表进行 FK。我只能更改 ObjectType(通知、服务、日历)并将该表的 id 用作 ObjectId。在事件的情况下,将没有这样的表,这将是空字段。我们称之为伪 FK 列。
2)或者我可以按照理论上的说法为每个 FK 使用多个表。
用户日历 UserCalendarId
| 用户名 | 说明
UserEvent
UserCalendarId |EventId
UserServices
UserCalendarId|ServiceId
UserNotifications
UserCalendarId |NotificationId
...
对于每个系统事件或属于特定类型的任何其他自定义事件,此外部关系表可以是一个数字
第一个解决方案是快速实施。