Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


Download 1.45 Mb.
bet130/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   126   127   128   129   130   131   132   133   ...   172
Bog'liq
Грубер. Понимание SQL

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


Как вы можете видеть, каждая строка описывает свою таблицу. Первый столбец — имя; второй — имя пользователя который владеет ею; третий — число столбцов которые содержит таблица; и четвертый — код из одного символа, это или B (для базовой таблицы) или V (для представления). Последний столбец имеет пустые (NULL) значения, если его тип не равен V; и этот столбец указывает, определена или нет возможность проверки.
Обратите внимание, что SYSTEMCATALOG (СИСТЕМНЫЙ КАТАЛОГ) представлен как одна из таблиц в вышеуказаном списке. Для простоты, мы исключили остальные каталоги системы из вывода. Таблицы системного каталога обычно показываются в SYSTEMCATALOG.
ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ В ТАБЛИЦАХ КАТАЛОГА
Поскольку SYSTEMCATALOG — это таблица, вы можете использовать ее в представлении. Фактически можно считать, что имеется такое представление с именем SYSTEMTABLES.
Это представление SYSTEMCATALOG содержит только те таблицы, которые входят в системный каталог; это обычно таблицы базы данных, типа таблицы Продавцов, которые показаны в SYSTEMCATALOG, но не в SYSTEMTABLES.
Давайте предположим, что только таблицы каталога являются собственностью пользователя SYSTEM. Если вы захотите, вы можете определить другое представление, которое бы специально исключало таблицы каталога из вывода:

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   126   127   128   129   130   131   132   133   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling