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

vadim

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

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

Нужна обычная плоская структура, без деревьев и тому подобного
 

Gorath

Новичок
Имхо лучший способ: http://www.martinfowler.com/eaaCatalog/classTableInheritance.html
но нужно довольно много обвязки, чтобы это было эффективно..
 

Rammstein

PHPClub::News
Думаю, нужно хранить общую часть (т.е. структуру предка) в одной таблице, а дополнительные в других
 

Valdisss

Guest
Всю общность выноси в абстрактный класс, всё остальное в конкретный класс
 

vadim

Guest
Valdisss
Так это уже есть, вопрос был как эту структуру в таблицы базы данных перевести.

Главная проблема: в ERM нет наследования, поэтому его надо както самому симулировать. Мой вопрос: Как лучше??
 

Alexandre

PHPПенсионер
vadim теория классов - это одна теория, теория БД - это др. теория.
Поступай так: каждый класс - это одна таблица. Но - в теории БД есть понятия - нормализация. По этому - надо применять правила нормализации к каждой таблице.
 
Сверху