Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Типичный системный каталог

Давайте рассмотрим некоторые таблицы которые мы могли бы найти в типовом каталоге системы:

Таблицы Содержание
SYSTEMCATALOG Таблицы (базовые и представления)
SYSTEMCOLUMNS Столбцы таблицы
SYSTEMTABLES Каталог Представления в SYSTEMCATALOG
SYSTEMINDEXES Индексы в таблице
SYSTEMUSERAUTH Пользователи базы данных
SYSTEMTABAUTH Объектные привилегии Пользователей
SYSTEMCOLAUTH Столбцовые привилегии Пользователей
SYSTEMSYNONS Синонимы для таблиц

Теперь, если наш DBA предоставит пользователю Stephen право просматривать SYSTEMCATALOG такой командой,

GRANT SELECT ON SYSTEMCATALOG TO Stephen;

то Stephen сможет увидеть некоторую информацию обо всех таблицах в базе данных ( мы имеем здесь пользователя DBA, пользователя Chris, владельца трех наших типовых таблиц, а также Adrian владельца представления Londoncust ).

SELECT tname, owner, numcolumns, type, CO FROM SYSTEMCATALOG;

SQL Execution Log
SELECT tname, owner, numcolumns, type, CO FROM SYSTEMCATALOG;
tname owner numcolumns type CO
SYSTEMCATALOG SYSTEM
4
B  
Salespeople Chris
4
B  
Customers Chris
5
B  
Londoncust Adrian
5
V Y
Orders Chris
5
B  

Рисунок 24.1: Содержание таблицы SYSTEMCATALOG

Как вы можете видеть, каждая строка описывает свою таблицу. Первый столбец - имz; второй - имz пользователя, который владеет ею; третий - число столбцов, которые содержит таблица; и четвертый - код из одного символа, это или B ( для базовой таблицы ) или V ( для представления ). Последний столбец имеет пустые(NULL) значения, если его тип не равен V; и этот столбец указывает, определена или нет возможность проверки. Обратите внимание что SYSTEMCATALOG(СИСТЕМНЫЙ КАТАЛОГ) представлен как одна из таблиц в вышесказанном списке. Для простоты, мы исключили остальные каталоги системы из вывода. Таблицы системного каталога обычно показываются в SYSTEMCATALOG.