Re: Объектная модель данных
От | Andrey N. Oktyabrski |
---|---|
Тема | Re: Объектная модель данных |
Дата | |
Msg-id | 4D67BB46.6060003@bestmx.ru обсуждение исходный текст |
Ответ на | Re: Объектная модель данных (Dmitriy Igrishin <dmitigr@gmail.com>) |
Ответы |
Re: Объектная модель данных
|
Список | 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 тоже.
В списке pgsql-ru-general по дате отправления: