Системный каталог

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

Назначение системного каталога

Таблицы системного каталога создаются автоматически при создании базы данных и сопровождаются самой СУБД в ходе ведения базы данных.

При обработке инструкций SQL СУБД постоянно обращается к данным системного каталога. Например, чтобы обработать двухтабличную инструкцию SELECT, СУБД должна:

– проверить, существуют ли указанные в запросе таблицы;

– убедиться, что пользователь имеет разрешение на доступ к ним;

– проверить, существуют ли столбцы, на которые имеются ссылки в данном запросе;

– установить к каким таблицам относятся имена столбцов;

– определить типы данных каждого столбца.

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

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

Изменения в системных таблицах происходят в качестве побочного результата выполнения таких инструкций как CREATE, ALTER, DROP, GRANT и REVOKE.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: