Понимание SQL
Шрифт:
SELECT tname, remarks
FROM SYSTEMCATALOG
WHERE tname='Orders'
AND owner='Chris';
Вывод для этого запроса показывается в Таблица 24.2.
SYSTEMCOLUMNS работает точно так же. Сначала, мы создаем комментарий
COMMENT ON COLUMN Orders.onum
IS 'Order #';
затем выбираем эту строку из SYSTEMCOLUMNS:
SELECT cnumber, datatype, cname, remarks
FROM SYSTEMCOLUMNS
WHERE tname='Orders'
AND tabowner='Chris'
AND cname=onum;
Вывод для этого запроса показывается в Таблице 24.3.
Чтобы изменить комментарий, вы можете просто
COMMENT ON COLUMN Orders.onum
IS ";
и этот пустой комментарий затрет предыдущий.
SELECT tname, remarks FROM SYSTEMCATALOG
WHERE tname='Orders' AND owner='Chris'
tname | remarks |
Orders | Current Customers Orders |
Таблица 24.2: Коментарий в SYSTEMCATALOG
SELECT cnumber, datatype, cname, remarks
FROM SYSTEMCOLUMNS WHERE tname='Orders' AND tabowner='Chris'
AND cname='onum'
cnumber | datatype | cname | remarks |
1 | integer | onum | Orders # |
Таблица 24.3: Коментарий в SYSTEMCOLUMNS
Здесь показаны оставшиеся из ващих системных таблиц определения, с типовым запросом для каждого:
SYSTEMINDEXES - ИНДЕКСАЦИЯ В БАЗЕ ДАННЫХ
Имена столбцов в таблице SYSTEMINDEXES и их описания - следующие:
СТОЛБЦЫ | ОПИСАНИЕ |
iname | Имя индекса (используемого для его исключения ) |
iowner | Имя пользователя который создал индекс |
tname | Имя таблицы которая содержит индекс |
cnumber | Номер столбца в таблице |
tabowner | Пользователь который владеет таблицей содержащей индекс |
numcolumns | Число столбцов в индексе |
cposition | Позиция текущего столбца среди набора индексов |
isunique | Уникален ли индекс (Y или N ) |
Индекс считается неуникальным, если он вызывает продавца, в snum столбце таблицы Заказчиков:
SELECT iname, iowner, tname, cnumber, isunique
FROM SYSTEMINDEXES
WHERE iname='salesperson';
Вывод для этого запроса показывается в Таблице 24.4.
SELECT iname, iowner, tname, cnumber, isunique
FROM SYSTEMINDEXES WHERE iname='salespeople';
iname | iowner | tname | cnumber | isunique |
salesperson | Stephan | Customers | 5 | N |
Таблица 24.4: Строка из таблицы SYSTEMINDEXES
SYSTEMUSERAUTH - ПОЛЬЗОВАТЕЛЬСКИЕ И СИСТЕМНЫЕ ПРИВИЛЕГИИ В БАЗЕ ДАННЫХ
Имена столбцов для SYSTEMUSERAUTH и их описание, следующее:
Столбцы | Описание |
username | Идентификатор (ID ) доступа пользователя |
password | Пароль пользователя вводимый при регистрации |
resource | Где пользователь имеет права RESOURCE |
dba | Где пользователь имеет права DBA |
Мы будем использовать простую схему системных привилегий, которая представлена в Главе 22, где были представлены три системных привилегии - CONNECT( ПОДКЛЮЧИТЬ ), RESOURCE( РЕСУРСЫ ) и DBA. Все пользователи получают CONNECT по умолчанию при регистрации, поэтому он не описан в таблице выше. Возможные состояния столбцов resource и dba могут быть - Y (Да, пользователь имеет привилегии) или - No (Нет, пользователь не имеет привилегий).
Пароли (password) доступны только высоко привилегированным пользователям, если они существуют. Следовательно запрос этой таблицы можно вообще делать только для информации относительно привилегий системы и пользователей.
ТИПОВОЙ ЗАПРОС Чтобы найти всех пользователей которые имеют привилегию RESOURCE, и увидеть какие из них - DBA, вы можете ввести следующее условие:
SELECT username, dba
FROM SYSTEMUSERAUTH
WHERE resource='Y';
Вывод для этого запроса показывается в Таблице 24.5.
SYSTEMTABAUTH - ПРИВИЛЕГИИ ОБЪЕКТА ОТОРЫЕ НЕ ОПРЕДЕЛЯЮТ СТОЛБЦЫ
Здесь показаны имена столбцов в таблице SYSTEMTABAUTH и их описание:
COLUMN | ОПИСАНИЕ |