9.1.
a) GRANT SELECT ON TABLE СТАТУС ТО ФОРД;
6) GRANT INSERT, DELETE ON TABLE СТАТУС ТО СМИТ;
в) CREATE VIEW МОЯ_ЗАПИСЬ
AS SELECT *
FROM СТАТУС
WHERE ИД_ПОЛЬЗОВАТЕЛЯ = USER;
GRANT SELECT ON TABLE МОЯ_ЗАПИСЬ ТО PUBLIC;
г) GRANT SELECT, UPDATE (ЗАРПЛАТА, НАЛОГ)
ON TABLE СТАТУС ТО НЭШ;
д) CREATE VIEW ИЗН
AS SELECT ИД_ПОЛЬЗОВАТЕЛЯ, ЗАРПЛАТА, НАЛОГ
FROM СТАТУС;
GRANT SELECT ON TABLE ИЗН ТО ТОДД;
е) CREATE VIEW ИЗН
AS SELECT ИД_ПОЛЬЗОВАТЕЛЯ, ЗАРПЛАТА, НАЛОГ
FROM СТАТУС;
GRANT SELECT, UPDATE (ЗАРПЛАТА, НАЛОГ ON TABLE
ИЗН ТО УОРД;
ж) CREATE VIEW ПРОПОВЕДНИКИ
AS SELECT *
FROM СТАТУС
WHERE ПРОФЕССИЯ = 'Проповедник';
GRANT ALL PRIVILEGES ON TABLE ПРОПОВЕДНИКИ ТО ПОП;
Заметим, что спецификация ALL PRIVILEGES (все привилегии) на таблицу обычно включает привилегии ALTER (изменить) и INDEX (индекс), но эти операции не применяются к представлениям.
з) CREATE VIEW ИЗН
AS SELECT ИД_ПОЛЬЗОВАТЕЛЯ, ЗАРПЛАТА, НАЛОГ
FROM СТАТУС;
CREATE VIEW ИНК
AS SELECT ИД_ПОЛЬЗОВАТЕЛЯ, НАЛОГ,
КОНТРОЛЬНЫЙ_КОД
FROM СТАТУС;
GRANT SELECT ON TABLE ИЗН TO ДЖОУНЗ;
GRANT UPDATE (НАЛОГ, КОНТРОЛЬНЫЙ_КОД) ON TABLEИНК ТО ДЖОУНЗ;
и) CREATE VIEW ГРАНИЦЫ_ЗАРПЛАТЫ (ПРОФЕССИЯ,
МАКС_ЗАРПЛАТА, МИН_ЗАРПЛАТА)
AS SELECT ПРОФЕССИЯ, MAX (ЗАРПЛАТА), MIN
(ЗАРПЛАТА)
FROM СТАТУС
GROUP BY ПРОФЕССИЯ;
GRANT SELECT ON ГРАНИЦЫ_ЗАРПЛАТЫ ТО КИНГ;
к) GRANT SYSADM TO КЛАРК;
Уничтожение таблицы не является привилегией, предоставляемой в явном виде. Таблица может быть уничтожена только ее создателем или кем-либо, обладающим привилегией SYSADM либо привилегией DBADM на базу данных, содержащую эту таблицу.
9.2.
a) REVOKE SELECT ON TABLE СТАТУС FROM ФОРД;
6) REVOKE INSERT, DELETE ON TABLE СТАТУС FROM СМИТ;
в) REVOKE SELECT ON TABLE МОЯ_ЗАПИСЬ FROM PUBLIC;
Или, может быть, просто:
DROP VIEW МОЯ_ЗАПИСЬ;
В упражнениях г)—к) ниже вообще игнорируется возможность простого уничтожения представления, если она применима.
г) REVOKE SELECT, UPDATE ON TABLE СТАТУС FROM НЭШ;
д) REVOKE SELECT ON TABLE ИЗН FROM ТОДД;
e) REVOKE SELECT, UPDATE ON TABLE ИЗН FROM УОРД;
ж) REVOKE ALL PRIVILEGES ON ПРОПОВЕДНИКИ FROM ПОП;
з) REVOKE SELECT ON TABLE ИЗН FROM ДЖОУНЗ;
REVOKE UPDATE ON TABLE ИНК FROM ДЖОУНЗ;
и) REVOKE SELECT ON TABLE ГРАНИЦЫ—ЗАРПЛАТЫ FROM КИНГ;
к) REVOKE SYSADM FROM КЛАРК;
9.3. Все пользователи, за исключением U4 и U6, т.e. пользователи Ul, U2, U3, U5, U7, U8, все еще обладают привилегией р.
ГЛАВА 10
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ I:
ВСТРОЕННЫЙ ЯЗЫК SQL