Я не рекомендую наследование сущностей для чего-то такого простого.Для этого дизайна у вас есть три отношения, каждое из Person
, Place
и Tag
имеет отношение к Photo.
Photo` имеет три обратных отношения.Это не должно быть более сложным, чем это.
Наследование сущностей - это очень тонкий инструмент, который может легко вызвать у вас много проблем.Любые объекты, которые наследуются от другого, будут сведены в одну таблицу.Если, как предположил @morningstar, вы создали сущность Noun
и имеете наследование от нее Person
, Place
и Tag
, в файле SQLite будет таблица ONE с индексами, указывающими на себя идругая злобность.
Когда использовать наследование сущностей?
Это довольно сложный вопрос, на который можно ответить простым правилом.Тем не менее, я бы сказал, что базовым показателем было бы убедиться, что итоговая таблица заполнена как минимум на 70%.Например, если у вас есть реферат с 6 атрибутами и двумя дочерними элементами с 2 атрибутами, то, вероятно, это будет примерно 80% -ная степень заполнения и, возможно, все в порядке.
В общем, я не использую наследование сущностей, так как оно имеетмало пользы и большой риск для производительности.Старое правило работает, не используйте его, если вы не знаете, что нужно , чтобы его использовать.