Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Изменение типа наследующей таблицы


Автор: everyone 19.2.2014, 15:12
Существующая схема в приложенной к сообщению картинке.

Столкнулся с проблемой, когда один объект может быть преобразован в другой(меняется его тип).
Сейчас при смене типа приходится сканировать две другие таблицы и удалять из них записи, а затем создавать новую.
Интересен взгляд на проектирование реляционного наследования и выполнения с ним основных операций - INSERT, UPDATE, DELETE.

Автор: LSD 19.2.2014, 15:49
http://docs.jboss.org/hibernate/orm/3.5/reference/en/html/inheritance.html

Автор: everyone 19.2.2014, 16:18
Интерсуют таблицы, связи и SQL.
Пока не понимаю как http://docs.jboss.org/hibernate/orm/3.5/re...nheritance.html  может помочь

Автор: Akina 19.2.2014, 16:38
Цитата(everyone @  19.2.2014,  16:12 Найти цитируемый пост)
Сейчас при смене типа приходится сканировать две другие таблицы и удалять из них записи, а затем создавать новую.

А что беспокоит? долго? Тогда просто плюнь на эту операцию и проводи периодическое обслуживание таблиц с удалением "висячих" записей.

Автор: LSD 19.2.2014, 16:43
Цитата(everyone @  19.2.2014,  17:18 Найти цитируемый пост)
Пока не понимаю как

Там описано несколько стратегий наследования. Тебя же интересовало
Цитата(everyone @  19.2.2014,  16:12 Найти цитируемый пост)
Интересен взгляд на проектирование реляционного наследования и выполнения с ним основных операций - INSERT, UPDATE, DELETE.

Автор: everyone 19.2.2014, 16:44
Цитата

А что беспокоит? долго?

Нет, это уже сделано, они просто удаляются при изменении типа процедурой, выясняя все таблицы с внешними ключами из системной таблицы "information_schema.KEY_COLUMN_USAGE".
Затем запись в дочернюю таблицу вставляется заново.

У меня научный интерес - есть ли ещё грамотные решения проблемы.
Может быть схему можно перепроектировать.

Добавлено через 1 минуту и 34 секунды
Цитата

Там описано несколько стратегий наследования. Тебя же интересовало


Хорошо, почитаю внимательнее. Может быть я что-то упустил.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)