В ходе выполнения курсовой работы на тему «Проектирование базы данных на примере ООО «Пост-ЛТД» была проведена комплексная работа по проектированию, реализации и администрированию информационной системы, предназначенной для автоматизации деятельности предприятия, работающего в сфере документальной электросвязи.
Основной целью исследования являлось создание базы данных, обеспечивающей централизованное хранение, обработку и защиту информации, используемой в операционной и управленческой деятельности компании. Для достижения поставленной цели были решены все задачи, сформулированные во введении.
На первом этапе был выполнен анализ предметной области ООО «Пост-ЛТД», выявлены основные объекты и связи между ними: клиенты, сотрудники, услуги, договора, оборудование, поставщики, платежи и заявки. На основании этого анализа была построена инфологическая модель данных, определены сущности и их атрибуты, установлены типы связей и ключевые зависимости.
Построенная модель позволила описать реальную структуру информационных потоков предприятия и стала основой для дальнейшего проектирования.
Логическая и физическая модели базы данных были реализованы в реляционной форме, что обеспечивает целостность, непротиворечивость и возможность масштабирования системы.
На втором этапе в среде Microsoft SQL Server была создана реальная база данных PostLTD. В неё включены восемь взаимосвязанных таблиц, описывающих ключевые процессы компании. Были разработаны индексы, повышающие производительность запросов, а также реализовано множество SQL-запросов различных типов: выборки, агрегирование, объединения, подзапросы, оконные функции и DML-операции (добавление, изменение и удаление данных).
Практические испытания показали корректность выполнения всех запросов, отсутствие нарушений ссылочной целостности и адекватную скорость обработки данных. При увеличении количества записей в таблицах (например, до 100 000 строк) запросы с индексами продолжают выполняться с высокой скоростью, тогда как неиндексированные выборки демонстрируют кратное увеличение времени выполнения. Это подтверждает важность индексирования и оптимизации структуры данных для обеспечения масштабируемости системы.
В третьей части курсового проекта была разработана серверная логика базы данных, включающая хранимые процедуры, функции и триггеры.
Создано пять хранимых процедур, из которых три реализуют механизм транзакций для обеспечения атомарности операций. Эти процедуры выполняют ключевые бизнес-функции: добавление платежей, создание и закрытие договоров, вычисление задолженности и переназначение заявок.
Реализована пользовательская функция для вычисления задолженности клиента, что повышает модульность и повторное использование кода.
Разработано три триггера, обеспечивающих автоматическое ведение журнала событий, фиксацию изменений статусов договоров и предотвращение удаления клиентов с активными договорами.
Данные объекты позволили перенести основную бизнес-логику на серверный уровень, что значительно снизило нагрузку на клиентские приложения и минимизировало риск некорректных изменений данных.
Следует отметить, что при дальнейшем развитии проекта часть процедур — например, usp_ReassignTicket (переназначение заявки) и usp_AddPayment (добавление платежа) — целесообразно реализовать также на клиентской стороне, чтобы обеспечить гибкость и асинхронность работы в многопользовательской среде.
Функция fn_GetClientDebt, напротив, должна оставаться на уровне сервера, поскольку она обращается к нескольким крупным таблицам и требует консистентных данных.
В четвёртой части были рассмотрены вопросы администрирования базы данных. Созданы пользовательские роли (DB_Manager, DB_Operator, DB_Analyst, DB_Support, DB_Accountant), что обеспечивает гибкое разграничение прав доступа в зависимости от функциональных обязанностей сотрудников.
Настроена система аутентификации в смешанном режиме, что позволяет подключаться как пользователям Windows, так и отдельным SQL-аккаунтам.
Выбрана модель восстановления Full, обеспечивающая возможность восстановления базы данных до любого момента времени, а также разработана стратегия резервного копирования, включающая ежедневные полные копии и промежуточные дифференциальные и журнальные бэкапы.
Кроме того, настроена служба SQL Server Agent для автоматического выполнения резервного копирования и обслуживания базы данных. Это решение позволяет обеспечить непрерывность работы системы и снизить риск потери данных.
Общая оценка проделанной работы показывает, что поставленные задачи выполнены в полном объёме. Разработанная база данных полностью отражает специфику деятельности ООО «Пост-ЛТД», поддерживает все необходимые бизнес-процессы и может быть внедрена в реальную эксплуатацию.
Структура базы данных соответствует принципам нормализации до третьей нормальной формы, что гарантирует отсутствие избыточности и повышает эффективность хранения данных. Все реализованные процедуры, функции и триггеры отработали корректно при тестировании, а выполнение запросов характеризуется оптимальной скоростью при умеренных объёмах данных.
В перспективе целесообразно:
• реализовать клиентское приложение для взаимодействия с базой данных через пользовательский интерфейс;
• расширить функционал аналитических отчётов и включить графические представления данных;
• внедрить мониторинг производительности и автоматическую очистку устаревших записей;
• протестировать работу СУБД при высоких нагрузках и большом объёме данных (более 1 млн записей), чтобы оценить необходимость шардирования или масштабирования инфраструктуры.
Таким образом, курсовая работа продемонстрировала практическое применение теоретических знаний в области проектирования, реализации и администрирования баз данных. Разработанная информационная система соответствует современным требованиям к надёжности, безопасности и масштабируемости, а также может быть основой для дальнейшего развития автоматизированной системы управления предприятием ООО «Пост-ЛТД».