КАТАЛОГ СИСТЕМЫ
Чтобы функционировать как SQL база данных, ваша
компьютерная система должна следить за многими различными вещями: таблицами, представлениями,
индексами,
синонимами, привилегиями, пользователями, и так далее. Имеются различные способы делать это,
но ясно, что наиболее
логичный, эффективный, и согласованный способ делать это в реляционной среде состоит в том,
чтобы сохранять эту
информацию в таблицах. Это дает возможность компьютеру размещать и управлять информацией в
которой он нуждается,
используя те же самые процедуры которые он использует чтобы размещать и управлять данными
которые он хранит для вас.
Хотя это - вопрос конкретной программы, а не часть стандарта ANSI, большинство SQL баз
данных, используют набор SQL
таблиц хранящих служебную информацию для своих внутренних потребностей. Этот набор называется
в различных
публикациях как - системный каталог, словарь данных, или просто системные таблицы
( Термин "словарь данных" может
также относится к общему архиву данных, включая информацию о физических параметрах базы
данных которые хранятся вне
SQL. Следовательно, имеются программы баз данных, которые имеют и системный каталог и словарь
данных. ) Таблицы
системного каталога - напоминают обычные SQL таблицы: те же строки и столбцы данных.
Например, одна таблица
каталога обычно содержит информацию о таблицах существующих в базе данных, по одной строке на
каждую таблицу базы
данных; другая содержит информацию о различных столбцах таблиц, по одной строке на столбец, и
так далее. Таблицы каталога создаются и присваиваются с помощью самой базы данных, и
идентифицируются с помощью специальных имен,
таких например как SYSTEM. База данных создает эти таблицы и модифицирует их автоматически;
таблицы каталога не
могут быть непосредственно подвергнуты действию команды модификации. Если это случится, это
значительно запутает
всю систему и сделает ее неработоспособной. Однако, в большинстве систем, каталог может быть
запрошен пользователем.
Это очень полезно, потому что это дает вам возможность узнать кое-что о базе данных, которую
вы используете. Конечно,
вся информация не всегда доступна всем пользователям. Подобно другим таблицам, доступ к
каталогу ограничен для
пользователей без соответствующих привилегий. Так как каталог принадлежит самой системе,
имеется некоторая неясность
относительно того, кто имеет привилегии и кто может предоставить привилегии в этом каталоге.
Обычно, привилегии
каталога предоставляет суперпользователь, например, администратор системы, зарегистрированый
как SYSTEM или DBA.
Кроме того, некоторые привилегии могут предоставляться пользователям автоматически.