База ответов ИНТУИТ

Введение в модель данных SQL

<<- Назад к вопросам

Пусть в некоторой транзакции выполняются операции

CREATE ROLE R1  WITH ADMIN CURRENT_ROLE;GRANT R1 TO R2 WITH ADMIN OPTION   GRANTED BY CURRENT_ROLE;

где R2 – имя некоторой существующей роли, и текущим именем роли сессии, в которой выполняется эта операция, является R. Пусть затем в некоторой другой транзакции, текущим именем роль которой является R2, выполняется операция

GRANT R1 TO R3 WITH ADMIN OPTION   GRANTED BY CURRENT_ROLE;

где R3 – имя некоторой существующей роли. При каких из перечисленных ниже условий будет успешно выполнена операция?

REVOKE R1 FROM R3;

(Отметьте один правильный вариант ответа.)

Варианты ответа
операция выполняется от имени authID, являющимся именем роли R или R2(Верный ответ)
именем текущей роли является R
именем текущей роли является R2
Похожие вопросы

Пусть в некоторой транзакции выполняются операции

CREATE ROLE R1  WITH ADMIN CURRENT_ROLE;GRANT R1 TO AUDIT WITH ADMIN OPTION   GRANTED BY CURRENT_ROLE;

и текущим именем роли сессии, в которой выполняется эта операция, является R. При каких из указанных ниже условий будет успешно выполнена операция?

DROP ROLE R1;

Пусть роль R1 создается путем выполнения операции

CREATE ROLE R1  WITH ADMIN CURRENT_ROLE;

и текущим именем роли сессии, в которой выполняется эта операция, является R. При каких из указанных ниже условий будет успешно выполнена операция?

GRANT R1 TO PUBLIC;

Пусть пользователь с текущим идентификатором пользователя 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;

Пусть пользователь с текущим именем роли role1 от имени authID, равного текущему идентификатору пользователя userID, создает объект o, становится его владельцем и, тем самым, обладателем привилегии pr по отношению к этому объекту. Далее, от имени этого authID привилегия pr передается роли role1, а сама роль – роли role2. После этого роль role2 передается userID. Какая из перечисленных ситуаций сложется после выполнения операции?

REVOKE PR ON o FROM role1 CASCADE;
Пусть V – это некоторое представление, допускающее операции обновления и определенное c разделом WITH LOCAL CHECK OPTION. Предположим, что представление V определено над некоторым представлением V1, которое определено без раздела WITH CHECK OPTION. В каких из перечисленных ситуаций система может отвергнуть какую-либо операцию обновления V?
Пусть V – это некоторое представление, допускающее операции обновления и определенное c разделом WITH GLOBAL CHECK OPTION. Предположим, что представление V определено над некоторым представлением V1, которое определено без раздела WITH CHECK OPTION. В каких из перечисленных ситуаций система не должна отвергать данную операцию обновления V?
Пусть в некоторой таблице определен столбец типа INTEGER ARRAY [10]. Пусть при вставке в эту таблицу некоторой строки в данный столбец заносится значение-массив, в котором задан только десятый элемент. Будет ли выполнена эта операция, какая память будет отведена для хранения этого массива, и что реально в ней будет содержаться?

Пусть имеются следующие два определения представлений:

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 после материализации этих представлений были бы получены следующие таблицы:

RICH_DEPT
EMP_NODEPT_NOPRO_NOEMP_BDATEEMP_SALEMP_BONUS
24421208196014000.00NULL
24442177197017000.0016000.00
24452208195016000.0015000.00
24472177196020000.00NULL
24483101195518000.0017000.00
24503234196022000.0020000.00
24513155196022000.0020000.00
RICH_EMP
EMP_NODEPT_NOPRO_NOEMP_BDATEEMP_SALEMP_BONUS
24472177196020000.00NULL
24503234196022000.0020000.00
24513155196022000.0020000.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 после материализации этих представлений были бы получены следующие таблицы:

LA_EMP
EMP_NODEPT_NOPRO_NOEMP_BDATEEMP_SALEMP_BONUS
24401177195015000.0013000.00
24421208196014000.00NULL
24521155NULL15000.0014000.00
24442177197017000.0016000.00
24452208195016000.0015000.00
24462155197017000.0016000.00
24483101195518000.0017000.00
24493NULL195018000.0017000.00
LA_LA_EMP
EMP_NODEPT_NOPRO_NOEMP_BDATEEMP_SALEMP_BONUS
24421208196014000.00NULL
24452208195016000.0015000.00

Пусть над представлением LA_LA_EMP выполняется операция

UPDATE LA_LA_EMP SET EMP_SAL = EMP_SAL + 10000.00

Какие из приведенных ниже таблиц соответствуют материализованным представлениям LA_LA_EMP и LA_EMP после выполнения этой операции?