metaclass: (Default)
[personal profile] metaclass
Таки дошли руки почитать про сабжевую фичу постгреса. Вообще, я подумывал его использовать, в том числе и из-за того, что на Firebird и MSSQL я постоянно реализую наследование вручную, чтобы кошерно маппить объекты на базу.
Но судя по описанию оной фичи к использованию она малопригодна - не наследуются pk, fk констрейнты и триггеры, т.е. смысл остается только в том, что при вставке и обновлении не нужно будет возится со всеми таблицами в цепочке наследования.

Date: 2010-02-25 11:22 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Не запутайтесь, Postgresql table inheritance не имеет никакого отношения к ООП-наследованию. Это штука нужна для так называемого partitioning - ака кластеризации.

Для мапинга ООП-наслоедования в базу, в postgresql принято использовать классические методы ( те кто незнают, смотрят http://www.martinfowler.com/eaaCatalog/index.html "Object-Relational Structural Patterns:", хоть там и не все).

Чем тут нам может помочь Postgresql? хм, сложной view-шкой делающей виртуальную STI, если не она выбрана для хранения, плюс возможность иметь один sequence на несколько таблиц, если выбран вариант хранения наследования по нескольким таблицам. Вроде бы пожалуй и всё.

Кстати, PostgreSQL считается полу-ООП базой не за возможности обрабатывать ООП понятия "наследование и тд" - этого она не умеет, а за возможность добавления любых своих типов + за поддержку gist и gin индексов.

Date: 2010-02-26 10:27 am (UTC)
From: [identity profile] metaclass.livejournal.com
Оно сильно на ООП похоже, поэтому путается. Т.е. с первого прочтения это больше похоже на ООП, чем на что-то другое.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 31st, 2025 03:19 am
Powered by Dreamwidth Studios