1.
Исходные данные
Проектирование реляционной БД заключается в разработке структуры данных, т.е. в определении состава таблиц и связей между ними.
Постановка задачи: необходимо спроектировать базу данных,
которая содержит сведения о сотрудниках организации (фирмы).
Цель разработки - предоставить пользователям возможность пополнять данные о персонах, вводить изменения в номенклатуру должностей, окладов, вести контроль стажа работы сотрудников, формировать типовые запросы к БД по категориям сотрудников с учетом их заработной платы, проводить вычисления суммарной заработной платы, средней по категориям.
Назначение БД – предоставить доступ к материалам БД различных категорий сотрудников организации (фирмы) для решения конкретных задач:
- Руководство организации:
· Составление списков на выдвижение в резерв сотрудников для замещения вакантных должностей.
- Отдел делопроизводства (канцелярия):
· Организовывать контакты с сотрудниками на основе списка телефонной книги.
· Готовить корреспонденцию для отправки сотрудникам по домашним адресам.
- Отдел кадров:
- Планово-экономический отдел:
- Бухгалтерия:
Сбор исходных данных: построим таблицу со сведениями о сотрудниках организации, которая представлена ниже (Таблица 1).
Шаги разработки базы данных:
1) Устранение избыточности данных, проведение процедуры нормализации – декомпозиция исходной таблицы на составляющие.
2) Формирование таблиц с данными.
3) Установление связей между таблицами.
4) Создание типовых запросов к базе данных.
5) Формирование отчетов.
6) Разработка форм для взаимодействия пользователя с базой данных.
Таблица 1
№ |
Фамилия, инициалы |
Должность |
Стаж работы |
Дата рождения |
Оклад (ставка) |
Надбавка за стаж |
Домашний адрес |
1 |
Иванов |
Инженер |
15 |
01.01.1970 |
1800 |
700 |
Эти поля будут заполнены позже |
2 |
Петров |
Ст. инженер |
5 |
31.12.1984 |
2500 |
300 |
|
3 |
Яковлева |
Зав. отделом |
10 |
23.03.1967 |
4000 |
500 |
|
4 |
Фомин |
Инженер |
Не имеет |
13.06.1945 |
1800 |
0 |
|
5 |
Кузнецов |
Ст. инженер |
5 |
16.12.1956 |
2500 |
300 |
|
6 |
Вавилова |
Ст. инженер |
10 |
03.12.1963 |
2500 |
500 |
|
7 |
Смирнова |
Инженер |
15 |
25.02.1945 |
1800 |
700 |
|
8 |
Угорелов |
Инженер |
15 |
22.06.1973 |
1800 |
700 |
|
9 |
Агеев |
Инженер |
10 |
04.04.1979 |
1800 |
500 |
|
10 |
Лошкина |
Ст. инженер |
Не имеет |
08.11.1965 |
2500 |
0 |
|
Таблица 2 - Сотрудники
Фамилия, инициалы |
Должность |
Дата рождения |
Стаж работы |
Телефон |
Резюме |
|
|
|
|
|
|
|
|
|
|
|
|
Таблица
3 – Штатные должности
Должность |
Оклад
(ставка) |
|
|
|
|
Таблица
4 – Выслуга лет
Стаж
работы |
Надбавка
за стаж |
|
|
|
|
1.1.
Нормализация базы данных
Исходной таблицей является та, в которой собраны все интересующие атрибуты для обеспечения решения задач, поставленных при обследовании объекта управления. Следует отметить, что такую таблицу часто дополняют новыми полями, например, если понадобится хранить номера телефонов сотрудников, тогда это поле присоединяется к таблице. В рассматриваемом примере, исходная таблица (Таблица 1) содержит наименования полей и значения атрибутов для того, чтобы легче было разобраться в последовательности ее нормализации.
Анализ исходной таблицы показывает, что фамилии сотрудников фирмы будут использованы во многих задачах, поэтому целесообразно выбрать это поле в качестве ключевого для таблицы, которая будет содержать индивидуальные данные по каждому сотруднику (Дата рождения, стаж работы, телефон, резюме и т.п.). Вместе с тем, можно предположить, что возможны повторяющиеся фамилии на фирме, тогда следует иметь в виду дополнительные сведения о сотруднике, например, «Должность». Пара атрибутов «Фамилия и Должность» будут однозначно идентифицировать сотрудника. Таблица 2 содержит некоторый набор полей, которые относятся к конкретной фамилии.
Следующим шагом анализа оставшихся полей в таблице 1, является поиск существующих функциональных зависимостей между атрибутами. Можно сделать вывод, что атрибут «Оклад (ставка)» находится в зависимости от части первичного ключа – атрибута «Должность», следовательно, целесообразно разделить на две таблицы оставшиеся поля. В частности, таблица 3 (Штатные должности) содержит только атрибуты полей «Должность» и «Оклад (ставка)». Таблица 4 (Выслуга лет) содержит поля – «Стаж работы и «Надбавка за стаж».
1.2.
Создание пустой базы данных
Файл – Создать – Новая база данных
На диске C:\ создать паку и в ней сохранить проект под именем: Сотрудники фирмы.mdb
Появится окно, представленное на рис. 1.1.
Рис. 1.1.
Вопросы для самоконтроля
1. С чего следует начинать при проектировании реляционной базы данных?
2. На что следует разработчику обращать внимание БД при сборе и обобщении материалов?
3. Как осуществляется нормализация общей таблицы и получения ее составляющих элементов?
Задания для самостоятельной работы
· Дайте предложение по формированию базы данных со сведениями о работе библиотеки.
· Предложите наименования полей базы данных, которые отражают сведения о книгах (название, автор, год выпуска, количество страниц и т.п.), а также о полях, которые характеризуют читателей.