Добавлен: 30.06.2023
Просмотров: 80
Скачиваний: 3
Структура нашего предприятия предусматривает наличие следующих отделов: администрация (директор и секретарь); бухгалтерия (бухгалтеры); производство; административно-хозяйственный отдел (уборщицы).
Для хранения информации о должностях сконструируем отношение «Должности». Очевидно, что нам необходимо хранить информацию о названии должности и должностном окладе.
Для хранения информации об образовании сотрудников сконструируем отношение «Образование». Очевидно, что нам необходимо хранить информацию о названии образования и надбавке.
Для хранения информации об отработанном времени «Отработанное время». Определим, как же связана информация этих информационных объектов.
В организации может работать несколько человек, занимающих одну должность Связь между информационными объектами «Должность» и «Сотрудники» - «один ко многим».
В организации может работать несколько человек, имеющих одинаковое образование Связь между информационными объектами «Образование» и «Сотрудники» - «один ко многим».
Связь между информационными объектами «Сотрудники» и «Отработанное время» – «один ко многим».
Мы проанализировали нашу предметную область, выделили основные информационные объекты – отношения, установили связи между ними.
Рис. 2. ER-модель
1.4.Проектирование физической структуры базы данных.
Для решения проблемы логического проектирования используется классический подход, при котором весь процесс проектирования производится в терминах реляционной модели данных методом последовательных приближений к удовлетворительному набору схем отношений.
Каждое реляционное отношение соответствует одной сущности (объекту предметной области) и в него вносятся все атрибуты сущности. Для каждого отношения необходимо определить первичный ключ и внешние ключи (если они есть). Потенциальными ключами вспомогательных отношений являются комбинации первичных ключей соответствующих базовых отношений.
Построенные отношения приведены в таблицах, с указанием атрибутов и их внутренних названий, типа и длины.
Таблица 1
Сущность «Должности».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первичный ключ |
Внешний ключ |
Код должности |
Числовой |
Длинное целое |
- |
Да |
Нет |
Должность |
Текстовый |
20 |
- |
Нет |
Нет |
Тарифная ставка |
Денежный |
Денежный |
- |
Нет |
Да |
Таблица 2
Сущность «Месяц».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первичный ключ |
Внешний ключ |
Код месяца |
Числовой |
Длинное целое |
- |
Да |
Нет |
Месяц |
Текстовый |
20 |
- |
Нет |
Нет |
Таблица 3
Сущность «Отдел».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первичный ключ |
Внешний ключ |
Код отдела |
Числовой |
Длинное целое |
- |
Да |
Нет |
Отдел |
Текстовый |
20 |
- |
Нет |
Нет |
Таблица 4
Сущность «Образование».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первичный ключ |
Внешний ключ |
Код образова-ния |
Числовой |
Длинное целое |
- |
Да |
Нет |
Образова-ние |
Текстовый |
20 |
- |
Нет |
Нет |
Надбавка |
Денежный |
- |
Нет |
Да |
Таблица 5
Сущность «Сотрудники».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первичный ключ |
Внешний ключ |
Код сотрудника |
Счетчик |
Длинное целое |
- |
Да |
Нет |
Фамилия |
Текстовый |
255 |
- |
Нет |
Да |
Имя |
Текстовый |
15 |
- |
Нет |
Нет |
Отчество |
Текстовый |
15 |
Нет |
Нет |
|
Код должности |
Числовой |
Длинное целое |
- |
Нет |
Нет |
Код образования |
Числовой |
Длинное целое |
- |
Нет |
Да |
Код отдела |
Текстовый |
255 |
- |
Нет |
Да |
Адрес сотрудника |
Текстовый |
255 |
- |
Нет |
Нет |
Паспортные данные |
Текстовый |
255 |
- |
Нет |
Нет |
Количество детей |
Числовой |
Длинное целое |
- |
Нет |
Да |
Дата рождения |
Дата/Время |
Длинный формат даты |
- |
Нет |
Нет |
Общий стаж работы |
Числовой |
Длинное целое |
- |
Нет |
Нет |
Таблица 6
Сущность «Отработанное время».
Имя поля |
Тип данных |
Размер поля |
Ограничения |
Первич-ный ключ |
Внешний ключ |
Код Сотрудника |
Числовой |
Длинное целое |
- |
Нет |
Нет |
Код Месяца |
Числовой |
Длинное целое |
- |
Нет |
Нет |
Отработанное время |
Числовой |
Длинное целое |
- |
Нет |
Нет |
Нормализация полученных отношений.
Реляционная база данных содержит как структурную, так и семантическую информацию. Структура базы данных определяется числом и видом включенных в нее отношений, и связями типа "один-ко-многим", существующими между кортежами этих отношений. Семантическая часть описывает множество функциональных зависимостей, существующих между атрибутами этих отношений. Дадим определение функциональной зависимости.
Если даны два атрибута X и Y некоторого отношения, то говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y.
Можно сказать, что функциональные зависимости представляют собой связи типа "один-ко-многим", существующие внутри отношения.
В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:
- первая нормальная форма (1НФ);
- вторая нормальная форма (2НФ);
- третья нормальная форма (3НФ);
- нормальная форма Бойса – Кодда (НФБК);
- четвертая нормальная форма (4НФ);
- пятая нормальная форма, или нормальная форма проекции соединения (5НФ).
Чаще всего ограничиваются первыми тремя нормальными формами, так как дальнейшая декомпозиция таблиц замедляет обработку данных.
1) База данных находится в первой нормальной форме, если все ее таблицы являются отношениями, а столбцы таблиц удовлетворяют условию атомарности, т. е. первый этап нормализации базы данных - назначение первичных ключей для каждой таблицы, т.е. превращение ее в отношение, проверка атрибутов таблиц на атомарность. Атомарным называется атрибут, значения которого логически неделимы.
2) Вторая нормальная форма к требованию атомарности атрибутов добавляет еще одно - каждый не ключевой атрибут должен функционально полно зависеть от первичного ключа (не должен зависеть от части составного ключа).
3) Третья нормальная форма подразумевает атомарность и функционально полную зависимость атрибутов каждой сущности от ее первичного ключа. Кроме того, между не ключевыми атрибутами сущности должны отсутствовать транзитивные зависимости, т.е. они должны быть взаимно независимы.
Таким образом, были устранены функциональные зависимости и исключена явная избыточность в таблицах. Также удалось избавиться от транзитивных зависимостей.
Рис. 3 Схема данных
2 глава. Практическая часть
2.1. Контрольный пример решения задачи.
Запустим программу. На экране появится кнопочная форма
Рис. 4 Главная кнопочная форма
Страницы кнопочной формы.
Для ввода данных нажмем на кнопочной форме соответствующую кнопку и выполним ввод данных при помощи форм
Рис.5 Форма Сотрудники в режиме Просмотра
Рис. 6 Форма Должности в режиме Просмотра
Рис. 7 Форма Месяц в режиме Просмотра
Рис. 8 Форма Отдел в режиме Просмотра
Рис. 9 Форма Образование в режиме Просмотра
Рис. 10 Форма Отработанное время в режиме Просмотра
Для корректировки данных используем запросы на добавление, изменение и удаление
Рис.11 Выполнение запросов
Для вывода отчетной информации нажмем на кнопочной форме соответствующую кнопку и откроется отчет
Рис.12 Отчет Табель
Рис.13 Отчет Ведомость
Рис.14 Отчет Малооплачиваемые
Рис.15 Отчет Начислено месяц
Рис.16 Отчет Расчетный листок
Рис.17 Отчет Сотрудники
2.2. Разработка интерфейса и реализация проекта.
Создание Главной кнопочной формы.
Создаем вспомогательные формы: Формы, Запросы и Отчеты в режиме Конструктора. На них помещаем кнопки для работы с соответствующими объектами, а так же кнопку для перехода в главную форму. Затем создаем главную форму На нее помещаем кнопки для работы со вспомогательными формами, а так же кнопку для выхода из приложения.
Рис. 18 Страница главной кнопочной формы.
Макеты экранных форм.
Форма «Сотрудники» предназначена для ввода в базу данных информации о сотрудниках нашей фирмы.
В окне базы данных выбираем корешок «формы», по нажатию на кнопку «создать» появляется окно диалога, в котором отмечаем, что форма будет создана конструктором, и выбираем таблицу «Кадры», для которой хотим сконструировать форму.
Так как форма «Сотрудники» как и любая другая форма для ввода данных состоит из трех основных частей: области заголовка, области данных и области примечания, то необходимо включить переключатель в выпадающем меню из пункта верхнего меню «вид» - «заголовок/примечание». Затем необходимо проверить наличие на экране панели элементов. На панели элементов обязательно должна быть нажата кнопка мастера. Также необходимо проверить, что на экран выведен список полей таблицы, в которую будут вводиться данные.
В области заголовка создается надпись – «Личная карточка сотрудника». Для создания надписи на панели элементов выбираем кнопку «надпись» и определяем область, в которой будет надпись. Затем с клавиатуры вписываем необходимый текст. Также в область заголовка формы поместим эмблему нашей фирмы. Для этого на панели элементов выберем кнопку «свободная рамка объекта», определим область, в которой будет наша эмблема, и в открывшемся окне диалога покажем путь к файлу, в котором находится рисунок с эмблемой. Можно воспользоваться любым файлом с рисунком из имеющихся на компьютере, или нарисовать свою эмблему заранее, воспользовавшись графическим редактором.