Как хранить абстрактные модели данных в реляционных БД? Доброе время суток!
Интересует вопрос создания и хранения абстрактных изменяемых моделей данных в реляционных БД.
Нужна возможность создания расширяемых и наследуемых моделей в базе данных, с возможностью редактирования и расширения. Например:
1.Мы создаем базовую модель — Животное .
2.Добавляем свойство "Название"
3.Создаем модель наследник КОТ который наследует базовые свойства модели Животное + имеет дополнительные свойства(разных типов, double,binary,и.т.д) возможно и ссылки на другие экземпляры других моделей.
4.Теперь необходимо на уровне БД воссоздать описание конечной модели что бы создать экземпляр модели данных с возможностью хранения свойств в БД.
По сути объктная БД только не очень понятно, как все это переложить на реляционную БД ООП и хранение данных экземпляра.
Возможно есть какие то стандарты или фреймворки которые позволяют это делать?

21 Авг 2019 в 07:05
222 +1
0
Ответы
1

Для хранения абстрактных моделей данных в реляционных БД можно использовать подход называемый "наследование таблиц" или "single table inheritance".

Суть этого подхода заключается в том, что все наследуемые модели сохраняются в одной таблице, а для каждой модели добавляется поле, которое указывает на ее тип. Это позволяет сохранить все атрибуты родительской модели и добавить новые атрибуты для наследника.

Также можно использовать ORM (Object-Relational Mapping) фреймворки, такие как Hibernate (для Java) или Entity Framework (для .NET), которые позволяют работать с объектами базы данных как с обычными объектами в коде, автоматически генерируя SQL запросы.

Кроме того, существуют специальные паттерны проектирования баз данных, такие как EAV (Entity-Attribute-Value), которые позволяют хранить различные свойства сущностей в базе данных без необходимости изменения схемы.

В целом, нет четких стандартов или фреймворков для работы с абстрактными моделями данных в реляционных БД, но вышеупомянутые подходы могут помочь в реализации требуемого функционала.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 727 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир