Немного зависит от назначения таблицы контекста. Можно ли создать созданный контекст для совместного использования пользователем, задачей или проектом? Если это так, то таблица отношений «многие ко многим» может помочь для каждого из различных объединений. Таким образом, UserContext, ProjectContext, TaskContext таблица. В них будут только первичные ключи двух таблиц и, возможно, временная метка.
Если вы не передаете какой-либо контент другим таблицам, так что каждая ссылка уникальна для того, кто его создает, вы можете просто добавить тип контекста в микс. Таким образом, таблица ContextType будет добавлена к миксу. Вы по-прежнему хотели бы иметь таблицу отношений, чтобы у человека могло быть несколько контекстов и т. Д. Итак, тогда у вас может быть ContextRelationshipTable, который связывает внешний ключ из родительской таблицы с контекстной таблицей, и вы можете использовать тип в качестве фильтра.
Однако я, вероятно, просто использовал бы подход «многие ко многим» и просто имел бы таблицы (ссылок) ссылок.