From: | "Andrey N(dot) Oktyabrski" <ano(at)bestmx(dot)ru> |
---|---|
To: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com> |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: Объектная модель данных |
Date: | 2011-02-25 14:23:02 |
Message-ID: | 4D67BB46.6060003@bestmx.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
On 02/25/11 15:06, Dmitriy Igrishin wrote:
> Пример:
> create table A (id int, name text);
> create table B (txt text) inherits A;
>
> select id, name from A;
>
> Выбраны все записи как из A, так и из B. Чего тут сложного-то?
> Никаких чрезмерных усилий :-)
>
> Или это не о том?
>
> Пример является надуманным. Даже имена выбраны так, что понять
> их предназначение невозможно.
Естественно, я не буду приводить тут примеры из реальных приложений. Они
занимают слишком много места.
> На практике же, когда анализ предметной области выявляет концепции
> проекта, следующим шагом после установления связей между ними,
> является определение операций над этими концепциями. И если две
> концепции связаны наследованием, то последнее не очень полезно
> без полиморфизма.
И он есть, как показал мой надуманный пример. Как минимум, для операции
select над концепциями A & B :-)
> Так вот определить полиморфные операции непосредственно в
> PostgreSQL (в том же PL/pgSQL) невозможно. Возможно только
> прилагая большую сообразительность и мастерство.
Не, мы всё-таки о разных вещах. Я о том, что операций над данными только
четыре штуки - select, insert, update, delete.
> Что касается понятия наследования, реализованного в
> PostgreSQL (INHERITANCE clause). Принимая в расчёт ограничения,
> указанные в п. 5.8.1, я вообще не понимаю зачем этот функционал был
> добавлен в PostgreSQL? Разве что только для выборки из всех таблиц,
> олицетворяющих производные классы, через таблицу, представляющую
> базовый класс (как в примере выше)? :-)
Почему только выборки? UPDATE/DELETE тоже.
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitriy Igrishin | 2011-02-25 14:38:22 | Re: Объектная модель данных |
Previous Message | Dmitriy Igrishin | 2011-02-25 12:06:15 | Re: Объектная модель данных |