Базы данных. Учебное пособие


         

что в  представлении  данных  создается 


Рассмотрим  пример,  в  котором  используется  таблица  «Проект»,  имеющая  следующую  схему:  ПРОЕКТ (№,  ФАМИЛИЯ, АДРЕС, ПОЧТОВАЯ  ОПЛАТА, ОТДЕЛ).  Например,  пользователю  может  быть,  разрешено  смотреть  только  среднюю  почасовую  оплату  из  таблицы.  Такое  ограничение  поддерживается  следующим  представлением  данных:

    

CREATE   VIEW AVG  (№,  ФАМИЛИЯ,  СР._ОПЛ., OТДЕЛ)

AS  SELECT №,ФАМИЛИЯ,AVG (ПОЧ._ ОПЛ),ОТДЕЛ  

FROM   ПРОЕКТ  GROUP BY OТДЕЛ

Обратите  внимание,  что в  представлении  данных  создается  атрибут  (СР._ОПЛ),  которого  не  существовало  в  базовой  таблице  «Проект».  Его  значения  вычисляются  командой  SELECT - берется  среднее  значение  атрибута  ПОЧТОВАЯ  ОПЛАТА  для  каждого  отдела.

Хотя  применение  представлений  данных  может  быть  эффективным  средством  защиты,  система  должна  уметь  приспосабливаться  к   изменяющимся  со  временем  требованиям.  В  SQL  такую  возможность  дают  команды  GRANT  и  REVOKE.  Приведем примеры:

GRANT  SELECT  ON  TABLE  C  TO  Иванов,  Петров

Команда  означает,  что  Иванову  и  Петрову  предоставлено  право  применять  любые  операции  SELECT  к  таблице «C».

GRANT  SELECT,  UPDATE (ОТДЕЛ)  ON  TABLE  C  TO  Петров

Это  означает,  что  Петров  имеет  право  применять  любые  операции  SELECT  к  таблице «C»,  а  также  обновлять  значения  атрибутов  ОТДЕЛ.

REVOKE   SELECT  ON  TABLE  C  FROM  Иванов

Эта  команда  означает,  что  Иванов  больше  не  имеет  права  выполнять  операции  SELECT  над  таблицей «С».

Список  привилегий,  которые  относятся  к  таблицам: 

SELECT  (выбор)

UPDATE  (обновление)

DELETE  (удаление)

INSERT  (ввод)

Опция  GRANT  может  распространяться   на  других  пользователей.  Например,  если  Иванов  имеет  право  передать  привилегию  А  Петрову,  то  Петров  имеет  право  передать  привилегию  А  другому   пользователю, Васильеву  и т.д. 

Иванов:

GRANT  SELECT  ON  TABLE  C  TO  Петров  WITH  GRANT  OPTION

 

Петров:

GRANT  SELECT ON  TABLE  C  TO Васильев WITH GRANT  OPTION

До  тех  пор  пока  пользователь  получает  GRANT  OPTION,  он  может  передавать  ту  же привилегию  другим  пользователям.

Если  Иванов  позже  хочет  отозвать GRANT  OPTION,  то  он  может  сделать  так: 

REVOKE  SELECT  ON  TABLE  C  FROM   Петров

Такой  отзыв  будет  применен  как  к  Петрову, так и  ко  всем,  кому  он  передал  привилегию,  и  т.д.


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий