Практическая работа №5

Пожалуйста, скачайте ЗДЕСЬ базу данных для выставки собак. В ней вы найдете данные, необходимые вам для создания запросов.

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

Примечание: когда связываются несколько таблиц, то могут возникать пустые строки. Дело в том, что у нас в таблице tbPerson наряду с владельцами собак записаны и судьи (Петровская, Елец, Терещук). Судьи не имеют права привозить своих собак на выставку, поэтому в строках с их фамилиями пустые ячейки с кличками собак. Поставьте условие на значение клички собаки Is not Null, т.е. НЕ ПУСТА.

2. Выполните сложение строк. Напишите в ячейке выражение для вывода такой фразы: владелец из города "город".
Для этого запишем в верхней строке нового столбца области условий: Владелец: [LastName]+" из города "+[City].

3. Создайте запрос, который из фамилии, имени и отчества делает фамилию с инициалами. Иванов Иван Иванович -> Иванов И.И.

Примечание: используйте функцию Left(«Иванов»; 2) = «Ив» оставляет n левых символов.

Проверьте себя!

4. Создайте запрос, который вычисляет, сколько собаке лет по дате ее рождения (возьмите за текущую дату - 28.04.2008).

Проверьте себя!

5. Создайте запрос, который определяет по возрасту, в какой возрастной категории выступает собака: «щенок» – до года; «юниор» – от года до двух лет; «сеньор» – старше двух лет.

Примечание: используйте функцию Iif([Age]<=1; «щенок»; «взрослый»). Вы также можете "вложить" выражения Iif, что позволяет вам оценивать серию зависимых выражений. Например: IIf([Страна или регион]="Италия"; "Итальянский"; IIf([Страна или регион]="Франция"; "Французский"; IIf([Страна или регион]="Германия"; "Немецкий"; "Другой язык"))).

Дополнение: Есть два способа вычислить возраст собаки: один более точный, другой менее:
1) из текущего года вычесть год рождения собаки; 
2) с помощью функции DateDiff посчитать, сколько дней прошло с рождения до сегодняшнего дня. Примените в одном из заданий один способ, в другом – другой.

Проверьте себя!

6. Создайте запрос с параметром, который позволяет получить полную информацию о собаке с определенным турнирным номером (по таблице tbDog).

7. Создайте запрос, который подсчитывает, сколько собак каждой породы приехали на выставку (используйте поля Name и Breed). 

Примечание: используйте групповые операции - Count.

Проверьте себя!

8. Подведите итоги выставки и посчитайте средний балл за экстерьер (Exterior), средний балл за дрессировку (Training) и их сумму (по таблицам   tbDog и tbMarks).

Можно также округлить значения до одного знака после запятой: Round([Avg-Exterior]+[Avg-Training];1)

9. Оператору базы данных накануне выставки пришла новая информация:
1) собака Дези заболела и не сможет принять участия в выставке;
2) по ошибке Гардиен, являющийся на самом деле английским сеттером, был указан как ирландский сеттер; 
3) владелец Мигунова подала заявку на участие в выставке еще одной своей собаки (кличка: Гарри, порода: сеттер-гордон, пол: м, дата рождения: 15.09.07).

9.1. На основе данной информации, создайте запрос на удаление записи с собакой Дези.

Проверьте себя!

9.2. Создайте запрос на обновление, найдите Гардиена и обновите у него породу.

Проверьте себя! 

9.3. Создайте запрос на добавление, добавьте запись с Гарри.

Примечание: у запросов на добавление есть одна особенность: в области таблиц отображены НЕ те таблицы, КУДА вы добавляете запись, а ОТКУДА вы берете данные (если это требуется). Целевую таблицу (в которую добавляются записи) вы указываете в диалоговом окне, которое появляется сразу, как только вы установите тип запроса (на добавление).

Проверьте себя!