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

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

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

Что произойдет, если производится попытка передачи нескольких привилегий с передачей привилегии на передачу привилегий, но текущий authID обладает привилегией на передачу только части этих привилегий?

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

Варианты ответа
будет зафиксирована ошибка
будет выработано предупреждение, и соответствующая часть привилегий передастся с привилегией WITH GRANT OPTION(Верный ответ)
будет передана только возможная часть привилегий без привилегии WITH GRANT OPTION
Похожие вопросы
Отсутствие каких привилегий должно проверяться для гарантии того, что от имени текущего authID нельзя выполнить операцию SELECT * FROM T?
Какими минимальными привилегиями должен обладать текущий authID, чтобы от его имени можно было создать некоторое представление V и впоследствии передать ALL PRIVILEGES для V некоторому другому authID?

Пусть пользователь с текущим именем роли 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;
Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия PARTIAL. Будем считать, что все столбцы целого типа, и для них специфицированы значения по умолчанию 4, 44 и 444 соответственно. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s2 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Что произойдет при удалении строки t из таблицы T со значением первичного ключа <25, 1, 5>, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET DEFAULT и строки s1, s2 и s2 соответствуют исключительно строке t?
Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия SIMPLE. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s3 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Что произойдет при удалении строки из таблицы T со значением первичного ключа <25, 1, 5>, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET NULL?
Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия PARTIAL. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s3 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Пусть в таблице T присутствуют строки t1, t2 со значениями первичного ключа <25, 1, 5> и <25, 2, 5> соответственно. Что произойдет при удалении из таблицы T строки t1, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET NULL?

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

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 после выполнения этой операции?