Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсач / Наволоцкий_1302_v2

.pdf
Скачиваний:
0
Добавлен:
27.12.2025
Размер:
2.69 Mб
Скачать

Рисунок 10 – Результаты генерации комплексной аналитической отчетности в режиме реального времени

Добавление новых данных

Ввод данных осуществляется через процедуру usp_CreateComponent,

которая гарантирует целостность данных и проверку на дубликаты. Процедура

возвращает ID созданной записи, подтверждая успех операции.

51

Рисунок 11 – Успешное добавление нового компонента

 

Интеграция

(Экспорт

XML)

Система поддерживает обмен данными в формате XML. Процедура экспорта выгружает текущее состояние склада в иерархическом виде, удобном для обработки внешними системами. Результат выполнения операции приведен на рисунке 10.

52

Рисунок 12 – Результат выполнения операции

Ссылку из результатов можно открыть и просмотреть. Структура получившегося файла после экспорта представлена на рисунке 13.

Рисунок 13 – Структура получившегося файла после экспорта

Интеграция с внешними системами (Импорт XML)

53

Система поддерживает автоматизированную загрузку данных от поставщиков в формате XML. Реализованный механизм импорта

(usp_ImportComponentsFromXML) обладает следующими особенностями:

Транзакционность: Весь пакет данных загружается в рамках одной транзакции. В случае ошибки в структуре файла изменения не применяются.

Интеллектуальное сопоставление (Smart Look-up): Входящий XML-

файл содержит текстовые названия (например, Manufacturer="Vishay"),

в то время как база данных оперирует числовыми идентификаторами.

Процедура автоматически находит соответствующие ID в справочниках схемы [Ref], обеспечивая ссылочную целостность.

На демонстрационном примере производится эмуляция поступления внешнего файла с компонентом артикула XML-IMPORT-TEST. После выполнения процедуры контрольная выборка подтверждает, что запись успешно добавлена в таблицу [Stock].[Components], а текстовые поля корректно преобразованы в связные ключи.

54

Рисунок 14 – Результат программного импорта данных из XML-структуры с автоматическим сопоставлением справочников

55

ЗАКЛЮЧЕНИЕ

В данной курсовой работе было рассмотрено проектирование базы данных для учета «БД схемотехнических компонентов для смешанного моделирования».

Разработка базы данных включала не только структурное проектирование (описание сущностей и таблиц), но и обеспечение ее функциональности и устойчивости. Были созданы объекты промежуточного слоя для унификации доступа к данным, реализована автоматическая стратегия резервирования посредством планировщика Windows, а также спроектирована ролевая модель безопасности для эффективного контроля доступа и соблюдения принципа наименьших привилегий.

56

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1.Горячев А. В., Новакова Н. Е. Распределенные базы данных.

Методические указания «ЛЭТИ», 2008, 42 с.

2.Разрешения и принципалы баз данных // Microsoft Learn [Электронный

ресурс]

URL

https://learn.microsoft.com/ru-ru/sql/t-

sql/statements/create-role-transact-sql (дата обращения: 10.12.2025).

3.Предоставление разрешений на объекты базы данных // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru-ru/sql/t- sql/statements/grant-transact-sql (дата обращения: 10.12.2025).

4.Имитация другого пользователя для проверки прав доступа // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru- ru/sql/t-sql/statements/execute-as-transact-sql (дата обращения:

10.12.2025).

5.Использование представлений для абстракции данных // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru-ru/sql/t- sql/statements/create-view-transact-sql (дата обращения: 10.12.2025).

6.sqlcmd Utility. Использование командной строки для выполнения

запросов T-SQL // Microsoft Learn [Электронный ресурс] URL

https://learn.microsoft.com/ru-ru/sql/tools/sqlcmd/sqlcmd-utility (дата

обращения: 10.12.2025).

7.Ограничения первичных и внешних ключей // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru- ru/sql/relational-databases/tables/primary-and-foreign-key-constraints (дата обращения: 10.12.2025).

8.Поддержка XML в SQL Server (FOR XML) // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru- ru/sql/relational-databases/xml/for-xml-sql-server (дата обращения:

10.12.2025).

57

9. Обзор резервного копирования (SQL Server) // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru- ru/sql/relational-databases/backup-restore/backup-overview-sql-server (дата обращения: 10.12.2025).

10.Описание кластеризованных и некластеризованных индексов // Microsoft Learn [Электронный ресурс] URL — https://learn.microsoft.com/ru-ru/sql/relational-databases/indexes/clustered- and-nonclustered-indexes-described (дата обращения: 10.12.2025).

58

ПРИЛОЖЕНИЕ А

01_CreateStructure.sql

USE master;

GO

-- Логирование времени начала выполнения

PRINT '=========================================================== ==';

PRINT 'Начало выполнения скрипта создания структуры.'; PRINT 'Время запуска: ' + CONVERT(VARCHAR(30), GETDATE(), 120);

PRINT '=========================================================== ==';

GO

/* =============================================

1. УДАЛЕНИЕ И ПЕРЕСОЗДАНИЕ БД С ОПЦИЯМИ РАЗМЕЩЕНИЯ ФАЙЛОВ

============================================= */

IF EXISTS (SELECT name FROM sys.databases WHERE name = N'CircuitDB')

BEGIN

PRINT 'Обнаружена старая версия БД. Удаление...';

-- Переводим базу в однопользовательский режим, чтобы закрыть все соединения

59

ALTER DATABASE CircuitDB SET SINGLE_USER WITH ROLLBACK

IMMEDIATE;

DROP DATABASE CircuitDB;

END

GO

PRINT 'Создание базы данных CircuitDB с настройками файлов... ' + CONVERT(VARCHAR(30), GETDATE(), 120); GO

-- ВАЖНО: Мы разделяем файлы данных и журнала.

CREATE DATABASE CircuitDB

ON PRIMARY

(

NAME = N'CircuitDB_Data',

FILENAME = N'C:\Program Files (x86)\Microsoft SQL

Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\CircuitDB.mdf',

SIZE = 10MB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 5MB

)

LOG ON

(

NAME = N'CircuitDB_Log',

FILENAME = N'C:\Program Files (x86)\Microsoft SQL

Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\CircuitDB_log.ldf',

SIZE = 5MB,

MAXSIZE = 2GB,

FILEGROWTH = 1MB

60

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