Предполагая конструкцию базовой таблицы (№ 3). Из этой ссылке:Лучший способ смешать полиморфную ассоциацию и иерархию?
What is the best way to implement Polymorphic Association in SQL Server?
Я хотел бы добавить (к таблице объектов) а ObjectType
и parentObjectID
для каждого object.ObjectID
. Мне нужно это, потому что у меня есть объекты, которые являются дочерними для других объектов. Эти дочерние объекты могут иметь дочерние объекты только разных типов (отличные от типа self).
. Стоит ли размещать имена таблиц в столбце objectType
? Это может быть плохо для безопасности, чтобы сохранить часть схемы в таблице ... Любой другой подход, который я могу использовать?
Вот пример:
Таблица сообщений -> ID | ObjectID (fk ref. Object.ObjectID) | Содержание
Таблица Комментарии -> id | ObjectID (fk ref. Object.ObjectID) | Добавлено_on_ObjectID (fk ref. Object.ObjectID) | Содержание
В основном сообщения и комментарии будут уникальными объектами в таблице объектов super. Но поскольку комментарии могут быть сделаны только для почтовых объектов, а не для суждений комментариев, я должен хранить типы для каждого объекта (ObjectID).
Я предполагаю, что Object1, object2 и т. Д. Являются типами объектов, определенными в родительской таблице объектов. Вы хотите динамически создавать ** новые таблицы, если новые типы объектов добавляются в родительскую таблицу? – jerrymouse
@jerrymouse Нет, например: у нас есть объект объектов и объектов post. Комментарии допускаются для объектов post, но не для объектов комментариев. Вот почему мне нужно хранить типы. –
, вы должны были упомянуть этот пример в своем вопросе для получения лучшего ответа. В этом случае, я думаю, вам придется определять отдельные таблицы для каждого типа объекта. Что означает эта строка: «Эти дочерние объекты могут иметь дочерние объекты только разных типов». – jerrymouse