игра брюс 2048
Главная / Базы данных / Введение в Oracle SQL / Тест 13

Введение в Oracle SQL - тест 13

Упражнение 1:
Номер 1
Команды SQL:INSERT INTO inventory (invid, invname) VALUES (12345670, 'Milk powder'); 
INSERT INTO inventory (invid, invname) VALUES (12345671, 'Milk cream'); 
SAVEPOINT   a;
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
SAVEPOINT   b;
UPDATE inventory SET invid = 12345679 WHERE invid = 12345670; 
UPDATE inventory SET invid = 12345670 WHERE invid = 12345671; 
UPDATE inventory SET invid = 12345677 WHERE invid = 12345670; 
COMMIT;
UPDATE  inventory SET invid = 12345676 WHERE invid = 12345672; 
ROLLBACK;
Значения, НЕ появлявшиеся в столбце INVID таблицы INVENTORY в процессе выполнения команд SQL:

Ответ:

 (1) 12345678 

 (2) 12345676 

 (3) 12345677 

 (4) 12345679 

 (5) 12345672 


Номер 2
Команды SQL:INSERT INTO inventory (invid, invname) VALUES (12345670, 'Milk powder'); 
INSERT INTO inventory (invid, invname) VALUES (12345671, 'Milk cream'); 
SAVEPOINT   a;
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
SAVEPOINT   b;
UPDATE inventory SET invid = 12345679 WHERE invid = 12345670; 
UPDATE inventory SET invid = 12345670 WHERE invid = 12345671; 
UPDATE inventory SET invid = 12345677 WHERE invid = 12345670; 
COMMIT;
UPDATE  inventory SET invid = 12345676 WHERE invid = 12345672; 
ROLLBACK;
Значения в столбце INVID таблицы INVENTORY после выполнения команд SQL:

Ответ:

 (1) 12345678 

 (2) 12345676 

 (3) 12345677 

 (4) 12345679 

 (5) 12345672 


Номер 3
Команды SQL:INSERT INTO inventory (invid, invname) VALUES (12345670, 'Milk powder'); 
INSERT INTO inventory (invid, invname) VALUES (12345671, 'Milk cream'); 
SAVEPOINT   a;
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
SAVEPOINT   b;
UPDATE inventory SET invid = 12345679 WHERE invid = 12345670; 
UPDATE inventory SET invid = 12345670 WHERE invid = 12345671; 
UPDATE inventory SET invid = 12345677 WHERE invid = 12345670; 
ROLLBACK TO SAVEPOINT b;
UPDATE  inventory SET invid = 12345676 WHERE invid = 12345672; 
COMMIT;
Значения в столбце INVID таблицы INVENTORY после выполнения команд SQL:

Ответ:

 (1) 12345670 

 (2) 12345672 

 (3) 12345677 

 (4) 12345671 

 (5) 12345676 


Упражнение 2:
Номер 1
Команды SQL, вызывающие завершение транзакции с фиксацией изменений:

Ответ:

 (1) ALTER 

 (2) GRANT 

 (3) DELETE 

 (4) INSERT 

 (5) UPDATE 

 (6) ROLLBACK 


Номер 2
Команды SQL, НЕ вызывающие завершения транзакции:

Ответ:

 (1) ALTER 

 (2) GRANT 

 (3) DELETE 

 (4) INSERT 

 (5) UPDATE 

 (6) ROLLBACK 


Номер 3
Для поддержки транзакционной целостности и согласованности базы данных, в СУБД используются ...

Ответ:

 (1) курсоры 

 (2) блокировки 

 (3) указатели 

 (4) триггеры 

 (5) словарь данных 


Упражнение 3:
Номер 1
Для просмотра списка столбцов, которые составляют индекс, следует воспользоваться представлением словаря данных ...

Ответ:

 (1) USER_TABLES 

 (2) USER_INDEXES 

 (3) USER_IND_COLUMNS 

 (4) USER_TAB_COLUMNS 

 (5) USER_COL_COMMENTS 


Номер 2
Команда SQL:SELECT object_name FROM user_objects
WHERE object_type = 'TABLE';Результат действия команды - вывод имен всех ...

Ответ:

 (1) объектов пользователя, чьим собственником он является 

 (2) таблиц пользователя, чьим собственником он является 

 (3) объектов, к которым пользователь имеет доступ 

 (4) таблиц, к которым пользователь имеет доступ 


Номер 3
Команда SQL:SELECT object_name FROM all_objects
WHERE object_type = 'TABLE';Результат действия команды - вывод имен всех ...

Ответ:

 (1) объектов пользователя, чьим собственником он является 

 (2) таблиц пользователя, чьим собственником он является 

 (3) объектов, к которым пользователь имеет доступ 

 (4) таблиц, к которым пользователь имеет доступ 


Упражнение 4:
Номер 1
Дана ситуация: Разрабатывается база данных, в которой будут выполняться команды INSERT, UPDATE, DELETE, SELECT, CREATE. Проект базы данных предполагает создание нескольких индексов для улучшения производительности. Наибольшая выгода вследствие создания индекса возникнет при выполнении операции:

Ответ:

 (1) CREATE 

 (2) UPDATE 

 (3) DELETE 

 (4) SELECT 

 (5) INSERT 


Номер 2
Приложение базы данных осуществляет сложные числовые вычисления в запросах SELECT. Для увеличения скорости выполнения вычислений в СУБД используются структуры:

Ответ:

 (1) глобальные и локальные переменные 

 (2) В-древовидные индексы 

 (3) пакеты параллельных вычислений 

 (4) хранимые процедуры 


Номер 3
Команда создания таблицы: CREATE TABLE s_emp (
id NUMBER(7) CONSTRAINT s_emp_id_pk PRIMARY KEY 
...);Выражения с использованием столбца ID таблицы S_EMP, при вычислении которых СУБД НЕ применит индекс S_EMP_ID_PK:

Ответ:

 (1) TRUNC(id) = 20 

 (2) id > 20 

 (3) id BETWEEN 10 AND 20 

 (4) id IN (10, 15, 20) 


Упражнение 5:
Номер 1
Транзакции в СУБД предназначены для ... 

Ответ:

 (1) записи резервных копий базы данных 

 (2) отслеживания производительности базы данных и обнаружения медленно выполняемых команд 

 (3) одновременного обновления всех данных в базе данных 

 (4) поддержки целостности данных при выполнении множественных команд SQL 


Номер 2
Верные высказывания относительно взаимных блокировок (deadlock) в СУБД Oracle 11g:

Ответ:

 (1) результаты всех транзакций, вызвавших "deadlock", отменяются 

 (2) взаимные блокировки автоматически распознаются сервером 

 (3) сервер отменяет действие одной из операций, вызвавших "deadlock" 

 (4) логика разрешения взаимных блокировок определяется непосредственно при программировании приложений СУБД 


Номер 3
Команды SQL, выполняемые различными пользователями:
  • Пользователь Scott. INSERT INTO Scott.vtable (Column1, Column2, Column3) VALUES (1,'a',10);
  • Пользователь Alice. UPDATE Scott.vtable SET Column2 = 'b' WHERE Column1 = 1;
  • В случае открытой транзакции пользователя "Scott", команда 2 будет выполнена ...

    Ответ:

     (1) после завершения транзакции пользователем "Scott" 

     (2) после завершения транзакции пользователем "Alice" 

     (3) после разрешения взаимной блокировки сервером Oracle 

     (4) непосредственно после отправки серверу команды пользователя "Alice" 


    Упражнение 6:
    Номер 1
    Команды SQL, выполняемые различными пользователями:
  • Пользователь Scott. INSERT INTO Scott.vtable (Column1, Column2, Column3) VALUES (1,'a',10);
  • Пользователь Alice. UPDATE Scott.vtable SET Column2 = 'b' WHERE Column1 = 1;
  • Для того, чтобы сеанс работы пользователя "Alice" не ожидал неопределенное время завершения транзакции пользователем "Scott" без каких-либо сообщений, следует ...

    Ответ:

     (1) выполнить команду LOCK TABLE vtable NOWAIT; в сеансе работы "Scott" до вставки строки в таблицу 

     (2) выполнить команду LOCK TABLE vtable SET TRANSACTION; в сеансе работы "Scott" до вставки строки в таблицу 

     (3) выполнить команду LOCK TABLE vtable NOWAIT; в сеансе работы "Alice" до обновления строки в таблице 

     (4) добавить опцию NOWAIT; в команду обновления строки в таблице в сеансе работы "Alice" 


    Номер 2
    Команда SQL, выполненная пользователем "Alice":SELECT * FROM vtable FOR UPDATE WAIT(10);Результат действия команды - ...

    Ответ:

     (1) выборка всей информации таблицы VTABLE с ограничением времени получения ответа сервера при обращении к таблице других транзакций и установкой времени ожидания в 10 секунд 

     (2) блокировка всей информации таблицы VTABLE с опцией немедленной выдачи сообщения об ошибке при обращении к таблице других транзакций 

     (3) блокировка всей информации таблицы VTABLE с опцией выдачи сообщения об ошибке при обращении к таблице других транзакций и установкой времени ожидания в 10 секунд 

     (4) блокировка всей информации таблицы VTABLE с опцией выдачи сообщения об ошибке при обращении к таблице других транзакций и установкой времени ожидания в 10 миллисекунд 


    Номер 3
    Пользователю "Alice" необходимо выполнить обновление данных таблицы VTABLE, при этом известно, что некоторые строки таблицы могут быть заблокированы транзакцией, открытой пользователем "Scott". Заблокировать свободные строки таблицы VTABLE с целью обновления позволит команда:

    Ответ:

     (1) SELECT * FROM vtable LOCK TABLE; 

     (2) SELECT * FROM vtable FOR UPDATE SKIP LOCKED; 

     (3) SELECT * FROM vtable FOR UPDATE NOWAIT; 

     (4) SELECT * FROM vtable FOR UPDATE OF Column2; 


    Упражнение 7:
    Номер 1
    Дана таблица MY_TABLE(ID, NAME). Команды SQL:INSERT INTO my_table (id, name) VALUES (1, 'Mike'); 
    SAVEPOINT   a;
    INSERT INTO my_table (id, name) VALUES (2, 'Karen'); 
    SAVEPOINT   b;
    INSERT INTO my_table (id, name) VALUES (3, 'Tracy');
    SAVEPOINT   c;
    ROLLBACK;
    INSERT INTO my_table (id, name) VALUES (4, 'Sam');
    INSERT INTO my_table (id, name) VALUES (5, 'Elrod');
    COMMIT;В результате выполнения команд, таблица MY_TABLE будет выглядеть следующим образом:

    Ответ:

     (1)
    IDNAME
    1Mike
    2Karen
    3Tracy
    4Sam
    5Elrod
     

     (2)
    IDNAME
    4Sam
    5Elrod
     

     (3)
    IDNAME
    1Mike
    2Karen
    3Tracy
     

     (4)
    IDNAME
    1Mike
    4Sam
    5Elrod
     


    Номер 2
    Дана таблица MY_TABLE(ID, NAME). Команды SQL:INSERT INTO my_table (id, name) VALUES (1, 'Mike'); 
    SAVEPOINT   a;
    INSERT INTO my_table (id, name) VALUES (2, 'Karen'); 
    SAVEPOINT   b;
    INSERT INTO my_table (id, name) VALUES (3, 'Tracy');
    SAVEPOINT   c;
    ROLLBACK TO b;
    INSERT INTO my_table (id, name) VALUES (4, 'Sam');
    INSERT INTO my_table (id, name) VALUES (5, 'Elrod');
    COMMIT;В результате выполнения команд, таблица MY_TABLE будет выглядеть следующим образом:

    Ответ:

     (1)
    IDNAME
    1Mike
    2Karen
    4Sam
    5Elrod
     

     (2)
    IDNAME
    4Sam
    5Elrod
     

     (3)
    IDNAME
    1Mike
    2Karen
    3Tracy
     

     (4)
    IDNAME
    1Mike
    4Sam
    5Elrod
     


    Номер 3
    Дана таблица MY_TABLE(ID, NAME). Команды SQL:INSERT INTO my_table (id, name) VALUES (1, 'Mike'); 
    SAVEPOINT   a;
    INSERT INTO my_table (id, name) VALUES (2, 'Karen'); 
    SAVEPOINT   b;
    INSERT INTO my_table (id, name) VALUES (3, 'Tracy');
    SAVEPOINT   c;
    INSERT INTO my_table (id, name) VALUES (4, 'Sam');
    INSERT INTO my_table (id, name) VALUES (5, 'Elrod');
    ALTER TABLE my_table ADD last_name(VARCHAR2(15));
    ROLLBACK;В результате выполнения команд, таблица MY_TABLE будет выглядеть следующим образом:

    Ответ:

     (1)
    IDNAMELAST_NAME
    1Mike
    2Karen
    3Tracy
    4Sam
    5Elrod
     

     (2)
    IDNAMELAST_NAME
     

     (3)
    IDNAME
    1Mike
    2Karen
    4Sam
    5Elrod
     

     (4)
    IDNAME
    1Mike
    2Karen
    3Tracy
     


    Упражнение 8:
    Номер 1
    Включающими языками для СУБД Oracle 11g являются: 

    Ответ:

     (1) С/C++ 

     (2) Pascal 

     (3) FORTRAN 

     (4) Visual Basic 

     (5) Java 


    Номер 2
    Словарь данных СУБД Oracle 11g состоит из ...

    Ответ:

     (1) таблиц базы данных 

     (2) представлений 

     (3) временных таблиц 

     (4) материализованных представлений 


    Номер 3
    Получить список имен объектов словаря данных, содержащих информацию о последовательностях, позволит команда:

    Ответ:

     (1) SELECT table_name FROM dict WHERE table_name LIKE '%SEQUENCE%'; 

     (2) SELECT sequence_name FROM user_sequences; 

     (3) DESCRIBE user_sequences; 

     (4) SELECT sequence_name FROM user_sequences WHERE table_name LIKE '%SEQUENCE%'; 


    Упражнение 9:
    Номер 1
    Нормализация улучшает производительность команд INSERT, UPDATE, DELETE следующим образом:

    Ответ:

     (1) требованием для таблицы меньшего количества индексов 

     (2) требованием для таблицы большего количества внешних ключей 

     (3) требованием для таблицы большего количества индексов 

     (4) никоим образом 


    Номер 2
    Дана таблица VTABLE (COLUMN1, COLUMN2, COLUMN3). Команда SQL, выполненная пользователем "Scott":UPDATE Scott.vtable SET Column2 = 'c' WHERE Column1 = 1;Команды пользователя "Alice", которые будут выполнены безошибочно, с учетом наличия привилегий для выполнение операций:

    Ответ:

     (1) UPDATE Scott.vtable SET Column2 = 'b' WHERE Column1 = 2; 

     (2) INSERT INTO Scott.vtable(Column1, Column2, Column3) VALUES (3,'d',30); 

     (3) DELETE FROM Scott.vtable Column1 = 1; 

     (4) DROP TABLE Scott.vtable; 


    Номер 3
    В базе данных существуют таблицы S_EMP и S_DEPT:filesКоманда SQL:UPDATE s_emp SET dept_id = 31 WHERE id = 12;В случае открытой транзакции, в процессе выполнения команды возникнет блокировка ...

    Ответ:

     (1) только изменяемой строки в таблице S_EMP 

     (2) изменяемой строки в таблице S_EMP и соответствующей ей строки в таблице S_DEPT 

     (3) всех строк в таблице S_EMP 

     (4) только строки в таблице S_DEPT, соответствующей изменяемой строке в таблице S_EMP 


    Упражнение 10:
    Номер 1
    Верные высказывания относительно транзакций в СУБД Oracle 11g: 

    Ответ:

     (1) транзакция - логическая единица согласованных изменений базы данных командами DML 

     (2) результаты действия всех команд транзакции должны быть либо сохранены, либо отменены 

     (3) данные, измененные транзакцией, до ее завершения доступны только тому пользователю и в том сеансе работы, который открыл транзакцию 

     (4) Oracle 11g допускает возможность выборочного сохранения результатов действия команд, составляющих транзакцию 


    Номер 2
    НЕверные высказывания относительно транзакций в СУБД Oracle 11g: 

    Ответ:

     (1) Oracle 11g допускает возможность отката всей транзакции 

     (2) выполнение команды DDL производит неявную фиксацию транзакции 

     (3) пользователю, открывшему транзакцию в одном сеансе работы, доступны результаты работы транзакции в параллельном сеансе работы, до ее завершения 

     (4) при попытке изменения данных строки. заблокированных транзакцией, пользователь, в любом случае, немедленно получает сообщение об ошибке в связи с блокировкой 


    Номер 3
    Открытие транзакции в СУБД Oracle ...

    Ответ:

     (1) необходимо выполнить явно командой SET TRANSACTION в начале сеанса работы 

     (2) происходит неявно при подключении к серверу СУБД 

     (3) происходит неявно после завершения предыдущей транзакции 

     (4) необходимо выполнить явно командой SET TRANSACTION после завершения предыдущей транзакции 


    Упражнение 11:
    Номер 1
    Варианты, в которых вычисление "Запроса 1" происходит быстрее вычисления "Запроса 2":

    Ответ:

     (1)
  • SELECT * FROM s_emp;
  • SELECT * FROM Scott.s_emp;
  •  

     (2)
  • SELECT * FROM s_emp WHERE salary*1.1 BETWEEN 800 AND 1200;
  • SELECT * FROM s_emp WHERE salary*1.1 >= 800 AND salary*1.1 <= 1200;
  •  

     (3)
  • SELECT title, MAX(salary) max_sal FROM s_emp GROUP BY title ORDER BY max_sal;
  • SELECT title, MAX(salary) FROM s_emp GROUP BY title ORDER BY MAX(salary);
  •  

     (4)
  • SELECT title, MAX(salary) max_sal FROM s_emp GROUP BY title HAVING title NOT LIKE '%President';
  • SELECT title, MAX(salary) max_sal FROM s_emp WHERE title NOT LIKE '%President' GROUP BY title;
  •  


    Номер 2
    План обработки запроса СУБД Oracle формируется ...

    Ответ:

     (1) программистом 

     (2) оптимизатором 

     (3) средой выполнения запроса 

     (4) индексом 


    Номер 3
    Запрос SQL:SELECT * FROM s_emp
    WHERE manager_id IS NULL AND
          title = 'President' AND
          salary > 3000 
    ORDER BY last_name;При обработке строки таблицы запросом выражение manager_id IS NOT NULL принимает значение FALSE. План выполнения запроса предполагает дальнейшее ...

    Ответ:

     (1) вычисление значение выражения title = 'President' 

     (2) вычисление значение выражения salary > 3000 

     (3) выполнение оператора ORDER BY last_name 

     (4) завершение обработки текущей строки таблицы 


    Упражнение 12:
    Номер 1
    Умолчательный тип транзакций СУБД Oracle:

    Ответ:

     (1) ISOLATION LEVEL SERIALIZABLE 

     (2) ROW EXCLUSIVE 

     (3) READ ONLY 

     (4) READ WRITE 


    Номер 2
    Блокировка таблицы с режимом EXCLUSIVE ... 

    Ответ:

     (1) не допускает применения к объекту других блокировок 

     (2) разрешает ситуацию взаимной блокировки (deadlock) 

     (3) допускает изменение данных в столбцах, на которые не распространяется блокировка 

     (4) допускает изменение данных в строках, на которые не распространяется блокировка 


    Номер 3
    Блокировка таблицы с режимом SHARE ... 

    Ответ:

     (1) не допускает применения к объекту других блокировок 

     (2) разрешает ситуацию взаимной блокировки (deadlock) 

     (3) допускает изменение данных в столбцах, на которые не распространяется блокировка 

     (4) допускает изменение данных в строках, на которые не распространяется блокировка 




    Главная / Базы данных / Введение в Oracle SQL / Тест 13