Получение информации о триггерах

Если вы не помните, в какой таблице был установлен удаляемый триггер, необходимую информацию можно получить из системных таблиц PostgreSQL. Например, можно провести объединение полей tgrelid системной таблицы pg_trigger и поля relfilenode системной таблицы pg_class и сравнить имя триггера с полем tgname. Запрос, приведенный в листинге 6.46, возвращает имя отношения (rel name), связанного с триггером check_shipment.

Листинг 6.46. Получение имени таблицы, связанной с триггером

SELECT relname FROM pg_class

INNER JOIN pg_trigger

ON (tgrelid = relfilenode)

WHERE tgname = 'check_shipment': .

relname

shipments

ВНИМАНИЕ. При удалении функции, вызываемой по срабатыванию триггера, триггер перестает работать, причем повторное определение функции с тем же именем не исправит проблему. После повторного создания функции триггер также приходится создавать заново.

В PostgreSQL триггеры хранятся в системной таблице pg_trigger, что позволяет получить информацию о существующих триггерах на программном уровне. Структуру таблицы pg_trigger иллюстрирует таблице 6.3.

Таблица 6.3. Таблица pgjrigger

Поле Тип
TGRELID oid
TGNAME name
TGFOID oid
TGTYPE smallint
TGENABLED boo'i ean
TGISCONSTRAINT boolean
TGCONSTRNAME name
TGCONSTRRELID oid
TGDEFERRABLE boolean
TGINLTDEF ERRED boolean
TGNARGS smallint
TGATTR int2vector
TGARGS bytea

Большинство полей, перечисленных в таблице 6.3, в прямых запросах не используется. Среди атрибутов триггеров в системной таблице pg_trigger центральное место занимают атрибуты tgrelid и tgname.

В поле tgrelid хранится идентификатор отношения, с которым связан данный триггер. Значение относится к типу oid и соответствует содержимому поля relfilenode системной таблицы pg_class. В поле tgname хранится имя триггера, указанное в команде CREATE TRIGGER при его создании.

 

Современные информационные системы гетерогенны и форматы хранения данных, определяемые реляционными СУБД, не являются единственными в своем роде. Например, данные о читателях библиотеки могут сопровождаться, используя электронные таблицы Excel, а отдел кадров может хранить информацию о студентах, которые одновременно являются читателями той же библиотеки в формате, определяемой реляционной СУБД, например, PostgreSQL. В случае зачисления студентов на первый курс сведения о студентах, введенные в базу данных отдела кадров, могут понадобиться библиотеке. Но в этом случае возникает проблема обмена данными. Дело в том, что электронные таблицы Excel не могут адекватно отобразить данные формата PostgreSQL.

Здесь на простом примере обозначена проблема совместимости форматов. Для решения этой проблемы предложено решение − хранение данных в формате XML. Так называется стандартный язык для представления и обмена структурированными данными. На сегодняшний день XML широко используется в Web-среде, выступая промежуточным универсальным форматом хранения данных.

XML представляет собой структуру и правила описания любой информации содержательным способом. Используя XML, вы можете создать свой язык разметки для представления информации любого вида. XML - это одна из самых важных новейших технологий, порожденных развитием Интернета.

XML - это самостоятельная технология, хотя и возникшая исторически как Internet-тех­нология. Представляется важным рассмотреть технологию XML в отрыве от Internet в связи с технологиями баз данных. Поскольку и SQL, и XML является языками определения структурированных данных, можно предположить, что между этими двумя языками должна существовать взаимосвязь.

Вопрос заключается, в том как эти языки соотносятся друг к другу - находятся ли эти языки в конфликте или дополняют друг друга. Как связан язык XML с реляционным языком запросов SQL, можно ли на основе XML и построить модель данных, что собой представляет XML-ориентированная база данных, существуют ли таковые на сегодняшний день - этим вопросам посвящена последняя часть учебного пособия. В седьмой главе описываются основы XML, а в восьмой главе, на основе имеющихся сведений об этих языках, анализируются развивающиеся взаимоотношения между XML и SQL и рассматривается вопрос интеграции XML в SQL-продукты.








Дата добавления: 2015-02-03; просмотров: 1054;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.