| Каталог | Индекс раздела |
| Назад | Оглавление | Вперед |
Каждая СУБД сохраняет метаданные (данные о данных) - детальную информацию обо всех объектах системы. Примерами таких объектов могут служить таблицы, представления, ограничения целостности, триггеры, правила безопасности и т.д. В разных СУБД применяются даже разные названия для метаданных - системный каталог в DB2 или словарь данных в Oracle. Однако общим свойством всех современных реляционных СУБД является то, что каталог/словарь сам состоит из таблиц. В результате пользователь может обращаться к метаданным так же, как и к прикладным данным, используя оператор SQL SELECT. Изменения же в каталоге/словаре производятся автоматически при выполнении пользователем операторов SQL, изменяющих состояние объектов базы данных. Точнее, пользователь "видит" не сами таблицы каталога/словаря, а созданные на их базе представления, которые он, конечно же, не может изменять.
Состав и структура каталога или словаря очень различны для различных СУБД.
В Oracle представления словаря данных в большинстве своем доступны любому пользователю с привилегией CREATE SESSION. Существуют три группы представлений системного каталога:
DBA_ содержат информацию обо всех объектах базы данных (эти представления доступны только пользователям с привилегией SELECT_ANY_TABLE);
ALL_ содержат информацию обо всех объектах, доступных данному пользователю;
USER_ содержат информацию обо всех объектах, владельцем которых является данный пользователь.
В DB2 представления системного каталога определены в схеме SYSCAT и привилегия выборки из них предоставлена группе PUBLIC.
Несмотря на различия, мы попытались свести некоторые общие свойства представлений метаданных в представленную ниже таблицу. Мы не претендуем на полноту, а пытаемся только показать читателю, что можно найти в метаданных. Полную информация о системном каталоге DB2 и о словаре данных Oracle можно найти в [6, 9]. Для Oracle мы ограничились только представлениями группы ALL_. Для DB2 мы опускаем имя схемы - SYSCAT.
Общие метаданные для Oracle и DB2
| Название представления | Назначение | Содержимое | |
| Oracle | DB2 | ||
ALL_TABLES |
TABLES |
таблицы |
|
ALL_VIEWS |
VIEWS |
представления |
|
ALL_TAB_COLUMNS |
COLUMNS |
столбцы всех таблиц и представлений |
|
ALL_
CONSTRAINTS |
TABCONST |
табличные ограничения целостности |
| CHECKS |
ограничения целостности CHECK |
|
REFERENCES |
ссылочные ограничения целостности |
|
ALL_TRIGGERS |
TRIGGERS |
триггеры |
|
Поскольку в двух СУБД наших концепции управления доступом различаются принципиально, свести воедино информацию о доступе из системного каталога DB2 и словаря данных Oracle не представляется возможным. Поэтому некоторые сведения о метаданных управления доступом даны в двух следующих таблицах. Обратите внимание на то, что в DB2 информация о пользователях и группах пользователей не отражается в метаданных.
Метаданные управления доступом - словарь данных Oracle
| Название представления | Назначение | Содержимое |
DBA_USERS |
пользователи |
|
DBA_ROLES |
роли |
|
SYSTEM_PRIVILEGE_MAP |
системные привилегии |
|
TABLE_PRIVILEGE_MAP |
табличные привилегии |
|
ROLE_SYS_PRIVS |
системные привилегии ролей |
|
ROLE_SYS_PRIVS |
табличные привилегии ролей |
|
ROLE_ROLE_PRIVS |
роли, приданные ролям |
|
DBA_ROLE_PRIVS |
назначение ролей пользователям или другим ролям |
|
DBA_SYS_PRIVS |
назначение системных привилегий пользователям или ролям |
|
DBA_TAB_PRIVS |
назначение табличных привилегий пользователям или ролям |
|
ALL_TAB_PRIVS |
привилегии для таблиц, предоставляемые другим пользователям или PUBLIC |
|
Метаданные управления доступом - системный каталог DB2
| Название представления | Назначение | Содержимое |
DBAUTH |
привилегии базы данных |
|
SCHEMAAUTH |
привилегии схемы |
|
TABAUTH |
привилегий таблиц и представлений |
|
COLAUTH |
привилегии для столбцов таблиц и представлений |
|
| Назад | Оглавление | Вперед |
| Каталог | Индекс раздела |