СТОЛБЦЫ ОПИСАНИЕ ----------- ------------------------------------------- username Пользователь который имеет привилегии grantor Пользователь который предоставляет привилегии другому пользователю tname Им таблицы в которой существуют привилегии cname Им столбца в котором существуют привилегии 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;
который показывает, что эти две таблицы, которые имеют различных владельцев, но одинаковые им, в действительности, совершенно разные таблицы ( т.е. это не как два синонима для одной таблицы ).