From: | "Sergey Karin" <nil5-ksa(at)yandex(dot)ru> |
---|---|
To: | "'pgsql-ru-general'" <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | metadata about table columns |
Date: | 2005-04-20 12:48:28 |
Message-ID: | S6936289AbVDTMsx/20050420124853Z+53690@gnome09.net.rol.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Всем привет.
Продолжение темы ГИС, PostGIS и PostgreSQL :)
атрибуты объектов (т.е. колонки в реляционной таблице) могут иметь только
названия согласно требованиям именования полей таблиц. Это есть ограничение,
т.к. я не могу атрибуту объекта задать удобоваримое название, например,
по-русски. А очень хоцца.
Выходов я вижу три.
1) создать таблицу с метаданными, в которой будут хранится удобоваримые
названия, эти самые неудобоваримые (названия колонок), а также название
реляционной таблицы, в которой эта самая колонка (атрибут) созданы. Т.е.
никак не использовать информацию из системного каталога. (pg_class и
pg_attribute). Соответственно все операции будут выполняться через
специально заданный инструментарий в виде функций и/или триггеров.
2) В таблице с метаданными (как в п.1) использовать внешний ключ на таблицу
pg_attribute. Т.е. хранить только удобоваримое название и ссылку на строку в
таблице pg_attribute, которая описывает колонку.
3) Не создавать никаких своих таблиц с метаданными, а добавить в системный
каталог (alter table pg_attribute) новое поле, которое будет описывать
удобоваримое название.
Мне наиболее симпатичен первый вариант. Наименее - третий.
Прав ли я, и возможны ли другие решения?
Сергей Карин
From | Date | Subject | |
---|---|---|---|
Next Message | Sergey Suleymanov | 2005-04-20 13:50:59 | Re: metadata about table columns |
Previous Message | Oleg Bartunov | 2005-04-20 11:44:58 | Re: pgsphere |