Я работаю над приложением, которое будет использоваться в качестве расширяемой платформы для других приложений.
Один из фундаментальных классов называется Node, а Nodes имеют Content. Таблицы SQL выглядят так:
TABLE Node (NodeId int, .... и т. Д.)
TABLE NodeContentRelationship (NodeId int, строка ContentType, ContentId int)
Разработчики, расширяющие приложение, будут создавать собственные типы контента.
Очевидно, что это плохо с точки зрения базы данных отношений, поскольку невозможно добавить отношение внешнего ключа в NodeContentRelationship.ContentId, даже если оно является столбцом внешнего ключа.
Однако решение довольно простое и мощное, поэтому я не хочу его менять.
Как вы думаете, я в мире боли в будущем?