СТАНДАРТНЫЕ ПРИВИЛЕГИИ SQL
привилегии определенные ANSI - это привелегии объекта. Это озна- чает что пользователь имеет
привилегию чтобы выполнить данную команду только на определенном объекте в базе данных.
Очевидно, что привилегии
должны различать эти объекты, но система привилегии основанная исключительно на привилегиях
объекта не может
адресовывать все что нужно SQL, как мы увидем это позже в этой главе. Привилегии объекта
связаны одновременно и с
пользователями и с таблицами. То есть, привилегия дается определенному пользователю в
указаной таблице, или базовой
таблице или представлении. Вы должны помнить, что пользователь создавший таблицу (любого вида),
является
владельцем этой таблицы. Это означает, что пользователь имеет все привилегии в этой таблице и
может передавать
привелегии другим пользователям в этой таблице. Привилегии которые можно назначить
пользователю:
SELECT
Пользователь с этой привилегией может выполнять запросы в таблице.
INSERT Пользователь с этой
привилегией может
выполнять команду INSERT в таблице.
UPDATE Пользователь с этой привилегией может выполнять
команду UPDATE на
таблице. Вы можете ограничить эту привилегию для определенных столбцов таблицы.
DELETE Пользователь с этой
привилегией может выполнять команду DELETE в таблице.
REFERENCES Пользователь с этой привилегией может
определить внешний ключ, который использует один или более столбцов этой таблицы, как
родительский ключ. Вы можете
ограничить эту привилегию для определенных столбцов.
Кроме того, вы столкнетесь с нестандартными привилегиями объекта, такими например как
INDEX (ИНДЕКС) дающим право создавать индекс в таблице,
SYNONYM (СИНОНИМ) дающим право создавать синоним
для объекта, который будет объяснен познее, и
ALTER (ИЗМЕНИТЬ) дающим право выполнять команду ALTER TABLE
в таблице. Механизм SQL назначает пользователям эти привилегии с помощью команды GRANT.