Приветствую,
24 февраля 2011 г. 20:49 пользователь simplevolk
<simplevolk@gmail.com> написал:
Здравствуйте!
Есть ли в Postgres объектная модель данных?
ER-модель, которая отражает концепции проекта - всегда объектная.
Есть классы (таблица(-ы)), есть объекты (entity) - это строки в них и
если связи (relationship) между классами. В PostgreSQL возможно
явно вызарить связи "has a" (внешними ключами) и "is a"
(наследованием). Хотя последний тип (наследование) весьма
сомнительно в том плане, что способов реализации наследования
на физическом уровне в БД множество, а не только посредством
разделения на таблицы (можно хранить объекты классов одной
иерархии в какой-то одной таблице, например).
Кроме того (что самое существенное), выражать полиморфное
поведение Постгрес не позволяет. Хаки, подобные тем, что
применяются в Си чтобы писать (лет по десять :-)
объектно-ориентированные программки в расчёт не принимать :-)
Итого: выразить концепции проекта в виде классов и связей между
ними можно - это просто разработка ER-модели. Определить
полиморфные типы - то есть фундаментальный смысл
ОО-проектирования непосредственно нельзя (можно, как в Си,
но это того не стоит :-)
Аналог ООП в языках программирования.
Где об этом можно почитать?
Спасибо.
--
// Dmitriy.