Разработка базы данных "Отдел кадров предприятия" в среде MS ACCESS
Оборудование: компьютеры, проектор, экран, программные средства: пакет Microsoft Office.
Создадим спроектированную на прошлом уроке базу данных “Отдел кадров предприятия”, она состоит из четырех таблиц – СОТРУДНИКИ, ЗАДАНИЕ, ОТДЕЛ и ДОЛЖНОСТЬ.
Структура каждой таблицы создается с помощью конструктора таблиц. В конструкторе указываются имена полей, типы и форматы полей, назначаются ключи.
Определим типы полей и назначим ключевое поле в каждой таблице.
В таблице “ЗАДАНИЕ”:
Имя поля Тип данных Код задания Числовой Название отдела Текстовый Код отдела ЧисловойКлючевое поле - Код задания.
В таблице “ОТДЕЛ”:
Имя поля Тип данных Код отдела Числовой Название отдела ТекстовыйКлючевое поле - Код отдела.
В таблице “ДОЛЖНОСТЬ”:
Имя поля Тип данных Код должности Числовой Название должности Текстовый Оклад ЧисловойКлючевое поле - Код должности.
В таблице “СОТРУДНИКИ”:
Имя поля Тип данных Номер сотрудника Числовой Фамилия Текстовый Имя Текстовый Отчество Текстовый Стаж работы в организации Числовой Пол Текстовый Дата рождения Дата/время Адрес Текстовый Телефон Числовой Код задания Числовой Код должности ЧисловойКлючевое поле – Номер сотрудника.
Установим связи между таблицами:
- выполнить команду Сервис/Схема данных;
- в диалоговом окне Добавление таблицы выделить название таблицы СОТРУДНИКИ и выполнить команду Добавить;
- выделить название таблицы ЗАДАНИЕ; выполнить команду Добавить;
- выделить название таблицы ДОЛЖНОСТЬ; выполнить команду Добавить;
- выделить название таблицы ОТДЕЛ; выполнить команду Добавить, затем команду Закрыть.
2. В результате на поле окна Схема данных появятся образы четырех таблиц.
Нажав левую кнопку мыши, следует перетащить ключевое поле Код должности из таблицы ДОЛЖНОСТЬ к одноименному полю внешнего ключа таблицы СОТРУДНИКИ.
3. Откроется окно Изменение связей. Тип связи “один-ко-многим” будет выбран автоматически.
4. Последовательно активизируйте флажки “Обеспечить целостность данных”, “Каскадное обновление связанных полей” и “Каскадное удаление связанных записей”.
Целостность базы данных обозначает то, что БД содержит непротиворечивую информацию (пример: если в таблице “СОТРУДНИКИ” появиться запись с кодом задания, которого нет в таблице “ЗАДАНИЕ”, то будет нарушена целостность, и система информирует об этом факте пользователя).
Каскадное обновление и удаление поддерживает целостность данных в случае их изменения (пример: если из таблицы “ДОЛЖНОСТЬ” удалить запись, например, о директоре, то из таблицы “СОТРУДНИКИ” исчезнут все записи о директорах).
5. Выполните команду Создать.
6. Следует перетащить ключевое поле Код задания из таблицы ЗАДАНИЕ к одноименному полю внешнего ключа таблицы СОТРУДНИКИ, и ключевое поле Код отдела из таблицы ОТДЕЛ к одноименному полю внешнего ключа таблицы ЗАДАНИЕ.
7. Схема готова. Осталось сохранить схему и закрыть окно.
8. Теперь, чтобы вывести на экран любую из созданных таблиц, нужно щелкнуть мышью на ее имени на вкладке Таблицы и выполнить команду Открыть. Открытую таблицу можно просматривать, можно редактировать информацию в ней, добавлять новые записи. Если вам потребуется изменить структуру таблицы, то нужно перейти в режим конструктора и внести изменения.
Пример практического задания, выполненного учащимися, представлен в Приложении 1.
Чтобы СУБД контролировала целостность при вводе данных, при заполнении таблиц порядок должен быть следующий (подчиненная таблица заполняется в последнюю очередь):
Так как данная тема рассматривалась при изучении базового курса информатики, учащиеся самостоятельно создают базу данных “Отдел кадров предприятия” в MS Access, используя результаты домашнего задания (см. урок “Нормализация баз данных”).
Пример практического задания, выполненного учащимися, представлен в Приложении 2.
В базовом курсе информатики мы уже создавали различные объекты в СУБД. Рассмотрим создание некоторых объектов – запросов и отчетов к многотабличной базе данных.
1. Требуется составить список сотрудниц (Ф., И., О.), стаж которых не менее 25 лет и работающих в должности директора.
При формировании запроса выбираются таблицы “ДОЛЖНОСТЬ” и “СОТРУДНИКИ”.
Запрос, реализованный в конструкторе Access:
Результат выполнения запроса представлен в Приложении 3.
2. Требуется составить список сотрудниц (Ф., И., О., поля Имя и Отчество – в алфавитном порядке) из первого отдела, имя которых начинается на букву “А”, и мужчин сотрудников из второго отдела в фамилии которых втора буква “О”.
При формировании запроса выбираются таблицы “ОТДЕЛ”, “ЗАДАНИЕ” и “СОТРУДНИКИ”.
Запрос, реализованный в конструкторе Access:
Результат выполнения запроса представлен в Приложении 4.
3. Подсчитать сотрудников, работающих в должности технический редактор с 5 стажем работы в каждом отделе.
При формировании запроса выбираются все созданные таблицы – “ДОЛЖНОСТЬ”, “ОТДЕЛ”, “ЗАДАНИЕ” и “СОТРУДНИКИ”.
Запрос, реализованный в конструкторе Access:
Результат выполнения запроса представлен в Приложении 5.
4. Создайте запрос, который по введенному стажу выдает сведения о сотрудниках (Ф., И., О., Должность) и отражает начисление премии (Стаж работы в организации/10*Оклад).
При формировании запроса выбираются таблицы “ДОЛЖНОСТЬ” и “СОТРУДНИКИ”.
Запрос, реализованный в конструкторе Access:
Результат выполнения запроса представлен в Приложении 6.
Создайте отчет “Премия”, который по введенному стажу выдает сведения о сотрудниках (Ф., И., О., Должность) и отражает начисление премии (Стаж работы в организации/10*Оклад).
Воспользуемся мастером отчетов. Результат выполнения отчета представлен в Приложении 7.
1. Создайте запросы №№1 – 4.
2. Создайте собственные запросы (не менее 5).
3. Создайте отчет “Премия”.
4. Создайте собственные отчеты (не менее 3).
5. Создайте форму для ввода данных, используя мастер форм (самостоятельно выбрать поля для формы).