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

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

Упражнение 1:
Номер 1
Дана таблица: 
 
SALE (Продажи)
COLUMN NAMEDATATYPECOMMENT
IDNUMBER(9)PRIMARY KEY
SALE_DATEDATEДата продажи
Команда создания переменной SQL*Plus: VARIABLE sale_id NUMBER(9) Требуется создать команду SQL, которая выполнит обновление даты для продажи, номер которой вводится интерактивно с помощью переменной SQL*Plus. В качестве даты необходимо установить системную дату. Вариант, позволяющий выполнить задание:

Ответ:

 (1) UPDATE sale SET sale_date = SYSDATE; 

 (2) UPDATE sale SET sale_date = SYSDATE WHERE id = :sale_id; 

 (3) UPDATE sale SET sale_date = :SYSDATE WHERE id = :sale_id; 

 (4) UPDATE sale (sale_date) SET sale_date = SYSDATE WHERE id = :sale_id; 


Номер 2
Дана таблица: 
 
SALE (Продажи)
COLUMN NAMEDATATYPECOMMENT
IDNUMBER(9)PRIMARY KEY
SALE_DATEDATEДата продажи
Команда создания переменной SQL*Plus: VARIABLE sale_id NUMBER(9) Требуется создать команду SQL, которая выполнит вставку строки в таблицу SALE, при этом номер продажи вводится интерактивно с помощью переменной SQL*Plus. В качестве даты необходимо установить системную дату. Варианты, позволяющие выполнить задание:

Ответ:

 (1) INSERT INTO sale VALUES (:sale_id, SYSDATE); 

 (2) INSERT INTO sale VALUES (sale_id, :SYSDATE); 

 (3) INSERT INTO sale (sale_date, id) VALUES (:sale_id, SYSDATE); 

 (4) INSERT INTO sale (sale_date, id) VALUES ((SELECT SYSDATE FROM DUAL), :sale_id); 


Номер 3
Дана таблица: 
 
SALE (Продажи)
COLUMN NAMEDATATYPECOMMENT
IDNUMBER(9)PRIMARY KEY
SALE_DATEDATEДата продажи
Команда создания переменной SQL*Plus: VARIABLE sale_id NUMBER(9) Требуется создать команду SQL, которая выполнит удаление информации о продаже, номер которой вводится интерактивно с помощью переменной SQL*Plus. Вариант, позволяющий выполнить задание:

Ответ:

 (1) DELETE FROM sale; 

 (2) DELETE FROM sale WHERE sale_date = SYSDATE; 

 (3) DELETE FROM sale WHERE id = :sale_id; 

 (4) TRUNCATE TABLE sale; 


Упражнение 2:
Номер 1
Команды SQL:INSERT INTO inventory (invid, invname) VALUES (12345670, 'Milk powder'); 
INSERT INTO inventory (invid, invname) VALUES (12345671, 'Milk cream'); 
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
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'); 
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
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'); 
INSERT INTO inventory (invid, invname) VALUES (12345672, 'Buttermilk');
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;
UPDATE  inventory SET invid = 12345676 WHERE invid = 12345672; 
COMMIT;
Значения в столбце INVID таблицы INVENTORY после выполнения команд SQL:

Ответ:

 (1) 12345670 

 (2) 12345672 

 (3) 12345677 

 (4) 12345671 

 (5) 12345676 


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

Ответ:

 (1) внешний ключ перестает быть уникальным 

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

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

 (4) первичный ключ является также и внешним ключом 

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


Номер 2
Поддержка непротиворечивости и целостности базы данных предполагает недопустимость ...

Ответ:

 (1) удаления значения из столбца первичного ключа, для которого существуют соответствующие значения в столбце внешнего ключа 

 (2) вставки значения в столбец первичного ключа, для которого отсутствует соответствующее значение в столбце внешнего ключа 

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

 (4) удаления значения из столбца внешнего ключа, для которого существует соответствующее значение в столбце внешнего ключа  


Номер 3
Анализ команд, вызвавших нарушения ограничений целостности, без отмены всех результатов транзакции, в SQL Oracle 11g помогает выполнить системная процедура:

Ответ:

 (1) DBMS_SQL.CLOSE_CURSOR 

 (2) DBMS_OUTPUT.PUT_LINE 

 (3) DBMS_ERRLOG.CREATE_ERROR_LOG 

 (4) PRAGMA EXCEPTION_INIT 

 (5) RAISE_APPLICATION_ERROR 


Упражнение 4:
Номер 1
В ситуации, когда явно открыта транзакция, но нет явных команд ее завершения "commit» или "rollback», СУБД ...

Ответ:

 (1) установит неявную точку сохранения в конце транзакции 

 (2) неявно выполнит "commit» в конце транзакции 

 (3) возбудит ошибку во время синтаксического разбора команд 

 (4) оставит транзакцию открытой, включая все необходимые блокировки, до тех пор, пока не получит команду "commit» или "rollback» 

 (5) отменит результат транзакции по завершении 


Номер 2
Во время выполнения транзакции произошла ошибка при выполнении команды DML. Вследствие этого будет произведен откат на уровне ...

Ответ:

 (1) пользователя 

 (2) системы 

 (3) команды 

 (4) выполнения 

 (5) базы данных 


Номер 3
Восстановить строки таблицы на заданный момент времени в SQL Oracle 11g позволяет команда:

Ответ:

 (1) BACKUP TABLE 

 (2) FLASHBACK TABLE 

 (3) ALTER TABLE 

 (4) TRUNCATE TABLE 

 (5) RECOVERY TABLE 


Упражнение 5:
Номер 1
Верные описания команд SQL:

Ответ:

 (1) TRUNCATE TABLE – команда удаления данных из таблицы 

 (2) INSERT – команда обновления (изменения) данных в таблице 

 (3) UPDATE – команда вставки данных в таблицу 

 (4) DELETE – команда удаления данных из таблицы 

 (5) FLASHBACK - команда восстановления данных таблицы 


Номер 2
Задать значения столбцов в команде INSERT в порядке, отличном от того, в котором следуют столбцы таблицы, позволяет ...

Ответ:

 (1) предложение ORDER BY 

 (2) список значений команды INSERT, например INSERT INTO employees VALUES (24,'Smith', 'Barney') 

 (3) предложение SET 

 (4) список столбцов команды INSERT, например INSERT INTO employees (emp_id, last_name, first_name) 

 (5) команда ALTER TABLE 


Упражнение 6:
Номер 1
При обновлении строк в таблице без условия WHERE произойдет следующая ситуация:

Ответ:

 (1) команда SQL не будет выполнена 

 (2) будут обновлены только определенные строки таблицы 

 (3) будут обновлены все строки таблицы 

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


Номер 2
При обновлении строк в таблице с условием WHERE произойдет следующая ситуация:

Ответ:

 (1) команда SQL не будет выполнена 

 (2) будут обновлены только определенные строки таблицы 

 (3) будут обновлены все строки таблицы 

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


Номер 3
При удалении строк из таблицы, с заданием тождественно ложного условия WHERE, произойдет следующая ситуация:

Ответ:

 (1) команда SQL не будет выполнена 

 (2) будут удалены только определенные строки таблицы 

 (3) будут удалены все строки таблицы 

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


Упражнение 7:
Номер 1
Корректные варианты добавления строк в таблицу STUDENTS (ID, FIRST_NAME, LAST_NAME):

Ответ:

 (1) INSERT INTO students (id, first_name, last_name) SELECT id, first_name, last_name FROM new_students; 

 (2) INSERT INTO students (id, first_name, last_name) (118, 'Ellen', 'Moran'); 

 (3) INSERT INTO students VALUES (95, 'Bill', 'Enzo'); 

 (4) INSERT INTO students (id, first_name, last_name) SELECT id, first_name FROM new_students WHERE last_name IS NULL; 

 (5) INSERT INTO students (id, first_name, last_name) VALUES (100, 'Kim', Matheson'); 


Номер 2
Команды SQL, выполняющие удаление строк из таблицы STUDENT, в которых фамилия (столбец FIO), начинается с буквы "А":

Ответ:

 (1) Delete from STUDENT where FIO like '%A%'; 

 (2) Delete from STUDENT where FIO like 'А%'; 

 (3) Drop table STUDENT where FIO like 'А%'; 

 (4) Truncate table STUDENT where FIO like 'А%' 

 (5) Delete from STUDENT where substr(FIO,1,1) = 'A'; 


Номер 3
Команды SQL, выполняющие преобразование фамилий (столбец FIO) таблицы STUDENT, в традиционный формат записи (первая буква прописная, остальные строчные):

Ответ:

 (1) UPDATE student SET fio = UPPER(fio); 

 (2) UPDATE student SET fio = LOWER(fio); 

 (3) UPDATE student SET fio = INITCAP(fio); 

 (4) UPDATE student SET INITCAP(fio); 

 (5) UPDATE student SET fio = UPPER(); 


Упражнение 8:
Номер 1
Команда SQL:DELETE FROM doctors d, physicians p 
WHERE d.doc_id = p.phys_id 
AND   d.house_calls = 'N' 
AND   p.fee > (SELECT MAX(gnp) FROM countries WHERE world = 3);Изменения, которые произойдут в таблицах "doctors» и "physicians» после выполнения команды, наиболее точно описывает вариант:

Ответ:

 (1) изменений не произойдет; возникнет ошибка, вызванная использованием подзапроса в предложении WHERE команды DELETE 

 (2) в таблице "doctors» будут удалены соответствующие строки, т.к. она указана первой в команде DELETE; таблица "physicians» останется неизмененной 

 (3) соответствующие условиям строки будут удалены из таблиц "doctors» и "physicians» 

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

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


Номер 2
Команда SQL:MERGE INTO doctors d USING physicians p ON (d.doc_id = p.phys_id)
WHEN MATCHED THEN
DELETE WHERE house_calls = 'N'
WHEN NOT MATCHED THEN
UPDATE SET house_calls = 'Y';Изменения, которые произойдут в таблицах "doctors» и "physicians» после выполнения команды, наиболее точно описывает вариант:

Ответ:

 (1) изменений не произойдет; возникнет ошибка, вызванная использованием условия в предложении ON команды MERGE 

 (2) в таблице "doctors» будут удалены и обновлены строки, в соответствии с условиями предложений ON и WHERE; таблица "physicians» останется неизмененной 

 (3) соответствующие строки будут удалены из таблиц "doctors» и "physicians» 

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

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


Номер 3
Команда SQL:MERGE INTO doctors d, physicians p 
WHEN MATCHED THEN
DELETE WHERE house_calls = 'N' 
AND          d.doc_id = p.phys_id;Изменения, которые произойдут в таблицах "doctors» и "physicians» после выполнения команды, наиболее точно описывает вариант:

Ответ:

 (1) изменений не произойдет; возникнет ошибка, вызванная некорректным синтаксисом команды MERGE 

 (2) в таблице "doctors» будут удалены строки, соответствующие условию WHERE; таблица "physicians» останется неизмененной 

 (3) соответствующие строки будут удалены из таблиц "doctors» и "physicians» 

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

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


Упражнение 9:
Номер 1
Команда SQL: FLASHBACK TABLE s_emp
TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE);Результат действия команды - ...

Ответ:

 (1) восстановление данных удаленной таблицы из мусорной корзины 

 (2) восстановление данных таблицы на заданный момент времени 

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

 (4) восстановление данных таблицы, утерянных вследствие аварийного сбоя аппаратного обеспечения 


Номер 2
Команда SQL: INSERT INTO s_emp
SELECT * FROM s_emp
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE);Результат действия команды - ...

Ответ:

 (1) вставка значений в таблицу из другой таблицы 

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

 (3) восстановление данных таблицы на заданный момент времени 

 (4) вставка значений одновременно в несколько таблиц 


Номер 3
Команда SQL: INSERT INTO s_emp
SELECT * FROM emp
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE);Верные высказывания относительно действия команды:

Ответ:

 (1) восстановление данных невозможно в случае фиксации транзакции командой DDL 

 (2) восстановление данных командой INSERT...SELECT...AS...OF... невозможно в SQL Oracle 11g 

 (3) выражение SYSTIMESTAMP - INTERVAL '1' MINUTE синтаксически некорректно в SQL Oracle 11g 

 (4) восстановление данных невозможно в случае недостаточности размера табличного пространства UNDO 


Упражнение 10:
Номер 1
В чем состоят недостатки использования команды TRUNCATE TABLE по сравнению с командой DELETE FROM?

Ответ:

 (1) команда TRUNCATE TABLE отменяет связывание всех ограничений, правил и значений по умолчанию для столбцов, которые прежде были связаны с таблицей 

 (2) команда TRUNCATE TABLE не удаляет данные из таблицы, в которой столбец первичного ключа содержит пустые значения 

 (3) результат действия команды TRUNCATE TABLE невозможно отменить 

 (4) команда TRUNCATE TABLE действует более медленно при работе с таблицей, содержащей большое количество столбцов 

 (5) команда TRUNCATE TABLE удаляет структуру таблицы и индексы из базы данных одновременно с удалением данных 


Номер 2
В чем состоят преимущества использования команды TRUNCATE TABLE по сравнению с командой DELETE FROM?

Ответ:

 (1) команда TRUNCATE TABLE отменяет связывание всех ограничений, правил и значений по умолчанию для столбцов, которые прежде были связаны с таблицей 

 (2) команда TRUNCATE TABLE не удаляет данные из таблицы, в которой столбец первичного ключа содержит пустые значения 

 (3) результат действия команды TRUNCATE TABLE невозможно отменить 

 (4) команда TRUNCATE TABLE действует более быстро при работе с таблицей большого объема 

 (5) команда TRUNCATE TABLE удаляет структуру таблицы и индексы из базы данных одновременно с удалением данных 


Номер 3
Верные высказывания относительно сравнения команд TRUNCATE TABLE и DELETE FROM:

Ответ:

 (1) команда TRUNCATE TABLE, в отличие от DELETE FROM, отменяет связывание всех ограничений, правил и значений по умолчанию для столбцов, которые прежде были связаны с таблицей 

 (2) команда TRUNCATE TABLE, в отличие от DELETE FROM, не удаляет данные из таблицы, в которой столбец первичного ключа содержит пустые значения 

 (3) результат действия команды TRUNCATE TABLE, в отличие от DELETE FROM, невозможно отменить 

 (4) команда TRUNCATE TABLE действует более быстро, чем DELETE FROM, при работе с таблицей большого объема 

 (5) команда TRUNCATE TABLE, в отличие от DELETE FROM, удаляет структуру таблицы и индексы из базы данных одновременно с удалением данных 


Упражнение 11:
Номер 2
Команда SQL: INSERT INTO sale (id, sale_date)
SELECT ...;Подзапрос в предложении INTO команды INSERT ...

Ответ:

 (1) должен возвращать одну строку 

 (2) должен состоять из одного столбца 

 (3) должен соответствовать структуре обновляемых столбцов 

 (4) не должен возвращать пустых значений 

 (5) не требует вышеперечисленных ограничений 


Номер 3
Команда SQL: DELETE FROM sale 
WHERE id = (SELECT ...);Подзапрос в предложении WHERE команды DELETE ...

Ответ:

 (1) должен возвращать одну строку 

 (2) должен состоять из одного столбца 

 (3) должен соответствовать структуре обновляемых столбцов 

 (4) не должен возвращать пустых значений 

 (5) не требует вышеперечисленных ограничений 


Упражнение 12:
Номер 1
Вставку значений, возвращенных подзапросом, одновременно в несколько таблиц, возможно выполнить при помощи команд:

Ответ:

 (1) INSERT...SELECT...AS...OF...; 

 (2) INSERT...CASE...WHEN...THEN...; 

 (3) MERGE...WHEN MATCHED THEN...INSERT...; 

 (4) INSERT...ALL...WHEN...THEN...; 


Номер 2
Команда SQL: INSERT ALL
WHEN TO_CHAR(sale_date,'Q' = '1') THEN INTO sal_q1 (id, sale_date)
...
WHEN TO_CHAR(sale_date,'Q' = '4') THEN INTO sal_q4 (id, sale_date)
SELECT * FROM sale;Наиболее полно результат действия команды описывает вариант:

Ответ:

 (1) вставка значений из таблицы SALE в таблицу SAL_Q1 

 (2) вставка значений из таблицы SALE в таблицу SAL_Q4 

 (3) вставка значений из таблицы SALE одновременно в несколько таблиц 

 (4) команда некорректна и вызовет сообщение об ошибке 


Номер 3
НЕ допустить изменений данных в таблице в SQL Oracle 11g позволит команда:

Ответ:

 (1) ALTER TABLE ... READ ONLY; 

 (2) UPDATE TABLE ... READ ONLY; 

 (3) TRUNCATE TABLE ... READ ONLY; 

 (4) FLASHBACK TABLE ... READ ONLY; 




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