Файл: Учебники по русскому языку издательства Дрофа. Сколько записей было отобрано.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2023

Просмотров: 401

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

Ответ:

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

Ответ:

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

SELECT * FROM Туры ORDER BY Цена

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

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

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

Ответ:

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

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

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

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

Ответ:

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

SELECT * FROM Туры WHERE Цена =

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

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

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

Ответ:

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

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

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

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

  1. Запишите запрос, который вернёт цены в исходное состояние, и выполните его.

Ответ:

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

Ответ:

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

Ответ:

  1. Создайте новую таблицу «Туры 2», имеющую точно такую же структуру, как и таблица «Туры». Запишите соответствующий запрос:


Ответ:

  1. Просмотрите содержание таблицы «Туры 2». Какой запрос нужно ввести для этого?

Ответ:

Сколько записей вы обнаружили?

Ответ:

  1. Скопируйте все данные из таблицы «Туры» в новую таблицу «Туры 2»

INSERT INTO Туры2 SELECT * FROM Туры;

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

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

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

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

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

DROP TABLE Туры2

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


      1. 1   2   3   4   5   6   7   8   9


Создание базы данных


Уровень А.

  1. Создайте новую базу данных Футбол.

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

  • Команда (ключевое поле, размер поля – 20 символов)

  • Выигрыши

  • Ничьи

  • Проигрыши

  • Зарплата

Определите правильный тип данных для каждого поля.

Ответ:

  1. Введите следующие данные:

Команда

Выигрыши

Ничьи

Проигрыши

Зарплата

Аметист

10

7

3

13 290 р.

Бирюза

5

8

7

12 500 р.

Восход

13

5

2

22 000 р.

Закат

7

8

5

18 780 р.

Коллектор

11

6

3

20 200 р.

Кубань

6

12

2

14 000 р.

Малахит

12

3

5

17 340 р.

Ротор

8

12

0

15 820 р.

Статор

9

10

1

19 300 р.

Финиш

12

0

8

12 950 р.





  1. Отсортируйте записи по убыванию количества выигрышей.

  2. Примените фильтр, который отбирает только команды, имеющие более 10 побед и меньше 5 проигрышей. Сколько команд отобрано с помощью этого фильтра?

Ответ:

Уровень B.

  1. Создайте новую базу данных Кафе.



Все таблицы постройте с помощью конструктора.

  1. Установите связи между таблицами:



  1. Заполните таблицы данными из §14 (рис. 3.16). Добавьте свои данные ещё о трёх заказах, сделанных в другие дни.

Уровень С.

  1. Создайте новую базу данных Кафе. Таблицы Блюда и Заказано постройте с помощью конструктора.



  1. Запишите SQL-запрос для создания таблицы Заказы:



Ответ:

Примечание. Тип «дата» на языке SQL записывается как DATE.

Выполните этот запрос. В списке таблиц должна появиться новая таблица Заказы.


  1. Установите связи между таблицами:



  1. Заполните таблицу Блюда данными из §14 (рис. 3.16).

  2. Таблицу Заказы заполните с помощью SQL-запросов. Запишите эти запросы в следующем поле:

Ответ:

Примечание. Дата 03.11.2014 вводится на языке SQL следующим образом:

– в OpenOffice Base как '2014-11-03';

– в русской версии MicrosoftAccessкак '03.11.2014'.

  1. Заполните таблицу Заказано вручную в режиме таблицы.

  2. Добавьте в базу (любым способом) новые данные ещё о трёх заказах, сделанных в другие дни.



Практическая работа (дополнительная).
Язык SQL (многотабличная база данных, OpenOffice Base)


В этой работе вы познакомитесь с новой командой ALTER TABLE (изменить таблицу) языка SQL и научитесь составлять запросы к многотабличной реляционной базе данных.

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


  1. Используя только SQL-запросы, постройте три таблицы для реляционной базы данных кафе (значок обозначает первичный ключ таблицы):



Запишите соответствующие SQL-запросы:

Ответ:

  1. Теперь нужно построить связи между таблицами:



Для этой цели используется команда ALTER TABLE (англ. изменить таблицу). Построить связь между таблицами – это значит задать ограничение (CONSTRAINT), которое связывает первичный ключ одной таблицы с полем соответствующего типа другой. Если связываемое поле второй таблицы – неключевое, то оно называется внешним ключом (FOREIGN KEY). Например, команда для создания связи 1:N между ключевым полем Номер таблицы Заказы и неключевым полем Номер заказа таблицы Заказано выглядит так:

ALTER TABLE "Заказано"

ADD CONSTRAINT ORDER_NO

FOREIGN KEY("Номер заказа")

REFERENCES "Заказы"("Номер")

Такая запись дословно означает:

Изменить таблицу "Заказано"

добавить связь ORDER_NO

внешний ключ "Номер заказа"

ссылается на поле "Номер" таблицы "Заказы"

Здесь ORDER_NO – это просто имя, которое мы выбрали для этой связи (можно было выбрать и другое).

  1. Введите и выполните показанный выше SQL-запрос на добавление связи. Зайдите в меню Сервис – Связи и убедитесь, что связь действительно создана4.

  2. Составьте и выполните SQL-запрос на добавление второй связи. Запишите этот запрос в поле для ответа.

Ответ:

  1. С помощью SQL-запросов заполните базу следующими данными


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


  1. Построим в режиме SQL запрос СоставЗаказа, который выводит номер заказа и название заказанных блюд. Эти данные находятся в двух таблицах – Заказано и Блюда, поэтому их нужно как-то объединить. Для этого используется связь 1:N между таблицами, которую мы недавно установили. Действительно, для каждой записи в таблице Заказано нужно выбрать название блюда из таблицы Блюда, код которого совпадает с полем Заказано.Код блюда.