Практическая работа. Работа с базами данных Microsoft Access Практическое задание
Задана схема данных базы данных, содержащая информацию об учениках некоторой школы:
По заданной схеме данных требуется создать компьютерную реализацию базы данных, выполнив следующие этапы работы: создать базовые таблицы, установить связи между таблицами, заполнить таблицы данными, создать формы для просмотра и ввода данных в таблицы, создать запросы и отчеты.
Технология выполнения задания
Запустите программу Microsoft Access (Пуск – Программы – Microsoft Access). Выполните в меню Файл – Создать и затем выберите в области задач окна программы пункт Новая база данных.
В открывшемся окне сохранения файла базы данных выберите папку для сохранения, введите имя файла Школа, убедитесь в том, что установлен тип файла Базы данных Microsoft Access (*.mdb). Щелкните кнопку Создать. Откроется окно База данных.
В окне База данных на панели Таблицы дважды щелкните значок Создание таблицы в режиме конструктора – откроется бланк создания структуры таблицы:
Заполните бланк таблицы, введя с клавиатуры имена полей таблицы СЕМЬИ, выбрав для каждого поля тип данных и приняв предлагаемые программой или введя с клавиатуры (для полей текстового типа) размеры полей.
Определите поле Код_семьи как ключевое поле таблицы: выделите это поле, щелчком правой кнопки мыши откройте контекстное меню и выберите пункт Ключевое поле.
Закройте окно создания структуры таблицы в режиме Конструктор. При закрытии окна присвойте таблице имя СЕМЬИ.
Пример таблицы СЕМЬИ в режиме просмотра данных показан на рисунке:
Аналогично пунктам 3 – 6 создайте таблицу УЧЕНИКИ, в которую включите поля, указанные на рисунке.
Определите поле Код_ученика как ключевое поле таблицы.
Пример таблицы УЧЕНИКИ в режиме просмотра данных показан на рисунке:
Установите межтабличные связи. Для этого нажмите на панели инструментов кнопку Схема данных или выполните в меню команду Сервис – Схема данных. Должно открыться окно Схема данных. Одновременно с открытием этого окна открывается диалоговое окно Добавление таблицы. Щелчком на кнопке Добавить выберите таблицы и закройте окно Добавление таблицы.
Перетащите мышкой поле Код_Семьи из таблицы СЕМЬИ на поле Код_Семьи таблицы УЧЕНИКИ. При отпускании кнопки мыши автоматически откроется диалоговое окно Изменение связей. В окне Изменение связей убедитесь, что поля для связи выбраны правильно и что между таблицами установлено отношение «один-ко-многим». Щелкните на кнопке Создать.
Создайте с помощью Мастера форм форму, базирующуюся на таблицах СЕМЬИ и УЧЕНИКИ. С помощью этой формы можно будет просматривать и вводить данные сразу в две связанные таблицы. Для создания формы нужно выполнить следующие действия:
активируйте Мастер форм с помощью значка Создание формы с помощью мастера на панели Формы в окне База данных;
в диалоговом окне Создание форм выбирается сначала таблица СЕМЬИ, и все поля таблицы включаются в форму (перемещаются из поля Доступные поля в поле Выбранные поля);
затем в этом же окне выбирается таблица УЧЕНИКИ, из которой включаются все поля, кроме Код_семьи.
Выполните все этапы создания формы, приняв предлагаемые по умолчанию параметры, завершите процедуру сохранением формы с именем УЧЕНИКИ_СЕМЬИ. В результате должна получиться форма, показанная на рисунке:
Введите с помощью формы информацию о семьях и учениках.
В окне базы данных Школа откройте панель Запросы.
Создайте запрос в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос1
| Фамилия
Имя
Отчество
Дата_рождения
| Выбирает из таблицы УЧЕНИКИ информацию об учениках, родившихся в мае 2001 года
| Для создания запроса выполните следующие действия:
дважды щелкните на значке Создание запроса в режиме Конструктора – откроется бланк запроса по образцу, одновременно с ним откроется диалоговое окно Добавление таблицы;
в окне Добавление таблицы выберите таблицу УЧЕНИКИ, щелкните на кнопке Добавить, закройте окно Добавление таблицы;
в списке полей таблицы УЧЕНИКИ выберите поля, включаемые в результирующую таблицу запроса (выбор производится двойным щелчком на имени поля);
задайте условие отбора для поля Дата_рождения, введя в строку Условие отбора условие Between 01.05.2001 And 31.05.2001 (см. рисунок);
закройте бланк запроса по образцу, при закрытии сохраните запрос с именем Запрос1;
в окне Школа: база данных двойным щелчком мыши по имени запроса откройте только что созданный запрос, проанализируйте результирующую таблицу. Ее содержание зависит от того, что было введено в таблицу УЧЕНИКИ при ее заполнении данными.
Создайте запрос по данным из таблиц СЕМЬИ и УЧЕНИКИ в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос2
| Фамилия
Имя
Отчество
Доход_семьи_среднемесячный
| Выбирает из таблицы УЧЕНИКИ информацию об учениках из семей со среднемесячным доходом от 20000 до 30000 рублей
| Выполните запрос и проанализируйте полученную результирующую таблицу.
Создайте запрос по данным из двух взаимосвязанных таблиц СЕМЬИ и УЧЕНИКИ в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос3
| Фамилия
Имя
Отчество
ФИО_контактного_лица
Статус_контактного_лица
Место_работы
Должность
Телефон
| Выбирает из таблиц СЕМЬИ и УЧЕНИКИ информацию о учениках и контактных лицах тех семей, для которых в качестве контактного лица указан отец.
| Выполните запрос и проанализируйте полученную результирующую таблицу.
Создайте и выполните запрос по таблице СЕМЬИ в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос4
| ФИО_контактного_лица
Статус_контактного_лица
Место_работы
Должность
Телефон
| Выбирает из таблицы СЕМЬИ информацию о контактных лицах, работающих в ОАО АВТОВАЗ.
| Сохраните и выполните запрос. Проанализируйте полученную результирующую таблицу.
Создайте и выполните запрос с параметром в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос5
| Код_ученика
Фамилия
Имя
Отчество
Состав_семьи
| Выбирает из таблиц СЕМЬИ и УЧЕНИКИ информацию об учениках из семей с заданным составом. При этом конкретное число членов семьи (состав семьи) вводится при выполнении запроса.
| Для поля Состав_семьи в строке Условие отбора введите условие на ввод параметра в квадратных скобках: [Введите число членов семьи].
Рис. 2.42. Запрос с параметром в режиме Конструктор
Выполните запрос. При выполнении откроется диалоговое окно для ввода значения параметра. Введите одно из значений в поле Состав_семьи, которые есть в Вашей таблице СЕМЬИ (например, 3). Введенное значение будет использовано в качестве критерия отбора записей из таблицы.
Создайте и выполните запрос с параметром-диапазоном в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос6
| Адрес
Состав_семьи
Доход_семьи_среднемесячный
Фамилия
Имя
Отчество
| Выбирает из таблиц СЕМЬИ и УЧЕНИКИ информацию об учениках, среднемесячный доход в семьях которых находится в некотором заданном диапазоне. Нижняя и верхняя границы диапазона вводятся в процессе выполнения запроса.
| При конструировании запроса в строке Условие отбора для поля Доход_семьи_среднемесячный введите выражение
Between [Введите нижнюю границу дохода] And [Введите верхнюю границу дохода]
Выполните запрос. При выполнении запроса сначала появится диалоговое окно для ввода нижней границы диапазона значений поля Доход_семьи_среднемесячный, затем – для ввода верхней границы. Эти значения будут использованы для определения кодов учеников в таблице УЧЕНИКИ, среднемесячный доход в семьях которых попадает в заданный диапазон. По этим кодам будут отбираться данные из таблицы УЧЕНИКИ.
Создайте и выполните запрос с вычисляемыми полями в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос7
| Фамилия
Имя
Отчество
Состав_семьи
Доход_семьи_среднемесячный
| Вычисляет для каждого ученика доход на 1 человека в семье по формуле:
Доход_на_1_человека: [Доход_семьи_среднемесячный]/
[Состав_семьи]
| Для создания запроса выполните следующие действия:
в окне Добавление таблицы выберите таблицы СЕМЬИ и УЧЕНИКИ. Выберите поля, включаемые в запрос;
в новом поле бланка запроса в строке Поле введите формулу Доход_на_1_человека: [Доход_семьи_среднемесячный]/[Состав_семьи].
Сохраните и выполните запрос.
Создайте итоговый запрос в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос8
| Состав_семьи
Доход_семьи_среднемесячный
(трижды)
| Вычисляет среднее, наибольшее и наименьшее значение по полю Доход_семьи_среднемесячный
для семей с различным составом (численностью).
| Для создания запроса выполните следующие действия:
дважды щелкните на значке Создание запроса в режиме Конструктора – откроется бланк запроса по образцу, в окне Добавление таблицы выберите таблицу СЕМЬИ;
включите в запрос поле Состав_семьи и трижды включите поле Доход_семьи_среднемесячный;
на панели инструментов в окне программы Microsoft Access щелкните на кнопке Групповые операции или воспользуйтесь командами меню (Вид – Групповые операции), в нижней части бланка появится строка Групповые операции;
Рис. 2.46. Формирование итогового запроса
для поля, по которому производится группировка записей (в нашем случае – поле Состав_семьи), оставьте в строке Групповые операции значение Группировка, для остальных полей щелкните в этой строке – появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле;
для первого поля Доход_семьи_среднемесячный выберите итоговую функцию Avg для определения среднего значения оклада по каждой должности, для второго поля Доход_семьи_среднемесячный – итоговую функцию Max, для третьего поля Доход_семьи_среднемесячный – итоговую функцию Min;
закройте бланк запроса по образцу, присвоив запросу имя Запрос8.
Выполните запрос и проанализируйте результирующую таблицу.
Создайте запрос на создание базовой таблицы. В результате выполнения этого запроса в базе данных будет создана новая базовая таблица АДРЕСА_УЧЕНИКОВ.
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос9
| Код_ученика
Фамилия
Имя
Отчество
Адрес
| Создает новую базовую таблицу АДРЕСА_УЧЕНИКОВ
| Для создания запроса выполните следующие действия:
дважды щелкните на значке Создание запроса в режиме Конструктора – откроется бланк запроса по образцу, в окне Добавление таблицы выберите таблицы СЕМЬИ и УЧЕНИКИ;
включите в запрос поля Код_ученика, Фамилия, Имя, Отчество из таблицы УЧЕНИКИ и поле Адрес СЕМЬИ;
откройте список инструмента Тип запроса (рис. 2.47) и выберите Создание таблицы;
в открывшемся диалоговом окне Создание таблицы введите имя новой таблицы АДРЕСА_УЧЕНИКОВ, установите переключатель в текущей базе данных и нажмите кнопку OK;
закройте бланк запроса по образцу, сохранив запрос с именем Запрос9.
Выполните запрос. Ответьте «Да» на все выводимые программой вопросы. Переключитесь в окне базы данных на панель Таблицы. В списке таблиц должна появиться новая таблица АДРЕСА_УЧЕНИКОВ. Откройте таблицу, просмотрите ее содержимое.
Создайте Автоотчет «в столбец» на базе таблицы УЧЕНИКИ в соответствии со следующими требованиями:
Имя отчета
| Включаемые в отчет поля
| Представленные в отчете данные и тип отчета
| Отчет1
| Все поля таблицы УЧЕНИКИ
| Автоотчёт «в столбец» отображает данные из таблицы УЧЕНИКИ.
| Для создания отчета выполните следующие действия:
в окне Школа: база данных откройте панель Отчеты;
для создания автоотчета Отчет1 щелкните кнопку Создать и выберите в открывшемся окне Новый отчет опцию Автоотчет: в столбец;
выберите таблицу УЧЕНИКИ и щелкните кнопку OK. Закройте отчет, при закрытии сохраните его, присвоив имя Отчет1.
Завершите работу с базой данных.
|