Создание курсовой работы по базам данных часто становится серьезным испытанием. Студенты сталкиваются с проблемой неэффективности ручного учета данных в выбранной предметной области, будь то автосалон, библиотека или отдел кадров, где операции отнимают много времени и чреваты ошибками. Автоматизация этих процессов с помощью Системы Управления Базами Данных (СУБД) является современным и эффективным решением. Microsoft Access, как часть пакета Microsoft Office, представляет собой доступный инструмент для решения этой задачи, позволяя создавать мощные реляционные базы данных без глубоких навыков программирования.
Цель данной курсовой работы — разработать и реализовать базу данных для комплексной автоматизации деятельности выбранного предприятия. Для достижения этой цели необходимо решить ряд последовательных задач:
- Провести анализ предметной области, выявить ключевые бизнес-процессы и информационные потребности.
- Спроектировать логическую и физическую структуру базы данных, выполнив ее нормализацию.
- Реализовать спроектированную структуру в среде MS Access: создать таблицы и установить между ними связи.
- Разработать пользовательский интерфейс: формы для удобного ввода и редактирования данных.
- Создать запросы для анализа данных и отчеты для наглядного представления информации.
- Объединить все элементы в единое приложение с помощью главной кнопочной формы.
Этот план представляет собой дорожную карту, которая проведет нас через все этапы создания полноценного программного продукта, начиная с теоретических основ.
Глава 1. Теоретический фундамент для вашей курсовой работы
Прежде чем приступать к практике, необходимо заложить прочный теоретический фундамент. Понимание ключевых концепций продемонстрирует глубину вашего анализа и станет основой для всех дальнейших действий. В основе всего лежит понятие Базы данных (БД) — это не просто набор таблиц, а организованная, совместно используемая совокупность связанных данных, предназначенная для эффективного хранения и удовлетворения информационных потребностей.
Управление этой структурой осуществляет СУБД (Система Управления Базами Данных), и в нашем случае это Microsoft Access. Процесс проектирования базы данных проходит через три иерархических уровня моделей:
- Концептуальная модель: Самый верхний уровень, описывающий объекты и связи в предметной области в общих чертах, без привязки к конкретной СУБД.
- Инфологическая (логическая) модель: Детализирует концептуальную модель, представляя ее в виде конкретной структуры, например, реляционной (набор связанных таблиц). Здесь определяются сущности, атрибуты и типы связей.
- Физическая модель: Самый низкий уровень, описывающий, как логическая модель будет реализована в конкретной СУБД, включая точные типы данных, индексы и другие технические параметры.
Ключевым процессом при проектировании является нормализация — пошаговое приведение структуры таблиц к виду, исключающему избыточность данных и потенциальные аномалии при их обновлении, добавлении или удалении. Обычно достаточно привести таблицы к третьей нормальной форме (3НФ):
- Первая нормальная форма (1НФ): Все атрибуты таблицы являются атомарными (неделимыми), и в таблице нет повторяющихся групп столбцов.
- Вторая нормальная форма (2НФ): Таблица находится в 1НФ, и все неключевые атрибуты полностью зависят от всего составного первичного ключа (если он есть).
- Третья нормальная форма (3НФ): Таблица находится в 2НФ, и все неключевые атрибуты зависят только от первичного ключа, а не от других неключевых атрибутов.
Для реализации всего этого в MS Access используются его основные объекты:
- Таблицы — основной элемент, предназначенный непосредственно для хранения данных в виде строк (записей) и столбцов (полей).
- Формы — «лицо» базы данных, предоставляющее удобный пользовательский интерфейс для ввода, просмотра и редактирования данных.
- Запросы — мощный инструмент для поиска, фильтрации, сортировки, объединения и вычисления данных из одной или нескольких таблиц.
- Отчеты — служат для представления данных в наглядном, отформатированном и готовом к печати виде.
Глава 2. Практическая реализация базы данных
2.1. Анализ предметной области и постановка задачи
Практическая работа начинается с глубокого погружения в выбранную предметную область. От того, насколько точно вы поймете и опишете бизнес-процессы, зависит корректность всей будущей структуры данных. В качестве примера рассмотрим деятельность отдела кадров предприятия.
Процессы в отделе кадров включают прием сотрудников на работу, их перевод на другие должности, оформление отпусков и больничных, а также увольнение. Для автоматизации этой деятельности информационная система должна решать конкретные задачи: хранить личные данные сотрудников, полную информацию о штатном расписании (отделы и должности), а также вести историю всех кадровых перемещений. Ключевое требование — система должна позволять мгновенно находить информацию о любом сотруднике и автоматически формировать отчеты, например, по штатному расписанию отдела.
На основе этого описания мы можем выделить ключевые сущности и их атрибуты:
- Сотрудники: Табельный номер, ФИО, дата рождения, паспортные данные, дата приема.
- Должности: Код должности, наименование должности, оклад.
- Отделы: Код отдела, наименование отдела, ФИО руководителя.
- Кадровые перемещения: Запись о приеме, переводе или увольнении, содержащая ссылку на сотрудника, его новую должность и дату события.
Этот список становится техническим заданием для следующего этапа — проектирования структуры.
2.2. Проектирование структуры. От инфологической модели к физической
Определив сущности, мы переходим к их визуализации и формализации. Первым шагом является построение инфологической модели, чаще всего в виде ER-диаграммы (Entity-Relationship). На ней сущности изображаются как прямоугольники, а связи между ними — как линии. Например, между «Отделами» и «Сотрудниками» будет связь «один-ко-многим», так как в одном отделе может работать много сотрудников, но каждый сотрудник приписан только к одному отделу.
Далее ER-диаграмма трансформируется в даталогическую (реляционную) модель — набор таблиц. Связи «один-ко-многим» реализуются путем добавления первичного ключа из «главной» таблицы (Отделы) в «подчиненную» (Сотрудники) в качестве внешнего ключа. Более сложные связи, такие как «многие-ко-многим» (например, «Студент» и «Курс»), требуют создания отдельной, промежуточной таблицы.
Процесс нормализации — это не формальность, а гарантия целостности и эффективности вашей базы данных. Покажем его на примере.
Допустим, изначально мы создали «неправильную» таблицу `Сотрудники`, где для каждого сотрудника в одной строке указан отдел и ФИО начальника отдела. Это нарушает третью нормальную форму (3НФ), так как ФИО начальника зависит не от первичного ключа (Табельный номер), а от неключевого поля (Отдел). Чтобы это исправить, мы выносим информацию об отделах в отдельную таблицу `Отделы` (`КодОтдела`, `Название`, `ФИО_Начальника`), а в таблице `Сотрудники` оставляем только внешний ключ `КодОтдела`.
В результате проектирования мы получаем физическую модель — итоговый список таблиц с четко определенными полями, их типами данных и ключами:
- tblEmployees: EmployeeID (Счетчик, PK), FullName (Текстовый), BirthDate (Дата/Время), DepartmentID (Числовой, FK).
- tblDepartments: DepartmentID (Счетчик, PK), DepartmentName (Текстовый).
- tblPositions: PositionID (Счетчик, PK), PositionName (Текстовый), Salary (Денежный).
- tblMovements: MovementID (Счетчик, PK), EmployeeID (Числовой, FK), PositionID (Числовой, FK), MovementDate (Дата/Время).
2.3. Создание таблиц и схемы данных в MS Access
С готовым проектом на бумаге можно переходить к его физической реализации в MS Access. Это методичный процесс, который требует внимательности.
- Создание таблиц. Для каждой таблицы из физической модели необходимо перейти в Режим конструктора. В этом режиме вы построчно вводите имена полей и выбираете для каждого из них подходящий тип данных: `Счетчик` для уникального первичного ключа (PK), `Текстовый` для имен и названий, `Числовой` для внешних ключей (FK), `Дата/Время` для дат.
- Настройка свойств полей. Для каждого поля важно задать дополнительные свойства в нижней части конструктора. Например, ограничить размер текстового поля, задать маску ввода для номера телефона или сделать поле обязательным для заполнения.
- Создание Схемы данных. После создания всех таблиц, их нужно связать. Для этого используется инструмент «Схема данных». На рабочую область добавляются все таблицы, после чего вы физически «протягиваете» мышью линию от первичного ключа (PK) одной таблицы к соответствующему внешнему ключу (FK) в другой.
- Обеспечение целостности данных. При создании связи Access предложит окно «Изменение связей». Здесь критически важно установить галочку «Обеспечение целостности данных». Это запретит создавать записи в подчиненной таблице, если нет соответствующей записи в главной (например, нельзя добавить сотрудника в несуществующий отдел). Опции каскадного обновления и удаления позволяют автоматически изменять или удалять связанные записи, поддерживая базу в актуальном состоянии.
2.4. Разработка пользовательских форм для ввода и навигации
Таблицы — это скелет для хранения данных, но работать с ними напрямую неудобно и рискованно для пользователя. Для взаимодействия с БД создаются формы, которые являются ее графическим интерфейсом.
Простейший способ — использовать «Мастер форм», который за несколько шагов создаст стандартную форму для выбранной таблицы. Однако для серьезной курсовой работы нужно продемонстрировать более глубокие навыки. Ключевым является создание сложных (составных) форм. Например, можно создать главную форму «Сотрудник», а в нее встроить подчиненную форму, отображающую историю его кадровых перемещений из связанной таблицы. Это наглядно демонстрирует работу связей «один-ко-многим».
Любая форма должна быть оснащена элементами управления для удобства пользователя. На вкладке «Конструктор» можно добавить:
- Кнопки: для выполнения стандартных действий (добавить новую запись, сохранить, удалить, найти, закрыть форму).
- Списки (поля со списком): для выбора значения из другой таблицы (например, чтобы выбрать должность из таблицы должностей, а не вводить ее вручную, рискуя ошибиться).
После создания всех форм необходимо заполнить базу данных 10-15 примерами записей, чтобы на следующих этапах было с чем работать.
2.5. Создание запросов для анализа и обработки данных
База данных не просто хранит информацию, но и позволяет ее анализировать. Эту функцию выполняют запросы. Они позволяют извлекать данные по сложным критериям, которые невозможно задать простой фильтрацией в таблице. В курсовой работе стоит продемонстрировать несколько типов запросов, от простого к сложному:
- Запрос на выборку. Это самый базовый тип. В режиме конструктора вы выбираете нужные таблицы, перетаскиваете поля, которые хотите увидеть в результате, и в строке «Условие отбора» задаете критерий. Например, можно найти всех сотрудников, чей оклад превышает 50 000.
- Запрос с параметром. Это более гибкая версия запроса на выборку. Вместо жестко заданного условия (например, `=»Бухгалтерия»`), вы пишете в строке условия текст в квадратных скобках: `[Введите название отдела]`. При запуске такого запроса Access покажет диалоговое окно, где пользователь сам сможет ввести нужный параметр.
- Запрос с вычисляемым полем. Запросы могут создавать новые данные на основе существующих. Можно создать новое поле «Премия», написав в конструкторе `Премия: [Оклад] * 0.15`.
- Итоговый запрос. Это мощный аналитический инструмент. С помощью опции «Групповые операции» можно сгруппировать данные по какому-либо полю (например, по названию должности) и рассчитать для каждой группы итоговые значения: средний оклад, количество сотрудников (Count), максимальный оклад (Max) и т.д.
2.6. Конструирование отчетов для визуализации результатов
Результаты, полученные с помощью запросов, часто нужно представить в официальном, готовом к печати виде. Для этого предназначены отчеты. Они преобразуют необработанные данные в профессионально оформленные документы.
Как и в случае с формами, можно начать с «Мастера отчетов» для создания простого отчета, например, «Телефонный справочник сотрудников». Однако настоящим показателем мастерства является создание сложного отчета с группировкой. Например, на основе итогового запроса можно создать отчет, где сначала идет название должности, а под ним — список всех сотрудников, занимающих эту должность. Это делается в Режиме конструктора отчетов, где можно добавлять уровни группировки и сортировки.
Хорошо оформленный отчет должен содержать:
- Информативный заголовок в верхнем колонтитуле.
- Автоматическую нумерацию страниц и текущую дату в нижнем колонтитуле.
- Итоговые вычисления в примечании группы или отчета (например, общий фонд оплаты труда по отделу или по всей компании).
Отчеты являются конечным продуктом любой информационной системы, демонстрирующим ее практическую пользу.
2.7. Разработка главной кнопочной формы и руководства пользователя
Чтобы превратить набор таблиц, форм и отчетов в целостное приложение, создается главная кнопочная форма. Это своего рода «панель управления» или главное меню вашей базы данных. В режиме конструктора создается пустая форма, на которую помещаются кнопки. Каждой кнопке с помощью «Мастера кнопок» назначается действие: «Открыть форму `Сотрудники`», «Открыть отчет `Штатное расписание`», «Выход из приложения».
Следующий шаг — настроить автоматический запуск этой формы. В параметрах Access (`Файл -> Параметры -> Текущая база данных`) в поле «Форма просмотра» нужно выбрать созданную главную форму. Теперь при открытии файла базы данных пользователь будет видеть не стандартный интерфейс Access, а ваше удобное меню.
Финальным штрихом практической части является написание краткого руководства пользователя. В нем нужно описать основные шаги: как запустить базу данных, как с помощью главной формы открыть нужный раздел (например, «Отделы»), как добавить новую запись и как сформировать ключевой отчет. Этот текст практически без изменений войдет в соответствующий раздел вашей пояснительной записки.
В ходе выполнения курсовой работы была в полной мере достигнута поставленная цель — разработана и реализована реляционная база данных для автоматизации учета в выбранной предметной области. Для этого были последовательно решены все поставленные задачи.
Был проведен детальный анализ бизнес-процессов, на основе которого была спроектирована и нормализована до третьей нормальной формы структура данных. В среде MS Access были физически созданы таблицы и установлены связи с обеспечением целостности данных. Для удобства пользователя были разработаны интуитивно понятные формы ввода и редактирования, а для анализа информации — созданы гибкие запросы. Наконец, для наглядного представления результатов были сконструированы профессиональные отчеты, а все элементы объединены в единую систему с помощью главной кнопочной формы.
Практическая значимость разработанного продукта заключается в существенном повышении эффективности работы. Автоматизация позволяет сократить время на поиск информации, минимизировать количество ошибок, связанных с человеческим фактором, и обеспечить руководство актуальными аналитическими данными для принятия управленческих решений.
Таким образом, можно сделать финальный вывод: созданная в MS Access база данных является эффективным, надежным и удобным инструментом для решения задач автоматизации учета на предприятии.
Список использованной литературы
- Кириллов В. В., Громов Г. Ю. Введение в реляционные базы данных. – Изд-во: БХВ-Петербург, 2009 – 464 с.
- Сеннов А. Access 2010 Учебный курс. – Изд-во: ПИТЕР, 2010 – 288с.
- Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. – 5-е изд., доп. и перераб. – СПб.: КОРОНА принт, 2006. – 736 с.