metadata about table columns
От | Sergey Karin |
---|---|
Тема | metadata about table columns |
Дата | |
Msg-id | S6936289AbVDTMsx/20050420124853Z+53690@gnome09.net.rol.ru обсуждение исходный текст |
Ответы |
Re: metadata about table columns
Re: metadata about table columns |
Список | pgsql-ru-general |
Всем привет.
Продолжение темы ГИС, PostGIS и PostgreSQL :)
атрибуты объектов (т.е. колонки в реляционной таблице) могут иметь только названия согласно требованиям именования полей таблиц. Это есть ограничение, т.к. я не могу атрибуту объекта задать удобоваримое название, например, по-русски. А очень хоцца.
Выходов я вижу три.
1) создать таблицу с метаданными, в которой будут хранится удобоваримые названия, эти самые неудобоваримые (названия колонок), а также название реляционной таблицы, в которой эта самая колонка (атрибут) созданы. Т.е. никак не использовать информацию из системного каталога. (pg_class и pg_attribute). Соответственно все операции будут выполняться через специально заданный инструментарий в виде функций и/или триггеров.
2) В таблице с метаданными (как в п.1) использовать внешний ключ на таблицу pg_attribute. Т.е. хранить только удобоваримое название и ссылку на строку в таблице pg_attribute, которая описывает колонку.
3) Не создавать никаких своих таблиц с метаданными, а добавить в системный каталог (alter table pg_attribute) новое поле, которое будет описывать удобоваримое название.
Мне наиболее симпатичен первый вариант. Наименее – третий.
Прав ли я, и возможны ли другие решения?
Сергей Карин
В списке pgsql-ru-general по дате отправления: