Similar presentations:
Презентация_Гусаченко
1.
Оптимизация баз данныхв системах управления
предприятием
БД как ядро ERP: скорость, целостность и аналитика.
2.
Почему тема сталакритически важной
Цифровизация усиливает зависимость предприятия
от базы данных: ошибки схемы замедляют операции,
искажают отчетность и усложняют сопровождение.
Цель работы — повысить производительность
и целостность данных через проектирование,
индексацию и анализ выполнения запросов.
2
3.
Роль БД в ключевых модулях предприятияМатериалы дипломной работы, глава 1, раздел 1.1
Таблица показывает, какие данные обслуживает каждый
функциональный контур и почему все процессы зависят
от единого хранилища.
Все модули опираются на единое хранилище, поэтому
качество БД напрямую влияет на скорость, согласованность
и управляемость процессов.
3
4.
Причины падения производительностии потери целостности
Полные просмотры таблиц
При отсутствии индексов СУБД вынуждена читать весь массив записей, что
резко замедляет поиск, сортировку и соединение таблиц по мере роста данных.
Неудачные SQL-запросы
Избыточные выборки, лишние подзапросы и тяжелые агрегаты перегружают СУБД,
даже если структура таблиц формально спроектирована корректно и содержит нужные
поля.
Избыточная структура
Широкие таблицы и дублирование атрибутов увеличивают объем чтения, усложняют
сопровождение и делают обновление данных более дорогим и рискованным для системы.
Нарушение ограничений
Без FOREIGN KEY, UNIQUE, NOT NULL и CHECK в базе появляются заказы
без клиента, дубли документов, пустые поля и отрицательные количества.
Искаженная аналитика
Ошибки целостности и неактуальная статистика приводят к неверным планам выполнения,
нестабильной скорости запросов и отчетам, которые не отражают реальное состояние
предприятия.
4
5.
Индексация в БД: что меняетсяв запросах при оптимизации
Как индекс превращает поиск в адресную доставку
Составной индекс по product_id и movement_date даёт наибольший эффект: сокращает
число чтений, ускоряет адресный доступ и делает план выполнения более стабильным.
Это заметно в типовых сценариях, когда запросы опираются на точные фильтры
по датам и ожидают предсказуемого пути выполнения.
Почему оптимизатор перестаёт сканировать таблицу
При индексации оптимизатор меняет стратегию: вместо сканирования таблицы растёт
доля операторов поиска по индексу. Особенно ярко это проявляется при фильтрации
по датам и при выборках со связями, где важна согласованность обхода и минимизация
лишних обращений к данным.
Эксперимент на SQLite: проверка идей на практике
Наблюдения основаны на экспериментальном тестировании в SQLite. Данные взяты
из дипломного проекта: использовались запросы с фильтрацией по датам и соединениями.
Такая схема позволяет увидеть, как индексация отражается не только на скорости,
но и на выборе оператора доступа в плане выполнения.
5
6.
Последовательность проектированияи оптимизации БД
Логика построения модели: от анализа предметной области до проверки производительности на типовых
запросах.
6
7.
Архитектура реализованнойсистемы и инструменты
Python и SQLite
В качестве основы использованы Python и SQLite: первое обеспечивает
прикладную логику и генерацию данных, второе — простую развёртку
и наглядную проверку проектных решений без отдельного серверного
окружения.
Модульная структура
Проект разделён на модули схемы БД, генерации тестовых записей, SQLзапросов, индексов, измерения производительности и формирования
отчетов, что упрощает сопровождение и демонстрацию результатов.
Перспектива расширения
При росте требований решение можно перенести на PostgreSQL
или SQL Server без изменения базовых принципов: сущности, связи,
ограничения и логика оптимизации сохраняют актуальность.
Среда разработки
Работа ведётся в среде, где удобно просматривать структуру проекта,
редактировать SQL и отлаживать код. Это делает архитектуру
приложения прозрачной и удобной для защиты.
7
8.
Сущности, связи и ограниченияцелостности
Проектная модель БД дипломной работы
Таблица отражает основные связи one-to-many и показывает,
какие ограничения обеспечивают корректность данных
в системе управления предприятием.
Связи и ограничения формируют основу целостной ERPмодели: они предотвращают дубли, поддерживают
согласованность и упрощают анализ данных.
8
9.
Результаты оптимизации и критерии эффективностиСравнительное тестирование до и после оптимизации, SQLite
Помимо ускорения запросов, улучшилась стабильность
работы: планы выполнения стали однотипнее, а нагрузка
на базу — более равномерной при выполнении отчетов.
Сокращение времени подтверждает практическую ценность
индексов и пересмотра SQL; наибольший выигрыш получают
запросы с фильтрацией и соединениями.
9
10.
Выводы и практическаяценность работы
Цель достигнута: разработан и проверен подход
к оптимизации БД для системы управления
предприятием. Показано, что структура, индексы,
ограничения и EXPLAIN дают измеримое ускорение
и пригодны для прикладных ERP-задач.