Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Средства управления и защиты информационных ресурсов автоматизированных систем

Покупка
Артикул: 785631.01.99
Доступ онлайн
115 ₽
В корзину
Материалы пособия направлены на развитие компетенций, полученных студентами при изучении дисциплины базы данных в части использования средств управления данными при разработке ERP- и MES-систем. В пособии подробно рассматриваются средства для создания программных модулей серверной компоненты корпоративной информационной системы с использованием как структурного языка запросов, так и алгоритмических языков в Common Language Runtime. Особое внимание уделяется средствам разработки эффективных многопользовательских транзакционных систем. Изложение каждой темы сопровождается примерами использования и контрольными вопросами. На примере MS SQL SERVER излагаются модели и средства защиты данных и программ серверной компоненты от несанкционированного использования.
Парфенов, Ю. П. Средства управления и защиты информационных ресурсов автоматизированных систем : учебное пособие / Ю. П. Парфенов. - 2-е изд., стер. - Москва : Изд-во Урал. ун-та, 2022. - 120 с. - ISBN 978-5-9765-5016-2 (ФЛИНТА) ; ISBN 978-5-7996-3088-1 (Изд-во Урал. ун-та). - Текст : электронный. - URL: https://znanium.com/catalog/product/1891378 (дата обращения: 25.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования 

Российской Федерации 

Уральский федеральный университет 

имени первого Президента России Б. Н. Ельцина 

Ю. П. Парфёнов 

Средства управления и защиты 

информационных ресурсов 
автоматизированных систем 

У ч еб н ое п особ и е 

Рекомендовано методическим советом  
Уральского федерального университета  
для студентов вуза, обучающихся  
по направлению подготовки 
09.03.01 — Информатика и вычислительная техника

2-е издание, стереотипное

 

Москва
Издательство «ФЛИНТА»
Издательство Уральского университета 
2022

УДК 004.056.5(075.8)
ББК 32.971.35-5я73
  П18

Рецензенты: кафедра менеджмента и управления качеством 
Уральского государственного лесотехнического университета 
(завкафедрой д-р техн. наук, проф. В. П. Часовских); 
директор ООО «ТЭКСИ-СОФТ» Д. А. Виницкий 

Научный редактор — канд. техн. наук, доц. К. А. Аксёнов

П18

Парфёнов Ю. П.
Средства управления и защиты информационных ресурсов автоматизированных систем : учебное пособие /  
Ю. П. Парфёнов. — 2-е изд., стер. — Москва : ФЛИНТА : 
Изд-во 
Урал. 
ун-та, 
2022. 
— 
120 
с. 
— 
ISBN 
978-5-9765-5016-2 (ФЛИНТА) ; ISBN 978-5-7996-3088-1
(Изд-во Урал. ун-та). — Текст : электронный.

Материалы пособия направлены на развитие компетенций, 
полученных студентами при изучении дисциплины базы данных в 
части использования средств управления данными при разработке 
ERP- и MES-систем. В пособии подробно рассматриваются средства 
для создания программных модулей серверной компоненты 
корпоративной информационной системы с использованием как 
структурного языка запросов, так и алгоритмических языков в 
Common Language Runtime. Особое внимание уделяется средствам 
разработки эффективных многопользовательских транзакционных 
систем. Изложение каждой темы сопровождается примерами 
использования и контрольными вопросами. На примере MS SQL 
SERVER излагаются модели и средства защиты данных и программ 
серверной компоненты от несанкционированного использования.

Библиогр.: 16 назв. Табл. 4. Рис. 19.

УДК 004.056.5(075.8) 
ББК 32.971.35-5я73

ISBN 978-5-9765-5016-2 (ФЛИНТА) 
ISBN 978-5-7996-3088-1 (Изд-во Урал. ун-та)

© Уральский федеральный 
университет, 2020

Основные сокращения 

БД — база данных 
КИС — корпоративная информационная система 
ОС — операционная система 
СУБД — система управления базами данных 
API — application programming interface 
BLOB — Binary Large Object (большой двоичный объект) 
CLR — Common Language Runtime (общеязыковая среда вы
полнения программ) 

DEK — Database Encryption Key (симметричный ключ для 

шифрования пользовательской базы) 

DMK — Database master key (главный ключ базы Master) 
ERP (Enterprise Resource Planning) — планирование ресур
сов предприятия 

MRP — Material Requirement Planning (планирование по
требностей в материалах) 

SMK — (Service Master Key) асимметричный ключ службы 

MS SQL SERVER 

TDE — Transparent Data Encryption (прозрачное шифрова
ние баз данных) 

Введение 

Введение 

В 

пособии рассматриваются средства создания и защиты 
информационных ресурсов в автоматизированных системах предприятий.

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

Применительно к MS SQL SERVER рассматривается созда
ние хранимых в общей базе программных модулей на TransactSQL и в управляемом коде.

Дается подробная информация об организации защиты дан
ных базы от несанкционированного доступа и средствам шифрования данных. Пособие ориентировано на студентов бакалавриата, знакомых со средствами создания и использования 
баз данных.

1.1. Транзакции реляционной базы данных 

1. Управление  

информационными ресурсами 

в транзакционных системах 

Т

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

Если по причине отказа оборудования или программного обеспечения выполнить задание не удается, то оно просто не выполняется. В корпоративных ERP- и MRP-системах информационные ресурсы многих пользователей объединяются в общей 
базе данных. Для эффективного функционирования системы 
важно обеспечить независимую параллельную обработку информации в различных бизнес- и технологических процессах. 
Для независимого доступа и обработки информации в серверах баз данных предусмотрены средства создания и выполнения параллельных транзакций. В транзакциях обеспечивается необходимая защита обрабатываемых данных от действия 
других транзакций путем установки различных блокировок 
или созданием версий (копий) обрабатываемых данных.

1.1. Транзакции реляционной базы данных 

Транзакция — набор команд SQL, выполняющий запросы 

или изменения данных, приводящие базу в новое допустимое 
состояние. Транзакция должна либо выполниться целиком, 

1. Управление информационными ресурсами в транзакционных системах  

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

Таким образом, с помощью транзакций решаются две про
блемы обработки БД:

- сохранение целостности данных базы в условиях воз
можного отказа программы или оборудования;

- защита данных при их одновременной обработке 

несколькими пользователями.

- Стандарт SQL/92 установил требования к транзакци
ям, называемые ACID: Atomicity, Consistency, Isolation, 
Durability.

- Атомарность (Atomicity), или неделимость транзак
ции — изменения, выполненные транзакцией, целиком принимаются (фиксируются в базе) или целиком 
отменяются (откат базы к исходному состоянию). Дополнительными установками в параметре подключения SET XACT_ABORT OFF можно задать возможность 
частичного исполнения транзакции.

- Согласованность (Consistency) — данные в БД до нача
ла транзакции и после ее выполнения должны соответствовать всем ограничениям базы, в том числе и ограничениям ссылочной целостности. Однако в процессе 
выполнения транзакции ограничения могут быть нарушены.

- Изолированность (Isolation). Изменения в базе, вно
симые одновременно выполняемыми транзакциями, 
должны быть независимы друг от друга. Результат каждой изолированной транзакции должен определяться 
состоянием БД до ее начала и выполняемым действием.

- Устойчивость (Durability). Результаты выполненной 

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

1.1. Транзакции реляционной базы данных 

Далее в примерах использования транзакций рассматривается учебная база данных печатных изданий (PUBS). В базе 
содержатся данные об авторах, написанных ими книгах и данные о продажах книг. Схема БД представлена на рис. 1.1.

   Авторы 
 
Связь M:N                  Издания                       Продажи 

Рис. 1.1. ER-диаграмма учебной базы PUBS 

Рассмотрим примеры применения транзакций.
Пусть в базе изданий необходимо изменить значения ключа (au_id) в записи одного из авторов. Такое изменение требует выполнения двух операторов UPDATE (для таблицы authors 
и таблицы titleauthor). Однако если при выполнении второго 
оператора произойдет прерывание программы по ошибке или 
«зависание» сервера, вторая таблица не будет обновлена и соответствие между строками таблиц нарушится. Значит, наборы операторов, выполняющих одну задачу, должны выполняться в одной транзакции. Программа замены значения ключа 
автора также должена предусматривать наличие ограничения ссылочной целостности типа «Restrict» между строками таблиц authors и titleauthor, которое не позволит изменить ключ 
в поле au_id ни в одной из таблиц. Поэтому перед выполнением первого обновления (UPDATE) необходимо отключить это 
ограничение командой ALTER TABLE … NOCHECK … . Полная 

1. Управление информационными ресурсами в транзакционных системах  

транзакция обновления ключей ссылочной целостности должна состоять из следующих действий.

1. Отключение ограничения ссылочной целостности 

(ALTER TABLE …NOCHECK …) 

2. Выполнения первого оператора UPDATE, который, из
менив ключи в одной таблице, приведет данные к несогласованному состоянию (согласованность должна быть 
обеспечена после выполнения транзакции).

3. Обновление (UPDATE) ключа в другой таблице, которое 

вернет соответствие данных.

4. Восстановить проверку ограничения по внешнему клю
чу au_id таблицы titleauthor оператором ALTER TABLE 
с опцией CHECK.

Другой пример — использование транзакций в запросах 

к БД.

Пусть из таблицы titles необходимо выбрать издания, име
ющие цену выше, чем средняя цена издания. Для решения такой задачи надо сначала выполнить запрос, вычисляющий 
среднюю цену издания, а в следующем запросе воспользоваться найденным значением для отбора изданий. Если между этими двумя запросами другой пользователь изменит цену 
хотя бы одного издания, добавит или удалит издание, результат запроса будет неверным. Поэтому для защиты данных эти 
запросы надо выполнить в одной транзакции.

Реализация требований ACID для транзакций БД обеспечи
вается с помощью двух средств MS SQL SERVER:

- журнала транзакций, 
- менеджера блокировок.
Журнал транзакций (transaction log) создается в отдель
ных файлах ОС. Запись изменений данных в журнал осуществляется до сохранения ее в файлах БД на диске. Поэтому 
журнал может быть использован для восстановления данных 
при отказе сервера. В журнале для каждой транзакции сохра- 
няются:

1.1. Транзакции реляционной базы данных 

- момент времени выполнения (начало и окончание) транзакции. Время используется для повторения цепочки действий в базе в хронологической последовательности;
- старые (до изменения) и новые (измененные транзакцией) записи или страницы базы данных;
- признак завершения транзакции;
- отметка о фиксации результата транзакции на диске 
в файлах БД.
Информация журнала используется при перезапуске сервера в случае его отказа следующим образом:
- производится изменение данных, выполненное в завершенных транзакциях, которое еще не было записано 
в БД на диске;
- выполняется откат — возвращение в исходное состояние измененных страниц в БД для незаконченных (незафиксированных) транзакций.
Кроме того, журнал может быть использован для внесения последних изменений базы при ее восстановлении с ранее созданной копии.
Обработку базы данных после повторного запуска, отказавшего («зависшего») сервера, демонстрирует рис. 1.2.

Момент сохранения 
изменений БД  
на диске (КТ) 

Момент отказа 
сервера БД 

Рис. 1.2. Диаграмма параллельного выполнения транзакций 

В момент отказа сервера результат транзакции T1 был записан на диск, поэтому данная транзакция не требует обработки.

1. Управление информационными ресурсами в транзакционных системах  

Транзакции T2 и T4 были выполнены, но в журнале нет от
метки о фиксации на диске, поэтому сервер в хронологическом порядке переписывает обновленные страницы из журнала в файлы БД на диске.

Транзакции T3 и Т5 не была завершены, поэтому для них 

будет выполнен откат путем копирования из журнала старого состояния измененных страниц, а сами транзакции удалены из журнала. При восстановлении БД по журналу нет способа установить, какие именно транзакции не выполнены. Это 
можно сделать только по состоянию БД и результату работы 
приложений в момент отказа.

Различные серверы БД поддерживают разные типы тран
закций. В MS SQL Sever реализованы три типа транзакций:

- автоматические (фоновые), 
- неявные (фоновые), 
- явные.
Автоматические транзакции создаются сервером БД 

по умолчанию. В режиме автоматических транзакций никаких действий по созданию транзакций пользователь не предпринимает. Каждая SQL-команда выполняется как отдельная 
транзакция. Если команда не была прервана, ее результат будет зафиксирован в базе, если команда вызвала исключение, 
сервер выполнит откат базы к состоянию, предшествующему 
началу команды. На время выполнения команды доступ к используемым записям автоматически блокируется сервером. 
В новом соединении транзакции выполняются в автоматическом режиме. Затем тип фоновых транзакций в соединении 
может быть изменен на неявные транзакции.

Неявные (имплицированные) транзакции. С момента пере
ключения соединения на неявные транзакции все действия с БД 
выполняются в одной транзакции. Первая поступившая в соединении SQL-команда создает транзакцию, в которой далее выполняются все последующие операторы. За любым очередным 
оператором текущая транзакция может заканчиваться, а ее ре
Доступ онлайн
115 ₽
В корзину