– 55 –
мые системные каталоги, представляющие собой совокупности системных таб-
лиц, используемых для внутренних целей. В этих таблицах содержатся описа-
ния таблиц, представлений, столбцов и других структурных элементов баз дан-
ных.
2.5.1. Н
АЗНАЧЕНИЕ СИСТЕМНОГО КАТАЛОГА
Таблицы системного каталога создаются автоматически при создании базы
данных и сопровождаются самой СУБД в ходе ведения базы данных.
При обработке инструкций
SQL СУБД постоянно обращается к данным сис-
темного каталога. Например, чтобы обработать двухтабличную инструкцию
SELECT, СУБД должна:
– проверить, существуют ли указанные в запросе таблицы;
– убедиться, что пользователь имеет разрешение на доступ к ним;
– проверить, существуют ли столбцы, на которые имеются ссылки в данном
запросе;
– установить к каким таблицам относятся имена столбцов;
– определить типы данных каждого столбца.
Так как информация о структуре базы данных хранится в системных таб-
лицах, СУБД использует свои собственные методы и алгоритмы для быстрого
доступа к информации, необходимой для выполнения перечисленных задач.
Системные таблицы доступны и для пользователей, но пользователи могут
только извлекать информацию из системного каталога. СУБД запрещает
моди-
фицировать системные таблицы, так как это может нарушить целостность базы
данных. СУБД сама вставляет, удаляет и обновляет строки системных таблиц
во время модифицирования структуры базы данных.
Изменения в системных таблицах происходят в качестве побочного резуль-
тата выполнения таких инструкций как
CREATE, ALTER, DROP, GRANT и REVOKE.
2.5.2. С
ТРУКТУРА СИСТЕМНОГО КАТАЛОГА
Каждая таблица системного каталога содержит информацию об отдельном
структурном элементе базы данных. Входящие в состав системного каталога
таблицы описывают один из следующих пяти элементов:
– Таблицы. В каталоге описывается каждая таблица базы данных: указывается
ее имя, владелец, число содержащихся в ней столбцов, их размер и т. д.
– Столбцы. Каждый столбец базы данных полностью описан в каталоге. При
этом приводится имя столбца и таблицы, которой он принадлежит, тип данных
столбца, его размер, разрешены ли значения
NULL и т. д.
– Пользователи. Каждый зарегистрированный пользователь базы данных в
каталоге представлен своим именем, паролем в зашифрованном виде и другими
данными.
– Представления. В каталоге описываются и представления, содержащиеся в
базе данных. При этом указывается имя представления, имя владельца, запрос, яв-
ляющийся определением представления и т. д.
– Привилегии. В системном каталоге описывается каждый набор привилегий.
Это описание включает имена тех, кто предоставил привилегии, и тех, кому они