игра брюс 2048
Главная / Базы данных / Основы SQL / Тест 10

Основы SQL - тест 10

Упражнение 1:
Номер 1

Дано представление.

CREATE VIEW view1 AS SELECT Фамилия, Телефон, Дата_рождения FROM Автор WHERE Город=’Москва’ WITH CHECK OPTION

Предпринимается попытка выполнить команду вставки данных в представление.

INSERT INTO view1(Фамилия, Телефон, Дата_рождения) VALUES ('Сидоров','32-34-45','12/09/78')

Результатом выполнения команды (при отсутствии каких-либо ограничений при создании таблицы) является следующее:


Ответ:

 (1) в таблицу Автор будет добавлена запись
ФамилияТелефонДата_рожденияГород
Сидоров32-34-4512/09/78Москва
 

 (2) в таблицу Автор будет добавлена запись
ФамилияТелефонДата_рожденияГород
Сидоров32-34-4512/09/78NULL
 

 (3) данные в представление view1 будут успешно добавлены 

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


Номер 2

Дано представление.

CREATE VIEW view1 AS SELECT Номер_рейса, Стоимость, Дата_вылета FROM Рейс WHERE Конечный_пункт=’Москва’ WITH CHECK OPTION

Предпринимается попытка выполнить команду вставки данных в представление.

INSERT INTO view1( Номер_рейса, Стоимость, Дата_вылета) VALUES (2367,1459.00,'12/09/03')

Результатом выполнения команды (при отсутствии каких-либо ограничений при создании таблицы) является следующее:


Ответ:

 (1) в таблицу Рейс будет добавлена запись
Номер_рейсаСтоимостьДата_вылетаКонечный_пункт
23671459.0012/09/03Москва
 

 (2) в таблицу Рейс будет добавлена запись
Номер_рейсаСтоимостьДата_вылетаКонечный_пункт
23671459.0012/09/03NULL
 

 (3) данные в представление view1 будут успешно добавлены 

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


Номер 3

Дано представление.

CREATE VIEW view1 AS SELECT Название_блюда, Калорийность, Стоимость FROM Блюдо WHERE Тип_блюда=’Десерт’ WITH CHECK OPTION

Предпринимается попытка выполнить команду вставки данных в представление.

INSERT INTO view1( Название_блюда, Калорийность, Стоимость) VALUES ('Торт Киевский',458,78.50)

Результатом выполнения команды (при отсутствии каких-либо ограничений при создании таблицы) является следующее:


Ответ:

 (1) в таблицу Блюдо будет добавлена запись
Название_блюдаКалорийностьСтоимостьТип_блюда
Торт Киевский45878.50Десерт
 

 (2) в таблицу Блюдо будет добавлена запись
Название_блюдаКалорийностьСтоимостьТип_блюда
Торт Киевский45878.50NULL
 

 (3) данные в представление view1 будут успешно добавлены 

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


Номер 4

Дано представление.

CREATE VIEW view1 AS SELECT Код_Города, Название, Тариф FROM Город WHERE Регион=’Поволжье’ WITH CHECK OPTION

Предпринимается попытка выполнить команду вставки данных в представление.

INSERT INTO view1(Код_Города, Название, Тариф) VALUES (842,'Симбирск',2.70)

Результатом выполнения команды (при отсутствии каких-либо ограничений при создании таблицы) является следующее:


Ответ:

 (1) в таблицу Город будет добавлена запись
Код_ГородаНазваниеТарифРегион
842Симбирск2.70Поволжье
 

 (2) в таблицу Город будет добавлена запись
Код_ГородаНазваниеТарифРегион
842Симбирск2.70NULL
 

 (3) данные в представление view1 будут успешно добавлены 

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


Упражнение 2:
Номер 1

Дано представление с вычислениями.

CREATE VIEW view2 AS SELECT Название, Издательство, Цена, Цена*Количество AS Стоимость FROM Книга WHERE Цена>50

Предпринимается попытка изменить в представлении запись.

UPDATE view2 SET Цена=Цена*1.5 WHERE Издательство='Мир'

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Книга будет изменена цена книг издательства «Мир» стоимость которых >50 руб 

 (2) в таблице Книга будет изменена цена всех книг издательства «Мир» 

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


Номер 2

Дано представление с вычислениями.

CREATE VIEW view2 AS SELECT Номер_рейса, Конечный_пункт, Стоимость, Стоимость*0.05 AS Налог FROM Рейс WHERE Рейс.Стоимость>100

Предпринимается попытка изменить в представлении запись.

UPDATE view2 SET Стоимость = Стоимость *1.5 WHERE Конечный_пункт=’Москва’

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Рейс будет изменена стоимость билетов до Москвы дороже 100 руб 

 (2) в таблице Рейс будет изменена стоимость всех билетов до Москвы 

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


Номер 3

Дано представление с вычислениями.

CREATE VIEW view2 AS SELECT Название_блюда, Тип_блюда, Стоимость, Стоимость*0.05 AS Налог FROM Блюдо WHERE Стоимость>100

Предпринимается попытка изменить в представлении запись.

UPDATE view2 SET Стоимость=Стоимость*1.5 WHERE Тип_блюда='Десерт'

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Блюдо будет изменена стоимость десертов дороже 100 руб 

 (2) в таблице Блюдо будет изменена стоимость всех десертов 

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


Номер 4

Дано представление с вычислениями.

CREATE VIEW view2 AS SELECT Название, Регион, Тариф, Тариф*0.05 AS Налог FROM Город WHERE Город.Тариф>10

Предпринимается попытка изменить в представлении запись.

UPDATE view2 SET Тариф=Тариф*1.5 WHERE Регион=’Поволжье’

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Город будет изменен тариф на телефонные разговоры с городами Поволжья, если он больше 10 руб 

 (2) в таблице Город будут изменены все тарифы на телефонные разговоры с городами Поволжья 

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


Упражнение 3:
Номер 1

Дано представление с данными из разных таблиц.

CREATE VIEW view3 AS SELECT Книга.Название, Книга.Издательство, Автор.Фамилия FROM Автор INNER JOIN Книга ON Автор.Код_Автора = Книга.Код_Автора

Предпринимается попытка добавить в представление запись.

INSERT INTO view3(Название, Издательство, Фамилия) VALUES('Анна Каренина','Мир','Л.Толстой')

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблицы Автор и Книга будут добавлены записи 

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

 (3) данные в представление view3 будут успешно добавлены 

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


Номер 2

Дано представление с данными из разных таблиц.

CREATE VIEW view3 AS SELECT Билет.Номер_места, Билет.Номер_рейса, Рейс.Конечный_пункт FROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейса

Предпринимается попытка добавить в представление запись.

INSERT INTO view3( Номер_места, Номер_рейса, Конечный_пункт) VALUES(12, 8978, 'Москва')

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблицы Рейс и Билет будут добавлены записи 

 (2) запись будет добавлена только в таблицу Рейс 

 (3) данные в представление view3 будут успешно добавлены 

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


Номер 3

Дано представление с данными из разных таблиц.

CREATE VIEW view3 AS SELECT Блюдо.Название_блюда, Компонент.Название_компонента, Компонент.Вес FROM Блюдо INNER JOIN Компонент ON Блюдо.Название_блюда = Компонент.Блюдо;

Предпринимается попытка добавить в представление запись.

INSERT INTO view3( Название_блюда, Название_компонента, Вес) VALUES('Щи','Капуста',0.350)

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблицы Блюдо и Компонент будут добавлены записи 

 (2) запись будет добавлена только в таблицу Блюдо 

 (3) данные в представление view3 будут успешно добавлены 

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


Номер 4

Дано представление с данными из разных таблиц.

CREATE VIEW view3 AS SELECT Город.Название, Разговор.Фамилия, Разговор.Продолжительность FROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_Города;

Предпринимается попытка добавить в представление запись.

INSERT INTO view3( Название, Фамилия, Продолжительность) VALUES('Самара','Иванов',10)

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблицы Город и Разговор будут добавлены записи 

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

 (3) данные в представление view3 будут успешно добавлены 

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


Упражнение 4:
Номер 1

Дано представление с группировкой.

CREATE VIEW view4 AS SELECT Издательство, Sum(Количество) AS Общ_Количество FROM Книга GROUP BY Издательство HAVING Издательство="АСТ"

Предпринимается попытка удалить записи:

DELETE FROM view4 WHERE Издательство='Мир'


Ответ:

 (1) из таблицы Книга будут удалены записи о книгах издательства «Мир» и издательства «АСТ» 

 (2) из таблицы Книга будут удалены записи о книгах издательства «Мир» 

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

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


Номер 2

Дано представление с группировкой.

CREATE VIEW view4 AS SELECT Конечный_пункт, Sum(Число_билетов) AS Общ_Число_билетов FROM Рейс GROUP BY Конечный_пункт HAVING Конечный_пункт=’Москва’

Предпринимается попытка удалить записи:

DELETE FROM view4 WHERE Конечный_пункт=’Самара’


Ответ:

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

 (2) из таблицы Рейс будет удалена информация о рейсах до Самары 

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

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


Номер 3

Дано представление с группировкой.

CREATE VIEW view4 AS SELECT Повар, Sum(Стоимость) AS Общ_Стоимость FROM Блюдо GROUP BY Повар HAVING Повар="Иванов"

Предпринимается попытка удалить записи:

DELETE FROM view4 WHERE Повар=’Петров’


Ответ:

 (1) из таблицы Блюдо будут удалены блюда, приготовленные поварами Ивановым и Петровым 

 (2) из таблицы Блюдо будут удалены блюда, приготовленные поваром Петровым 

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

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


Номер 4

Дано представление с группировкой.

CREATE VIEW view4 AS SELECT Регион, Avg(Тариф) AS Средн_Тариф FROM Город GROUP BY Регион HAVING Регион=’Поволжье’

Предпринимается попытка удалить записи:

DELETE FROM view4 WHERE Регион=’Урал’


Ответ:

 (1) из таблицы Город будет удалена информация о городах Поволжья и Урала 

 (2) из таблицы Город будет удалена информация о городах Урала 

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

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


Упражнение 5:
Номер 1

Дано представление.

CREATE VIEW view1 AS SELECT Название, Цена, Цена*Количество AS Стоимость FROM Книга WHERE Издательство='Мир'

Предпринимается попытка изменить в представлении запись.

UPDATE view1 SET Цена=Цена*1.5 WHERE Цена>50

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Книга для книг издательства "Мир" с ценой >50 руб. цена увеличится 

 (2) в таблице Книга цена дорогих (> 50 руб.) книг еще более возрастет 

 (3) цена дорогих (> 50 руб.) книг издательства "Мир" в представлении view1 будет успешно изменена 

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


Номер 2

Дано представление.

CREATE VIEW view2 AS SELECT Номер_рейса, Стоимость, Стоимость*0.05 AS Налог FROM Рейс WHERE Конечный_пункт=’Москва’

Предпринимается попытка изменить в представлении запись.

UPDATE view2 SET Стоимость = Стоимость *1.5 WHERE Стоимость>100

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Рейс будет изменена стоимость тех билетов до Москвы, которые продаются дороже 100 руб 

 (2) в таблице Рейс увеличится стоимость дорогих (> 100 руб.) билетов 

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


Номер 3

Дано представление.

CREATE VIEW view3 AS SELECT Название, Тариф, Тариф*0.05 AS Налог FROM Город WHERE Регион=’Поволжье’

Предпринимается попытка изменить в представлении запись.

UPDATE view3 SET Тариф=Тариф*1.5 WHERE Тариф>10

Результатом выполнения команды является следующее:


Ответ:

 (1) в таблице Город будет увеличена стоимость 1 минуты разговора с городами Поволжья, если она уже установлена > 10 р 

 (2) в таблице Город будет увеличена стоимость 1 минуты разговора, если она уже установлена > 10 р 

 (3) тарифы на телефонные разговоры с городами Поволжья в представлении view3 будут успешно изменены 

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


Упражнение 6:
Номер 1

Дано представление.

CREATE VIEW view4 AS SELECT Книга.Название, Книга.Издательство, Автор.Фамилия FROM Автор INNER JOIN Книга ON Автор.Код_Автора = Книга.Код_Автора

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

DELETE FROM view4 WHERE Фамилия='Л.Толстой'

Результатом выполнения команды является следующее:


Ответ:

 (1) из таблиц Автор и Книга будут удалены соответствующие записи 

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

 (3) данные из представления view4 будут успешно удалены 

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


Номер 2

Дано представление.

CREATE VIEW view5 AS SELECT Билет.Номер_места, Билет.Номер_рейса, Рейс.Конечный_пункт FROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейса

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

DELETE FROM view5 WHERE Конечный_пункт ='Москва'

Результатом выполнения команды является следующее:


Ответ:

 (1) из таблиц Рейс и Билет будут удалены соответствующие записи 

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

 (3) данные из представления view5 будут успешно удалены 

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


Номер 3

Дано представление.

CREATE VIEW AS SELECT Город.Название, Разговор.Фамилия, Разговор.Продолжительность FROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_Города;

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

DELETE FROM VIEW WHERE Название='Самара'

Результатом выполнения команды является следующее:


Ответ:

 (1) из таблиц Город и Разговор будут удалены соответствующие записи 

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

 (3) данные из представления view6 будут успешно удалены 

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




Главная / Базы данных / Основы SQL / Тест 10