From: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com> |
---|---|
To: | simplevolk <simplevolk(at)gmail(dot)com> |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: [pgsql-ru-general] Объектная модель данных |
Date: | 2011-02-24 19:40:56 |
Message-ID: | AANLkTi=4uucwfGdiY-+B8oCNpvDfq_2QOFxXnfmks5Ws@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Приветствую,
24 февраля 2011 г. 20:49 пользователь simplevolk <simplevolk(at)gmail(dot)com>написал:
> Здравствуйте!
>
> Есть ли в Postgres объектная модель данных?
>
ER-модель, которая отражает концепции проекта - всегда объектная.
Есть классы (таблица(-ы)), есть объекты (entity) - это строки в них и
если связи (relationship) между классами. В PostgreSQL возможно
явно вызарить связи "has a" (внешними ключами) и "is a"
(наследованием). Хотя последний тип (наследование) весьма
сомнительно в том плане, что способов реализации наследования
на физическом уровне в БД множество, а не только посредством
разделения на таблицы (можно хранить объекты классов одной
иерархии в какой-то одной таблице, например).
Кроме того (что самое существенное), выражать полиморфное
поведение Постгрес не позволяет. Хаки, подобные тем, что
применяются в Си чтобы писать (лет по десять :-)
объектно-ориентированные программки в расчёт не принимать :-)
Итого: выразить концепции проекта в виде классов и связей между
ними можно - это просто разработка ER-модели. Определить
полиморфные типы - то есть фундаментальный смысл
ОО-проектирования непосредственно нельзя (можно, как в Си,
но это того не стоит :-)
> Аналог ООП в языках программирования.
> Где об этом можно почитать?
>
> Спасибо.
>
--
// Dmitriy.
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey N. Oktyabrski | 2011-02-25 08:11:17 | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Объектная модель данных |
Previous Message | Nikolay Samokhvalov | 2011-02-24 18:12:14 | Re: [pgsql-ru-general] Объектная модель данных |