Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач / Наволоцкий_1302_v2.docx
Скачиваний:
0
Добавлен:
27.12.2025
Размер:
2.47 Mб
Скачать

9. Индексы

Для обеспечения высокой производительности системы при росте объема данных была разработана стратегия индексации [10]. Проектирование индексов выполнялось на основе анализа планов выполнения (Execution Plans) типовых запросов, используемых в хранимых процедурах и представлениях.

В базе данных «CircuitDB» реализованы три типа индексов:

9.1. Кластеризованные индексы

Создаются автоматически при определении ограничений первичного ключа (PRIMARY KEY). В таблице [Stock].[Components] данные физически упорядочены на диске по полю ComponentID. Это обеспечивает максимально быстрый доступ к строке при выборке по идентификатору.

9.2. Некластеризованные индексы

Для оптимизации поиска по неключевым полям были созданы дополнительные структуры B-деревьев:

  1. Уникальный индекс по артикулу (IX_Components_PartNumber)

    1. Цель: Оптимизация процедуры поиска usp_SearchComponents и контроль целостности.

    2. Обоснование: Поле PartNumber является основным критерием поиска для пользователей. Без индекса СУБД вынуждена выполнять полное сканирование таблицы, просматривая каждую строку. Создание индекса позволяет использовать операцию поиска по индексу.

    3. Особенность: Индекс объявлен как UNIQUE, что создает дополнительное логическое ограничение, запрещая вставку дубликатов.

  2. Покрывающий индекс (IX_Components_ManufacturerID_Includes)

    1. Цель: Ускорение формирования отчетов и операций соединения (JOIN).

    2. Обоснование: Большинство аналитических запросов (например, представление v_FullComponentReport) соединяют таблицу компонентов с таблицей производителей по ключу ManufacturerID.

    3. Особенность (Покрывающий индекс): В индекс, помимо ключа, включены неключевые поля — IsActive и CategoryID.

      1. Эффект: Это позволяет SQL Server извлекать все необходимые данные непосредственно из индекса, не обращаясь к основной таблице. Это снижает нагрузку на дисковую подсистему ввода-вывода.

10. Руководство пользователя (администратора)

Так как информационная система реализована на уровне базы данных, взаимодействие с ней осуществляется через среду SQL Server Management Studio.

10.1. Установка и развертывание системы

Для установки системы на сервер разработан пакет SQL-скриптов, обеспечивающий автоматизированное развертывание всех компонентов.

Порядок установки:

  1. Запустить Microsoft SQL Server Management Studio.

  2. Подключиться к целевому серверу (SQLExpress).

  3. Последовательно открыть и выполнить файлы скриптов в строгом порядке нумерации:

    1. 01_CreateStructure.sql — Создание базы данных, схем [Ref] и [Stock], таблиц.

    2. 02_InsertData.sql — Первичное наполнение справочников и тестовых данных.

    3. 03_Procedures.sql — Загрузка бизнес-логики (хранимые процедуры).

    4. 04_ViewsAndFunctions.sql — Создание аналитических представлений и функций.

    5. 05_SecurityAndAdmin.sql — Настройка пользователей, прав доступа и индексов.

После успешного выполнения всех скриптов в Обозревателе объектов появится база данных «CircuitDB» с настроенной структурой.

Рисунок 8 – Структура базы данных после успешной установки

Средства автоматизации В дополнение к ручному режиму, для администратора системы разработаны пакетные командные файлы (Batch scripts), использующие утилиту командной строки sqlcmd [6]:

  • Install_DB.bat: Выполняет автоматическое развертывание системы «в один клик», последовательно запуская все скрипты (01–05).

  • AutoBackup.bat: Предназначен для настройки регулярного автоматического резервного копирования через Планировщик заданий Windows (Task Scheduler).

Соседние файлы в папке курсач