Введение в модель данных SQL
Пусть пользователь с текущим именем роли role1 от имени authID, равного текущему идентификатору пользователя userID, создает объект o, становится его владельцем и, тем самым, обладателем привилегии pr по отношению к этому объекту. Далее, от имени этого authID привилегия pr передается роли role1, а сама роль – роли role2. После этого роль role2 передается userID. Какая из перечисленных ситуаций сложется после выполнения операции?
REVOKE PR ON o FROM role1 CASCADE;
Пусть пользователь с текущим идентификатором пользователя userID1 от имени authID1, равного текущему имени роли role1, создает объект o, становится его владельцем и, тем самым, обладателем привилегии pr по отношению к этому объекту. Далее, от имени этого authID1 привилегия pr передается идентификатору пользователя userID1. Потом authID1 изменяется на userID1, и от его имени право на исполнение роли role1 передается роли с именем role2, являющемуся authID2 в некоторой сессии, текущим идентификатором пользователя которой является userID2. Наконец, от имени того же authID2 привилегия pr передается userID2. Что теперь произойдет, если от имени authID1 будет задана операция?
REVOKE PR ON o FROM userID2 CASCADE;
Пусть пользователь с текущим именем роли role от имени authID1, равного текущему идентификатору пользователя userID1, создает объект o, становится его владельцем и, тем самым, обладателем привилегии pr по отношению к этому объекту. Далее, от имени этого authID1 привилегия pr передается роли role, а сама роль – текущему идентификатору пользователя userID2. После этого от имени роли role привилегия pr передается userID2. Какая из перечисленных ситуаций сложется после выполнения операции?
REVOKE role FROM userID2 CASCADE;
Пусть имеются следующие два определения представлений:
CREATE VIEW RICH_DEPT AS SELECT * FROM EMP WHERE (SELECT AVG (E.EMP_SAL) FROM EMP E WHERE E.DEPT_NO = EMP.DEPT_NO) > (SELECT AVG (E.EMP_SAL) FROM EMP E WHERE E.PRO_NO = EMP.PRO_NO);
и
CREATE VIEW RICH_EMP AS SELECT * FROM RICH_DEPT WHERE EMP_SAL > (SELECT AVG (E.EMP_SAL + E.EMP_BONUS) FROM EMP E WHERE E.DEPT_NO = EMP.DEPT_NO);
При принятом в этих упражнениях примерном составе строк таблицы EMP после материализации этих представлений были бы получены следующие таблицы:
EMP_NO | DEPT_NO | PRO_NO | EMP_BDATE | EMP_SAL | EMP_BONUS |
---|---|---|---|---|---|
2442 | 1 | 208 | 1960 | 14000.00 | NULL |
2444 | 2 | 177 | 1970 | 17000.00 | 16000.00 |
2445 | 2 | 208 | 1950 | 16000.00 | 15000.00 |
2447 | 2 | 177 | 1960 | 20000.00 | NULL |
2448 | 3 | 101 | 1955 | 18000.00 | 17000.00 |
2450 | 3 | 234 | 1960 | 22000.00 | 20000.00 |
2451 | 3 | 155 | 1960 | 22000.00 | 20000.00 |
EMP_NO | DEPT_NO | PRO_NO | EMP_BDATE | EMP_SAL | EMP_BONUS |
---|---|---|---|---|---|
2447 | 2 | 177 | 1960 | 20000.00 | NULL |
2450 | 3 | 234 | 1960 | 22000.00 | 20000.00 |
2451 | 3 | 155 | 1960 | 22000.00 | 20000.00 |
Пусть над представлением RICH_EMP выполняется операция
UPDATE RICH_EMP SET EMP_SAL = EMP_SAL - 10000.00
Какие из приведенных ниже таблиц соответствуют материализованным представлениям RICH_DEPT и RICH_EMP после выполнения этой операции?
Пусть имеются следующие два определения представлений:
CREATE VIEW LA_EMP AS SELECT * FROM EMP WHERE EMP_SAL < (SELECT AVG (E.EMP_SAL) FROM EMP E WHERE E.DEPT_NO = EMP.DEPT_NO);
и
CREATE VIEW LA_LA_EMP AS SELECT * FROM LA_EMP WHERE EMP_SAL < (SELECT AVG (E.EMP_SAL) FROM LA_EMP E WHERE E.DEPT_NO = LA_EMP.DEPT_NO);
При принятом в этих упражнениях примерном составе строк таблицы EMP после материализации этих представлений были бы получены следующие таблицы:
EMP_NO | DEPT_NO | PRO_NO | EMP_BDATE | EMP_SAL | EMP_BONUS |
---|---|---|---|---|---|
2440 | 1 | 177 | 1950 | 15000.00 | 13000.00 |
2442 | 1 | 208 | 1960 | 14000.00 | NULL |
2452 | 1 | 155 | NULL | 15000.00 | 14000.00 |
2444 | 2 | 177 | 1970 | 17000.00 | 16000.00 |
2445 | 2 | 208 | 1950 | 16000.00 | 15000.00 |
2446 | 2 | 155 | 1970 | 17000.00 | 16000.00 |
2448 | 3 | 101 | 1955 | 18000.00 | 17000.00 |
2449 | 3 | NULL | 1950 | 18000.00 | 17000.00 |
EMP_NO | DEPT_NO | PRO_NO | EMP_BDATE | EMP_SAL | EMP_BONUS |
---|---|---|---|---|---|
2442 | 1 | 208 | 1960 | 14000.00 | NULL |
2445 | 2 | 208 | 1950 | 16000.00 | 15000.00 |
Пусть над представлением LA_LA_EMP выполняется операция
UPDATE LA_LA_EMP SET EMP_SAL = EMP_SAL + 10000.00
Какие из приведенных ниже таблиц соответствуют материализованным представлениям LA_LA_EMP и LA_EMP после выполнения этой операции?