Введение в язык SQL запросов к базам данных. Баканов В.М. - 46 стр.

UptoLike

Составители: 

- 46 -
изменение, уничтожение данных). Для регулирования доступа к данным
для других пользователей служит инструкция GRANT.
Команда GRANT состоит из трех базовых клауз:
GRANT привилегия
ON таблица или вид
ТО пользователь или группа пользователей;
Предположим, что текущий пользователь является создателем таблицы
ЕМР и желает дать пользователю по имени ADAMS право на запросы к ней.
Для этого следует задать команду:
GRANT SELECT
ON EMP
TO ADAMS;
Возможно гарантировать любую комбинацию привилегий функциони-
рования в таблицах или видах, включая:
Привилегии для таблиц Привилегии для видов
SELECT
выбрать
SELECT
выбрать
INSERT
ввести
INSERT
ввести
UPDATE
обновить
UPDATE
обновить
DELETE
удалить
DELETE
удалить
ALTER
изменить
INDEX
индексировать
CLUSTER
кластер
В предыдущем примере пользователю ADAMS гарантированы при-
вилегии на выборку из всей таблицы EMP. Но что будет, если необходимо
обеспечить всем пользователям доступ ко всей таблице, за исключением ко-
лонок SAL и СОММ?
Вопрос может быть решен путем гарантирования привилегий к видам, а
не таблицам. Можно ограничить доступ к заданным
строкам и колонкам таб-
лицы. Сначала определим вид EMP, который не содержит колонки SAL и
СОММ:
CREATE VIEW EMPS AS
SELECT EMPNO,ENAME,JOB,HIREDATE,DEPTNO
FROM EMP;
Теперь легко гарантировать привилегии на доступ к виду EMPS для всех
пользователей при помощи ключевого слова PUBLIC:
                                     - 46 -


изменение, уничтожение данных). Для регулирования доступа    к     данным
для других пользователей служит инструкция GRANT.
    Команда GRANT состоит из трех базовых клауз:

  GRANT привилегия
  ON таблица или вид
  ТО пользователь или группа пользователей;

    Предположим, что текущий пользователь является создателем таблицы
ЕМР и желает дать пользователю по имени ADAMS право на запросы к ней.
Для этого следует задать команду:

  GRANT SELECT
  ON EMP
  TO ADAMS;

    Возможно гарантировать любую комбинацию привилегий функциони-
рования в таблицах или видах, включая:

     Привилегии для таблиц                  Привилегии для видов
SELECT          выбрать               SELECT          выбрать
INSERT          ввести                INSERT          ввести
UPDATE          обновить              UPDATE          обновить
DELETE          удалить               DELETE          удалить
ALTER           изменить
INDEX           индексировать
CLUSTER         кластер

     В предыдущем примере пользователю ADAMS гарантированы при-
вилегии на выборку из всей таблицы EMP. Но что будет, если необходимо
обеспечить всем пользователям доступ ко всей таблице, за исключением ко-
лонок SAL и СОММ?
     Вопрос может быть решен путем гарантирования привилегий к видам, а
не таблицам. Можно ограничить доступ к заданным строкам и колонкам таб-
лицы. Сначала определим вид EMP, который не содержит колонки SAL и
СОММ:

  CREATE VIEW EMPS AS
  SELECT EMPNO,ENAME,JOB,HIREDATE,DEPTNO
  FROM EMP;

    Теперь легко гарантировать привилегии на доступ к виду EMPS для всех
пользователей при помощи ключевого слова PUBLIC: