Классы->Схема базы данных

  • Автор темы Автор темы vadim
  • Дата начала Дата начала

vadim

Guest
Классы->Схема базы данных

Как правильно поступать с классами, которые наследуют от одного предка (абстрактный класс) ?? То есть какую для них создавать структуру базы данных? Для каждого класса создавать отдельную таблицу?? Тогда нужно будет все свойства предка в каждой такой таблице отображать (свойства=столбцы). Или же сделать на всё одну таблицу и свойства всех подклассов в эту таблицу залить, объекты тогда будут заполнять только нужные им столбцы. Этот вариант както не красиво выглядет.
Хотя он мог бы работать, так как глубина наследование 1, то есть ниже классов уже не будет.

Нужна обычная плоская структура, без деревьев и тому подобного
 
Имхо лучший способ: http://www.martinfowler.com/eaaCatalog/classTableInheritance.html
но нужно довольно много обвязки, чтобы это было эффективно..
 
Думаю, нужно хранить общую часть (т.е. структуру предка) в одной таблице, а дополнительные в других
 
Всю общность выноси в абстрактный класс, всё остальное в конкретный класс
 
Valdisss
Так это уже есть, вопрос был как эту структуру в таблицы базы данных перевести.

Главная проблема: в ERM нет наследования, поэтому его надо както самому симулировать. Мой вопрос: Как лучше??
 
vadim теория классов - это одна теория, теория БД - это др. теория.
Поступай так: каждый класс - это одна таблица. Но - в теории БД есть понятия - нормализация. По этому - надо применять правила нормализации к каждой таблице.
 
Сверху