Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОС-13. Практика.docx
Скачиваний:
541
Добавлен:
03.04.2015
Размер:
8.15 Mб
Скачать

Практическая работа № 7 «Работа с запросами» Теоретическая часть

Запрос — это средство извлечения информации из базы данных, отвечающей некоторым условиям, задаваемым пользователем. Результат запроса (назовем его справкой) обычно выводится в виде таблицы, все записи которой удовлетворяют заданным условиям.

Запрос к БД формируется пользователем в виде команды следующего формата:

справка <список выводимых полей> для <условие поиска>

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

Условие поиска — логическое выражение (см. пр. №6).

Простое логическое выражение представляет собой либо операцию отношения (>, <, =,¹,³,£), либо поле логического типа.

Сложное логическое выражение содержит логические операции «И», «ИЛИ», «НЕ».

В различных СУБД команды запроса справки могут формироваться пользователем двумя основными способами: 1) путем ввода команды, 2) с помощью специальных конструкторов фор­мирования запросов.

Практическая часть

Задача 1.

  1. Откройте новую БД «Репертуар ки­нотеатров на неделю», в которой создайте следующую таблицу:

    Кинотеатр

    Фильм

    Время

    Стоимость

    Россия

    Приключения Буратино

    11.00

    3.00

    Россия

    Титаник

    13.00

    15.00

    Россия

    Титаник

    17.00

    20.00

    Россия

    Звездный десант

    21.00

    15.00

    Мир

    Ну, погоди!

    11.00

    3.00

    Мир

    Титаник

    13.00

    15.00

    Мир

    Вор

    17.00

    10.00

  2. Сформулируйте запрос к БД «Репертуар ки­нотеатров на неделю» для получения справки обо всех сеансах, стоимость билета на которые меньше 15 рублей.

Решение

справка все для стоимость < 15.00

В результате применения запроса с данным условием на эк­ран будет выведена следующая таблица:

Кинотеатр

Фильм

Время

Стоимость

Россия

Приключения Буратино

11.00

3.00

Мир

Ну, погоди!

11.00

3.00

Мир

Вор

17.00

10.00

Задача 2. Сформировать для БД «Репертуар кинотеатров на неделю» команду запроса, с помощью которого можно будет вывести на экран названия кинотеатров и стоимость билетов на сеансы, начинающиеся в 13.00, на которых демонстрируется фильм «Титаник».

Решение

справка кинотеатр, стоимость для время = 13.00 И

фильм = «Титаник»

В результате применения запроса с данным условием на эк­ран будет выведена следующая таблица:

Кинотеатр

Стоимость

Россия

15.00

Мир

15.00

Будем считать, что при сравнении двух символьных величин равенство справедливо только при полном их совпадении (бывают и другие варианты).

Арифметические выражения в запросах. Практически все СУБД позволяют использовать в условиях запроса арифметические выражения и формировать вычисляемые поля. Вычисляемое поле не хранится в самой БД, а

создается в ходе формирования запроса для проведения вычислений над отдельными полями базы данных.

Задача 3. Дана БД «Магазин» (количество товара дано в кг):

Товар

Количество

Цена

Апельсины

100

6.00

Бананы

200

8.00

Виноград

150

20.00

Огурцы

200

5.00

Помидоры

200

10.00

Сформировать запрос, с помощью которого на экран будут выведены сведения о товарах с общей стоимостью от 1000 до 2000 рублей (включительно), причем на экран должны быть выведены названия товаров и их общая стоимость.

Решение. Условие поиска будет выглядеть следующим образом:

количество ´ цена ³1000 И количество´ цена £ 2000.

При формировании списка выводимых полей следует указать поля товар, количество х цена. Второе поле будет вычисляемым, так как оно создается временно, только для получения ответа на запрос, и в самой базе не хранится.

Удаление записей. Удаление записей из БД производит­ся по команде следующей структуры:

удалить <условие поиска>

Здесь условие поиска — по-прежнему простое или сложное логическое выражение.

Задача 4. Дана БД «Магазин» (см. задачу 3). В магазине не закончились виноград и апельсины. Требуется удалить из БД соответствующие записи. Сформулировать команду удаления.

Решение

удалить товар = «Апельсины» ИЛИ товар = «Виноград».

В результате БД примет вид:

Товар

Количество

Цена

Бананы

200

8.00

Огурцы

200

5.00

Помидоры

200

10.00