Практические работы для 11 класса (по учебнику К.Ю. Полякова, Е.А. Еремина)



Практическая работа № 18
«Язык SQL»




Файлы-заготовки для выполнения этой практической работы


Язык SQL (Structured Query Language) – это специальный язык для управления данными. С его помощью можно полностью контролировать базу данных и выполнять все операции, посылая запросы (команды) в текстовом виде. Таким образом, например, можно управлять базой данных с удаленного компьютера.

В этой работе вы познакомитесь с основными командами языка SQL:

CREATE TABLE	создать таблицу
	  SELECT	выбрать данные
	  UPDATE	изменить данные
	  DELETE	удалить данные
	     DROP	удалить таблицу

1. Создайте новую пустую базу данных SQLbase.accdb.

Создание и заполнение таблиц


2. Создайте запрос в режиме конструктора и перейдите в режим SQL. Введите следующую команду для создания таблицы:

CREATE TABLE [Туры] (
  [Код] INTEGER NOT NULL PRIMARY KEY, 
  [Страна] VARCHAR(50) NOT NULL,
  [Транспорт] VARCHAR(20) NOT NULL,
  [Цена] MONEY NOT NULL )

В этой команде требуется создать таблицу (CREATE TABLE) c именем «Туры». В таблице должно быть 4 поля:

Код – целое число (INTEGER), непустое (NOT NULL), первичный ключ таблицы (PRIMARY KEY)

Страна – строка длиной до 50 символов, непустое

Транспорт – строка длиной до 20 символов, непустое

Цена – поле для хранения денежной суммы (MONEY)

Названия таблиц и полей заключаются в квадратные скобки! Если эти названия состоят из одного слова, скобки можно не ставить:

CREATE TABLE Туры (
  Код INTEGER NOT NULL PRIMARY KEY, 
  Страна VARCHAR(50) NOT NULL,
  Транспорт VARCHAR(20) NOT NULL,
  Цена MONEY NOT NULL)

3. Выполните эту команду (вкладка Конструктор – Выполнить). Проверьте, что таблица действительно создана.

4. Выполните команду для добавления в базу новой записи:

INSERT INTO Туры 
  	        VALUES (1, 'Финляндия', 'автобус', 1200)

Эта команда вставляет (INSERT) в таблицу «Туры» одну запись. После ключевого слова VALUES в скобках перечислены через запятую значения полей в том порядке, в котором они задавались при создании таблицы.

Символьные строки в значениях полей заключаются в апострофы или двойные кавычки!

5. Выполните ещё одно добавление записи:

INSERT INTO Туры 
       VALUES (1, 'Норвегия', 'самолёт', 15000)

Какая ошибка произошла? В чём её причина?

Ответ:

Исправьте ошибку и добавьте новую запись правильно. В ответе запишите SQL-запрос.

Ответ:

6. Аналогично добавьте в таблицу ещё несколько записей:


Выбор и сортировка данных


7. Выполните запрос на выборку данных:

SELECT * FROM Туры

Посмотрите на результат. Этот оператор выберет все поля (*) всех записей из таблицы «Туры».

8. Вместо * можно указать через запятую список нужных полей:

SELECT Страна, Цена FROM Туры

Проверьте результат выполнения этого запроса.

9. Чаще всего нужно выбрать только записи, удовлетворяющие некоторому условию отбора. Для этого используется ключевое слово WHERE, после которого стоит условие:

SELECT * FROM Туры WHERE Страна = 'Норвегия'

Проверьте работу этого оператора.

10. Составьте запрос, который выбирает из таблицы «Туры» значения полей «Страна», «Транспорт» и «Цена» для всех автобусных туров:

Ответ:

11. Составьте запрос, который выбирает из таблицы «Туры» значения всех полей для туров c ценой меньше 10000 руб:

Ответ:

12. Для того, чтобы отсортировать данные по некоторому полю, в запросе после ключевых слов ORDER BY (англ. «упорядочить по») указывают название этого поля: SELECT * FROM Туры ORDER BY Цена

Проверьте работу этого запроса.

Если в конце предыдущего запроса добавить слово DESC (англ. «descending» – нисходящий), сортировка выполняется в обратном порядке.

13. Составьте запрос, который выбирает из таблицы «Туры» значения всех полей для туров c ценой больше 10000 руб. и сортирует результаты по убыванию цены:

Ответ:

14. В запросах можно использовать стандартные функции. Например, функция MIN определяет минимальное значение заданного поля среди всех записей:

SELECT MIN(Цена) FROM Туры

Результат этого запроса – одно число.

15. Составьте запрос, который находит минимальную цену для туров в Норвегию:

Ответ:

16. Результаты запросов можно использовать в других запросах – получается вложенный запрос. Например, запрос

SELECT * FROM Туры WHERE Цена = 
  (SELECT MIN(Цена) FROM Туры WHERE Страна = 'Норвегия')

вернет данные о самом дешевом туре.

17. Составьте запрос, который находит тур минимальной цены на самолёте:

Ответ:


Изменение и удаление данных


18. Для изменения записей используется оператор UPDATE. Запрос, приведенный ниже, увеличивает цены всех туров на 10%:

UPDATE Туры SET Цена = Цена*1.1

Проверьте, что данные в таблице «Туры» действительно изменились.

19. Авиакомпании в данный момент представляют скидку на билеты, так что цены всех туров на самолётах составляют 80% от исходных. Составьте и выполните соответствующий запрос.

Ответ:

Какая стоимость получилась у тура в Грецию?

Ответ:

20. Скопируйте таблицу «Туры», назвав копию «Туры2». Удалите все туры в Германию с помощью запроса

DELETE FROM Туры2 WHERE Страна = 'Германия'

Проверьте, что данные в таблице «Туры2» действительно изменились.

21. Удалите таблицу «Туры2», которая больше не нужна, с помощью запроса

DROP TABLE Туры2 

Проверьте, что таблица «Туры2» удалена из списка таблиц.




Наверх