Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Стандартные привилегии

SQL привилегии определенные ANSI - это привилегии объекта. Это означает что ПОЛЬЗОВАТЕЛЬ имеет привилегию, чтобы выполнить данную команду только на определенном объекте в базе данных. Очевидно, что привилегии должны различать эти объекты, но система привилегии, основанная исключительно на привилегиях объекта не может адресовать все, что нужно SQL, как мы увидим это позже в этой главе. Привилегии объекта связаны одновременно и с пользователями и с таблицами. То есть, привилегия дается определенному пользователю в указанной таблице, или базовой таблице или представлении. Вы должны помнить, что ПОЛЬЗОВАТЕЛЬ, создавший таблицу (любого вида), является владельцем этой таблицы.

Это означает, что ПОЛЬЗОВАТЕЛЬ имеет все привилегии в этой таблице и может передавать привилегии другим пользователям в этой таблице. Привилегии которые можно назначить пользователю:

SELECT ПОЛЬЗОВАТЕЛЬ с этой привилегией может выполнять запросы в таблице.

INSERT ПОЛЬЗОВАТЕЛЬ с этой привилегией может выполнять команду INSERT в таблице.

UPDATE ПОЛЬЗОВАТЕЛЬ с этой привилегией может выполнять команду UPDATE на таблице. Вы можете ограничить эту привилегию для определенных столбцов таблицы.

DELETE ПОЛЬЗОВАТЕЛЬ с этой привилегией может выполнять команду DELETE в таблице.

REFERENCES ПОЛЬЗОВАТЕЛЬ с этой привилегией может определить внешний ключ, который использует один или более столбцов этой таблицы, как родительский ключ. Вы можете ограничить эту привилегию для определенных столбцов. ( Смотрите Главу 19 для подробностей относительно внешнего ключа и родительского ключа. )

Кроме того, вы столкнетесь с нестандартными привилегиями объекта, такими например как INDEX (ИНДЕКС), дающим право создавать индекс в таблице, SYNONYM (СИНОНИМ), дающим право создавать синоним для объекта, который будет объяснен в Главе 23 , и ALTER (ИЗМЕНИТЬ), дающим право выполнять команду ALTER TABLE в таблице. Механизм SQL назначает пользователям эти привилегии с помощью команды GRANT.