Существуют привилегии двух типов:
-системные привилегии (system privileges), контролирующие общий доступ к базе данных;
-объектные привилегии (object privileges), контролирующие доступ к конкретным объектам базы данных.
Для управления привилегиями определены следующие правила:
-объект принадлежит пользователю, его создавшему (если синтаксисом не указано создание объекта -другого пользователя, конечно, при соответствующих полномочиях);
-владелец объекта, согласно стандарту, может изменять привилегии своего объекта (в коммерческих СУБД, таких как Oracle, уровни полномочий представляют собой более сложную иерархию);
-объектная привилегия всегда соотносится с конкретным объектом, а системная - с объектами вообще.
Язык SQL поддерживает следующие привилегии:
ALTER - позволяет выполнять оператор ALTER TABLE;
SELECT - позволяет выполнять оператор запроса;
INSERT - позволяет выполнять добавление строк в таблицу;
UPDATE - позволяет изменять значения во всей таблице или только в некоторых столбцах;
DELETE - позволяет удалять строки из таблицы;
REFERENCES - позволяет устанавливать внешний ключ с использованием в качестве родительского ключа любых столбцов таблицы или только некоторых из них;
INDEX - позволяет создавать индексы (не входит в стандарт SQL-92);
DROP - позволяет удалять таблицу из схемы базы данных.