Упражнения

В следующих упражнениях используется базовая таблица СТАТУС, определенная следующим образом

CREATE TABLE СТАТУС

(ИД_ПОЛЬЗОВАТЕЛЯ CHAR(8),

ПОЛ CHAR(1),

ЧИСЛО_ИЖДИВЕНЦЕВ DECIMAL(2),

ПРОФЕССИЯ CHAR(20),

ЗАРПЛАТА DECIMAL(7),

НАЛОГ DECIMAL(7),

КОНТРОЛЬНЫЙ_КОД DECIMAL(2));

9.1. Запишите предложения SQL, которые представляют:

а) привилегию SELECT на всю таблицу пользователю Форду;

б) привилегию INSERT и DELETE на всю таблицу пользователю Смиту;

в) привилегию SELECT каждому пользователю только на собственную запись этого пользователя;

г) привилегию SELECT на всю таблицу и привилегию UPDATE только на поля ЗАРПЛАТА и НАЛОГ пользователю Нашу;

д) привилегию SELECT только на поля ИД_ПОЛЬЗОВАТЕЛЯ, ЗАРПЛАТА и НАЛОГ пользователю Тодду;

е) привилегию SELECT, как для Тодда, и привилегию UPDATE только на поля ЗАРПЛАТА и НАЛОГ пользователю Уорду;

ж) полные привилегии (SELECT, UPDATE, INSERT, DELETE) только на записи проповедников пользователю Попу;

з) привилегию SELECT, как для Тодда, и привилегию UPDATE только на поля НАЛОГ и КОНТРОЛЬНЫЙ_КОД пользователю Джоунзу;

и) привилегию SELECT на максимальную и минимальную зарплату по классам профессий, но никаких других привилегий, пользователю Кингу;

к) привилегию DROP на данную таблицу пользователю Кларку.

9.2. Для каждого из упражнений 9.1 а)—к) запишите предложения языка SQL, которые отменяют указанные привилегии для заданных пользователей.

9.3. Пусть р предоставляет некоторую привилегию, a Ul, U2,..., U8—множество идентификаторов санкционирования. Пусть также Ul и U5 первоначально являются единственными обладателями привилегии р. Предположим далее, что Ul и U5 обладают возможностью GRANT для р. Рассмотрим следующую последовательность событий, предполагая, что все перечисленные предложения GRANT включают спецификацию WITH GRANT OPTION:

Пользователь U1 в момент t1: GRANT р ТО U2

Пользователь U1 в момент t2: GRANT р ТО U3

Пользователь U1 в момент t3: GRANT р ТО U4

Пользователь U2 в момент t4: GRANT р ТО U6

Пользователь U5 в момент t5: GRANT р ТО U2

Пользователь U5 в момент t6: GRANT р ТО U3

Пользователь U5 в момент t7: GRANT р ТО U6

Пользователь U4 в момент t8: GRANT p TO U7

Пользователь U1 в момент t9: REVOKE p FROM U2

Пользователь U1 в момент t10: REVOKE p FROM U4

Пользователь U3 в момент t11: GRANT p TO U1

Пользователь U1 в момент t12: REVOKE p FROM U3

Пользователь U3 в момент t13: GRANT p TO U7

Пользователь U5 в момент t14: REVOKE p FROM U6

Пользователь U1 в момент t15: GRANT p TO U5

Пользователь U5 в момент t16: GRANT p TO U8

Пользователь U8 в момент t17: GRANT p TO U5

Пользователь U1 в момент t18: GRANT p TO U8

Пользователь U5 в момент t19: REVOKE p FROM U8

Пользователь U1 в момент t20: GRANT p TO U3

Кто в конце этой последовательности все еще обладает привилегией р?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: