Считаете ли вы, что лучше создать другую сущность с именем Image, которая имеет атрибут данных изображения и сделать Photo & Thumbnail потомками Image?
Не стоит смотреть на наследование сущностейкак средство создания аккуратного дизайна, но вместо этого его следует использовать таким образом, чтобы несколько объектов могли обитать в одних и тех же отношениях.
Предположим, у вас был объект Person
, у которого были данные изображения, но изображения были разных размеров или типов, но вам нужно, чтобы все объекты изображения были в одинаковых отношениях.Вы бы настроили все так:
Person{
images<-->>Image.person
}
Image{
person<<-->Person.images
}
GIF:Image{
//... GIF related attributes
}
JPG:Image{
//... JPG related attributes
}
Поскольку сущности GIF
и JPG
наследуются от Image
, вы можете поместить оба в отношение Person.images
.
В вашем случае, по-видимому, нет никакой особой причины, кроме аналогии с классами, чтобы Photo
и Thumbnail
наследовали от общей супер сущности.
Кроме того, если вы используете хранилище SQLite, все дочерние объекты родительского объекта оказываются в одной таблице.Для очень больших наборов данных это может создать проблемы с производительностью.Так что это еще одна причина не использовать наследование сущностей только для аккуратности.