Уроки 6 - 7. База данных — основа информационной системы (§ 5)
Уроки 8 - 10. Проектирование многотабличной базы данных. Создание базы данных (§§ 6 - 7)
Уроки 11 - 12. Запросы как приложения информационной системы (§ 8)
Уроки 13 - 16. Логические условия выбора данных (§ 9)
Практическая работа № 1.7. Расширение базы данных «Приемная комиссия». Работа с формой
Практическая работа № 1.8. Реализация сложных запросов к базе данных «Приемная комиссия»
Практическая работа № 1.9. Создание отчета
Цели работы:
• закрепление навыков по созданию и заполнению таблиц;
• отработка приемов реализации сложных запросов на выборку.
Используемые программные средства: LibreOffice Base.
Создать таблицу «Оценки» и ввести в нее данные с результатами вступительных экзаменов.
1. Создать таблицу, соответствующую следующему отношению:
ОЦЕНКИ (РЕГ_НОМ, ОЦЕНКА1, ОЦЕНКА_2, ОЦЕНКА_3)
2. Связать таблицу «Оценки» с таблицей «Абитуриенты» через поле РЕГ_НОМ.
3. Ввести в таблицу следующие данные:
Пояснение. Ноль баллов в таблице выставляется за неявку на экзамен.
С помощью конструктора запросов реализовать следующие запросы, использующие данные из нескольких таблиц и сложные условия выбора.
1. Получить список всех абитуриентов, живущих в Перми и имеющих медали. В списке указать фамилию и номер школы, факультет, на который они поступают. Отсортировать в алфавитном порядке фамилий.
Пояснение. Для реализации данного запроса информация должна извлекаться из трех таблиц: «Анкеты», «Факультеты», «Абитуриенты». Команда на гипотетическом языке запросов имеет вид:
.выбор Анкеты.ФАМИЛИЯ, Анкеты.УЧ_ЗАВЕДЕНИЕ, Факультеты.ФАКУЛЬТЕТ где Анкеты.ГОРОД="Пермь" и Абитуриенты. МЕДАЛЬ=ДА сортировать Анкеты. ФАМИЛИЯ по возрастанию
В данном запросе нужно отобразить на экране не все данные, а только часть из них. Поэтому в строке Функция необходимо задать условия отбора. Для поля ГОРОД необходимо в данной строке ввести значение «Пермь», а для поля МЕДАЛЬ — значение TRUE.
Обратите внимание на то, что, хотя в команде непосредственно используются поля только из трех таблиц «Анкеты», «Факультеты» и «Абитуриенты», в реализации запроса должна участвовать четвертая таблица «Специальности». Ее нельзя исключить, поскольку будет нарушена связность схемы: таблица «Абитуриенты» связана с таблицей «Факультеты» через таблицу «Специальности».
В результате выполнения данного запроса должна получиться следующая таблица:
Примечание. При формировании запросов можно использовать знаки отношения: =, >, <, >=, <=, <> (не равно). Например, если в приведенном выше запросе изменить условие отбора на 'оПермь', то будут выбраны все абитуриенты, проживающие не в Перми.
2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
Пояснение. В этом запросе должны использоваться три таблицы: «Анкеты», «Специальности», «Абитуриенты». На гипотетическом языке запросов команда выглядит так:
.выбор Анкеты.ФАМИЛИЯ, Анкеты.ГОРОД, Специальности.СПЕЦИАЛЬНОСТЬ, Абитуриенты.СТАЖ где Факультеты.ФАКУЛЬТЕТ = "Юридический" и Абитуриенты.СТАЖ>0 сортировать Анкеты.ФАМИЛИЯ по возрастанию
Самостоятельно реализовать запрос через конструктор. В результате должна быть получена следующая таблица:
Следующая страница Практическая работа № 1.9. Создание отчета