В диалоговом окне Создание подстановки на вопрос: «Перед созданием связи необходимо сохранить таблицу. Выполнить это сейчас?» ответить Да.
Закрыть вкладку работы с таблицей Сессия.
5. На линейке управления на закладке Работа с базами данных в группе Показать или скрыть выбрать команду Схема данных. В открывшемся диалоговом окне Схема данных отображаются таблицы базы данных и связи таблиц. Определить тип связи таблиц:
Рис. 6. Определение параметров связи таблиц базы данных ДЕКАНАТ
5.1. Выделить линию связи таблиц Дисциплина и Сессия (рис. 5). Þ В контекстном меню выбрать опцию Изменить связь… Þ В открывшемся окне параметров связи определить значение параметра: þ – Обеспечение целостности данных. Þ ОК.
5.2. Выделить линию связи таблиц Студент и Сессия.. Þ В контекстном меню выбрать опцию Изменить связь… Þ В открывшемся окне параметров связи определить значение параметра: þ – Обеспечение целостности данных. Þ ОК.
5.3. Закрыть рабочее окно Схема данных, сохраняя внесенные изменения.
Тема 2. Заполнение таблицы базы данных
Сначала заполняются таблицы – справочники Дисциплина и Студент, затем таблица Сессия:
1. Открыть таблицу Дисциплина для просмотра. Занести в таблицу данные о девяти дисциплинах. Включить дисциплины из первого, второго и третьего семестра. Параметр ЧислоАудЧасовВНеделю принимает значения 2 или 4.Þ Закрыть таблицу. | Рис. 7. Заполнение справочника Дисциплина |
2. Занести в таблицу Студент сведения о десяти студентах. | Рис. 8. Заполнение справочника Студент |
3. Открыть таблицу Сессия в режиме просмотра. Занести результаты экзаменационных испытаний. Заполнить 50 строк таблицы Сессия с учетом следующих условий:
– студенты группы «БУ-1» во втором семестре по дисциплине «Статистика» получали оценки выше 65 баллов,
– студенты группы «БУ-2» в первом семестре по дисциплине «Статистика» получали оценки от 65 баллов до 80, а во втором – от 57 баллов до 64 баллов,
– по истории несколько студентов получили от 50 баллов до 63 баллов.
– остальные результаты заполнить произвольным образом.
Тема 3. Отбор данных с помощью запроса-выборки
Упражнение 3.1. Получить исходное универсальное отношение ИтогиСессии.
Указания.
1. По накопленным данным можно получить исходную таблицу – отношение ИтогиСессии. Такая операция называется «Сопряжение–без–потерь», она реализуется с помощью запроса-выборки.
2. На линейке управления во вкладке Создание в группе Другие выбрать команду Конструктор запросов.
В область данных бланка QBE добавить таблицы: Студент, Дисциплина, Сессия. Перенести все поля таблиц в строку полей – двойной «click» левой клавиши мыши на символе “*” в каждой таблиц.
3. Просмотреть результат запроса в режиме таблицы, для этого на линейке управления в группе Результаты выбрать команду Режим, а затем опцию меню Режим таблицы (рис.9). Полученный набор кортежей (DYNASET) – динамический, он отражает текущее состояние базы данных, всякий раз при просмотре запроса DYNASET формируется заново.
Рис. 9. Режимы работы с запросом
4. Сохранить построенный запрос: Пункт меню Файл Þ Закрыть Þ Определить имя построенного запроса – Запрос3-1.
Упражнение 3.2. Отобрать из базы данных информацию о результатах испытаний по статистике, указать номер группы, ФИО студента, число набранных баллов, семестр.
Указания.
1. Вызвать конструктор запросов.
2. В область данных бланка QBE добавить таблицы Студент, Дисциплина, Сессия.
3. В строку полей бланка QBE перенести атрибуты таблиц базы данных, указанные в задании: НаименованиеДисциплины, Группа, ФИО, ЧислоБаллов, Семестр. (рис. 6). В строке вывода на экран отметить атрибуты галочкой (þ), это означает, что значения этих атрибутов будут отображаться на экране при просмотре результата запроса.
4. В строке условий отбора определить заданное значение поля НаименованиеДисциплины – “ Статистика” (рис. 9). | Рис. 10. Запись условия в бланке QBE | |
5. Просмотреть результат запроса в режиме таблицы(рис. 10). | Рис. 11. Результат выполнения Запроса 3-2 | |
5. Запрос сохранить, его имя – Запрос3-2.
Упражнение 3.3. Составить список студентов, который включает:
1) ФИО студентов, получивших в первом семестре по истории – более 65 баллов, и
2) ФИО студентов, чьи результаты испытаний по информатике во втором семестре лежат в интервале от 58 до 100 баллов.
Указания.
1. Вызвать конструктор запросов.
2. В область данных бланка QBE добавить таблицы Студент, Дисциплина, Сессия.
3. В строку полей бланка QBE перенести атрибуты таблиц базы данных, указанные в задании: ФИО, НаименованиеДисциплины, Группа, ЧислоБаллов, Семестр. В строке вывода на экран отметить атрибуты галочкой (þ).
4. Определить в бланке QBE заданные условия отбора данных. Так как эти два условия объединяются операцией дизъюнкции, каждое из них располагается на одной строке условий отбора (рис. 11):
– в первой строке Условий отбора определяются значения атрибутов, которые реализуют первое ограничение на отбор данных, это набор одновременно выполняющихся условий отбора: НаименованиеДисциплины – история, условие на ЧислоБаллов (>55) и Семестр – 1,
– вторая строка области условий реализует второе ограничение на отбор данных: НаименованиеДисциплины – статистика, ЧислоБаллов лежит в интервале [58, 65], Семестр – 2.
Рис. 12. Запрос 3-3 в режиме конструктора
5. Просмотреть результат выполнения запроса.
6. Сохранить запрос, его имя – Запрос3-3.
Упражнение 3.4. Для каждого результата испытаний рассчитать рейтинг результата испытания, расчет провести по формуле:
Указания.
1. Вызвать конструктор запросов.
2. В область данных бланка QBE добавить таблицы Студент, Дисциплина, Сессия.
В строку полей бланка QBE выставить поля: ФИО, Семестр, НаимДисциплины, ЧислоАудЧасовВНеделю.
2. Установить курсор на свободную ячейку в строке полей. Вызвать контекстное меню (правая клавиша мыши), выбрать пункт меню Построить….
Выбирая нужные поля объектов базы данных, построить выражение для расчета рейтинга. Построитель выражений отслеживает действия пользователя, пытается предостеречь его от возможных ошибок. Его внимание становится порой навязчивым. Например, после знака «:» он встраивает в текст формулы подсказку – значок «Выражение», это означает, что построитель ожидает от пользователя некоторое выражение. Такую подсказку следует собственноручно удалить из сформированного текста (рис. 12).
Рис. 13. Ввод формулы для расчета рейтинга испытания в окне построителя выражений
3. Запрос в режиме конструктора приведен на рис. 13.
Рис. 14. Запрос Запрос3-4 с вычисляемым полем РейтингРезультата в режиме конструктора.
4. Просмотреть результат запроса (рис.14).
Рис. 15. Фрагмент просмотра запроса Запрос 3-4 в режиме таблицы
5. Сохранить запрос, его имя – Запрос3-4.
Упражнение 3. 5. Подсчитать число результатов испытаний каждого студента в каждом семестре. Данные, полученные в результате запроса, должны быть упорядочены по двум полям: ФИО – по возрастанию, Семестр – по возрастанию.
1. С помощью конструктора запросов создать запрос-выборку. В область данных бланка QBE выставить таблицы Студент, Дисциплина, Сессия. В строку полей бланка QBE выставить поля: ФИО, Семестр, ДатаЭкзамена.
2. Добавить строку «Групповая операция:», для этого во вкладке Конструктор в группе Показать или скрыть выбрать команду Итоги.
3. Для результата расчетов по полю ДатаЭкзамена ввести новое имя ЧислоИспытаний, новое имя поля отделяется знаком двоеточия (:). Для расчета числа результатов испытаний в строке групповых операций выбрать функцию Count (количество значений по полю).
Рис. 16. Групповые операции в запросе. Режим конструктора
4. В строке сортировка выбрать способ упорядочивания результирующего списка: ФИО – по возрастанию, Семестр – по возрастанию (рис. 15).
5. Просмотреть результат запроса.
6. Сохранить запрос, его имя – Запрос3-5.
Упражнение 3.6. Определить рейтинг каждого студента в каждом семестре. Схема расчета:
Рейтинг студента в семестре определяется отношением суммы рейтингов результатов испытаний студента в семестре к общему числу аудиторных часов в неделю в этом семестре.
Указания.
1. Вызвать конструктор запросов.
2. В область данных бланка QBE запрос Запрос3-4.
3. В строку полей бланка QBE выставить поля: ФИО, Семестр. Добавить в бланк QBE строку Групповые операции. В строке групповых операций для полей ФИО и Семестр выбрать значение Группировка.
3. С помощью построителя выражений добавить вычисляемое поле:
РейтингВСеместре: Sum([РейтингРезультата])/Sum([ЧислоАудЧасовВНеделю])
4. Для вычисляемого поля РейтингВСеместре в строке Групповые операции выбрать значение – Выражение (рис.16).
Рис. 17. Расчет рейтинга студента по результатам испытаний каждого семестра. Запрос в режиме конструктора
5. Определить свойства поля РейтингВСеместре: формат поля – фиксированный, число десятичных знаков – 2. Определить параметр сортировки – «по убыванию» (рис. 17).
Рис. 18. Свойства поля РейтингВСеместре
6. Просмотреть результат запроса.
7. Сохранить запрос, его имя – Запрос3-6.