COLUMN
ОПИСАНИЕ
username
ПОЛЬЗОВАТЕЛЬ, который имеет привилегии
grantor
ПОЛЬЗОВАТЕЛЬ, который предоставляет привилегии другому пользователю
сname
Им столбца, в котором существуют привилегии
owner
Владелец tname
updauth
Имеет ли ПОЛЬЗОВАТЕЛЬ привилегию UPDATE в этом столбце
refauth
Имеет ли ПОЛЬЗОВАТЕЛЬ привилегию REFERENCES в этом столбце
Столбцы updauth и refauth могут быть в состоянии Y, N, или G; но не могут быть одновременно в состоянии N для одной и той же строки. Это — первые пять столбцов таблицы, которые не составляют первичный ключ. Он отличается от первичного ключа SYSTEMTABAUTH, в котором содержится поле cname, указывающее на определенный столбец обсуждаемой таблицы для которой применяются одна или обе привилегии. Отдельна строка в этой таблице может существовать для каждого столбца в любой данной таблицы, в которой одному пользователю передаются привилегии определенного столбца с помощью другого ползователя. Как и в случае с SYSTEMTABAUTH та же привилегия может быть описана в более чем одной строке этой таблицы, если она была передана более чем од- ним пользователем.
ТИПОВОЙ ЗАПРОС Чтобы выяснить, в каких столбцах какой таблицы вы имеете привилегию REFERENCES, вы можете ввести следующий запрос ( вывод показывается в Рисунке 24.7 )
SELECT owner, tname, cname FROM SYSTEMCOLAUTH WHERE refauth IN (‘Y’, ‘G’) AND username = USER ORDER BY 1, 2;
который показывает, что эти две таблицы, которые имеют различных владельцев, но одинаковые им, в действительности, совершенно разные таблицы ( т.е. это не как два синонима для одной таблицы ).
SQL Execution Log
SELECT OWNER, TNAME, CNAME
FROM SYSTEMCOLAUTH WHERE refaulth IN (‘Y’ , ‘G’ )
AND username = USER ORDER BY 1, 2 ;
owner
tname
cname
Diane
Customers
cnum
Diane
Salespeople
sname
Diane
Salespeople
sname
Gillan
Customers
cnum
Рисунок 24. 7: Столбцы в ПОЛЬЗОВАТЕЛЬ имеет привилегию INSERT
‹ SYSTEMTABAUTH — привилегии объекта которые не определяют столбцы
Вверх
SYSTEMSYNONS — синонимы для таблиц в базе данных ›