metadata about table columns

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) новое поле, которое будет описывать
удобоваримое название.

Мне наиболее симпатичен первый вариант. Наименее - третий.

Прав ли я, и возможны ли другие решения?

Сергей Карин

Responses

Browse pgsql-ru-general by date

  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