Предыдущие разделы были посвящены рассмотрению вопросов, связанных с формализацией описания информации о предметной области, задаваемой в виде ограничений целостности данных. В данном разделе рассмотрим средства, с помощью которых в СУБД реализуется поддержка механизма обеспечения ограничений целостности данных. В самом общем виде различают два способа реализации этого механизма:
- — процедурная поддержка ограничений целостности;
- — декларативная поддержка ограничений целостности.
Процедурная поддержка ограничений целостности
Процедурная поддержка ограничений целостности заключается в использовании программного кода, реализуемого в СУБД в виде так называемых хранимых процедур и триггеров.
Хранимые процедуры — это процедуры и функции (программный код), которые хранятся в откомпилированном виде непосредственно в базе данных и могут запускаться пользователями или приложениями, работающими с базой данных.
Триггеры — это хранимые процедуры, особенность которых состоит в том, что они запускаются автоматически при возникновении определенных событий, происходящих во время работы базы данных.
Цифровые технологии как средство решения задач
В качестве таких событий, по которым могут срабатывать триггеры, выступают операции изменения данных — вставка, обновление и удаление строк таблиц. Если в базе данных определен некоторый триггер, то он запускается автоматически и всегда при возникновении события, с которым этот триггер связан. При этом у пользователя не существует средств, позволяющих ему «обойти» запуск триггера. Триггер срабатывает всегда и независимо от того, кто из пользователей и каким способом инициировал событие, вызвавшее запуск триггера.
Основное назначение триггеров — автоматическое выполнение действий по поддержанию целостности базы данных.
Триггеры могут быть как достаточно простыми, например поддерживающими ссылочную целостность, так и довольно сложными, реализующими какие-либо сложные ограничения предметной области или сложные действия, которые должны произойти при наступлении некоторых событий.
Обычно хранимые процедуры и триггеры пишутся на специальном процедурном расширении языка SQL (например, PL/SQL для ORACLE или Transact-SQL для MS SQL Server) или на некотором универсальном языке программирования, например C++, с включением в его код операторов SQL в соответствии со специальными правилами такого включения.
Заметим, что тот факт, что языковые средства процедурной поддержки ограничений целостности являются системно зависимыми, то есть зависящими от особенностей конкретной СУБД, является безусловно отрицательным обстоятельством, с точки зрения возможностей перенесения программируемой такими средствами логики реализации ограничений целостности в среду другой СУБД.
Поддержка декларативных ограничений целостности
в языке SQL
В стандарте языка SQL процедурные средства реализации ограничений целостности не предусмотрены. В связи с этим в SQL отсутствуют такие понятия, как триггер или хранимая процедура. Однако в отличие от системно зависимых, то есть зависящих от особенностей конкретной СУБД процедурных средств ограничений целостности с помощью хранимых процедур и триггеров, в стандарте языка SQL предусмотрена развитая декларативная поддержка ограничений целостности. Поскольку стандарт SQL поддерживается всеми серьезными СУБД, эти средства поддержки ограничений целостности оказываются не зависимыми от конкретной используемой в информационной системе СУБД.
Вебинар «Обеспечение целостности данных в процессах производства лекарственных препаратов»
Декларативная поддержка ограничений целостности в языке SQL заключается в описании ограничений целостности средствами языка определения данных SQL (DDL — Data Definition Language). Обычно средства декларативной поддержки целостности определяют ограничения на значения доменов и атрибутов, целостность сущностей (потенциальные ключи отношений) и ссылочную целостность (целостность внешних ключей). Декларативные ограничения целостности могут задаваться как при создании таблиц-отношений, так и при модификации уже существующих таблиц.
Декларативные ограничения целостности являются частью синтаксиса операторов определения данных (DDL) языка SQL. Чаще всего они используются с оператором CREATE TABLE, предназначенным для создания пустой таблицы базы данных, и оператором ALTER TABLE, с помощью которого осуществляется модификация структуры и параметров существующей таблицы.
Следующий пример показывает выражение SQL, позволяющее создать таблицу STUDENT.
CREATE TABLE СТУДЕНТЫ
(КОД_СТУД INTEGER,
ФИО CHAR(20),
ПАСПОРТ CHAR(15),
СТИПЕНДИЯ NUMERIC(4),
КУРС INTEGER,
ФАКУЛЬТЕТ CHAR(50),
СТАРОСТА INTEGER);
Добавить в существующую таблицу STUDENT новые столбцы можно с помощью выражения
ALTER TABLE STUDENT ADD
ALTER TABLE СТУДЕНТЫ MODIFY (ФИО CHAR(60));
изменяет параметры уже существующего столбца: увеличивает ширину столбца ФИО с 20 символов, заданных предыдущим выражением с оператором CREATE, до 60 символов.
Как видно из приведенных SQL-выражений, при описании столбцов таблицы указывается тип данных, которые могут использоваться в качестве значений столбцов. В примерах использованы типы данных: INTEGER — целое число, NUMERIC() — число с фиксированной точкой, CHAR() — строка символов, DATE — дата. Указание типа данных столбца уже является простейшим ограничением, накладываемым на его значения (ограничение уровня атрибута). Однако должно быть понятно, что указание типа данных столбца не является эквивалентным ограничению на значения атрибута, задаваемого его доменом.
Синтаксис SQL позволяет задавать гораздо более сложные ограничения целостности данных, которые могут указываться при уточнении описания типа данных (ограничение типа), при описании атрибутов отношения (ограничение столбца) и при описании всего отношения (ограничение таблицы).
Ограничение типа значений
Это ограничение задается с помощью ключевого слова CHECK, которое позволяет указать задающий ограничение целостности предикат, способный принимать значения true, false и unknown. Ограничение типа может быть использовано как часть описания домена, столбца таблицы, самой таблицы или отдельного ограничения целостности, задаваемого командой ASSERTION. Например, предложение
Источник: studme.org
Средства и методы обеспечения целостности информации
Информационная безопасность компьютерных систем обеспечивается рядом мероприятий, проводящихся в двух основных направлениях:
• обеспечение целостности данных;
• защита информации от несанкционированного доступа.
Целостность данных подразумевает их неизменность (физическую целостность) и непротиворечивость (логическую целостность). Поддержание неизменности данных включает:
1) защиту от случайного удаления или повреждения в результате действий пользователя или сбоев в работе программных систем;
2) защиту от разрушающих действий компьютерных вирусов.
Смежным вопросом является разработка методов оценки и обеспечения надежности функционирования программных информационных систем. Надёжная АС предполагает:
— точное и своевременное выполнение всех функций;
— отсутствие ошибок в программных и аппаратных средствах;
— наличие функций предупреждения сбоев и отказов при возникновении ошибок;
— оперативное восстановление работоспособности системы после возникновения ошибок;
— наличие функций резервирования информации и поддержания эталонного состояния рабочей среды компьютера.
По данным исследовательского центра DataPro Research, опубликованным в 1998 году, основные причины повреждений электронной информации распределились следующим образом:
неумышленная ошибка человека – 52% случаев;
умышленные действия человека – 10% случаев;
отказ техники – 10% случаев;
повреждения в результате пожара – 15% случаев;
повреждения водой – 10% случаев.
Как видно, в половине случаев причиной повреждения или потери информации стали ошибочные действия пользователей, что заставляет предпринимать дополнительные меры по её защите, даже если информация не является
Основные мероприятия по защите целостности данных:
· резервирование (создание копий) данных;
· обеспечение доступа к данным в режиме «только для чтения» (запрет изменения);
· защита данных (файлов и папок) от удаления.
В сетевых операционных системах вопросы защиты целостности данных решаются средствами разграничения доступа (блокировка возможности доступа, запрет на изменение, мониторинг использования файлов). К сожалению, средствами операционной системы Windows XP невозможно защитить файлы от удаления. Windows XP позволяет устанавливать атрибут файла «только для чтения», «скрытый» и делать файлы невидимыми в окне Проводника. Это может служить определённой защитой от ошибочных действий пользователя. Однако и эти файлы могут быть удалены (например, при удалении содержащей их папки).
Как сохранность данных, так и надёжная работа программного обеспечения невозможны без решения задачи их защиты от разрушающих воздействий компьютерных вирусов. Немаловажную роль при этом играет знание путей попадания вируса в компьютерную систему и соблюдение мер предосторожности при выполнении потенциально опасных действий (или отказ от их выполнения). Вместе с тем надёжная защита от вирусов может быть обеспечена только с использованием специальных антивирусных программных средств.
Источник: studopedia.su
Методы обеспечения целостности системы защиты
Под целостностью подразумевается актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения.
Методами обеспечения целостности являются:
- — использование отказоустойчивых устройств;
- — резервирование (дублирование) данных;
- — разграничение прав доступа к программам и данным;
- — организация антивирусной защиты;
- — контроль целостности программ и данных.
Использование отказоустойчивых устройств.
Под надежностью понимается свойство системы выполнять возложенные на нее задачи в определенных условиях эксплуатации. При наступлении отказа компьютерная система не может выполнять все предусмотренные документацией задачи, т.е. переходит из исправного состояния в неисправное. Если при наступлении отказа компьютерная система способна выполнять заданные функции, сохраняя значения основных характеристик в пределах, установленных технической документацией, то она находится в работоспособном состоянии.
Резервирование (дублирование) данных.
По времени восстановления информации методы дублирования могут быть разделены на:
- — оперативные;
- — неоперативные.
К оперативным методам относятся методы дублирования информации, которые позволяют использовать дублирующую информацию в реальном масштабе времени. Это означает, что переход к использованию дублирующей информации осуществляется за время, которое позволяет выполнить запрос на использование информации в режиме реального времени для данной КС. Все методы, не обеспечивающие выполнения этого условия, относят к неоперативным методам дублирования.
По используемым для целей дублирования средствам методы дублирования можно разделить на методы, использующие:
- — дополнительные внешние запоминающие устройства (блоки);
- — специально выделенные области памяти на несъемных машинных носителях;
- — съемные носители информации.
По числу копий методы дублирования делятся:
- — на одноуровневые;
- — многоуровневые.
Как правило, число уровней не превышает трех.
По степени пространственной удаленности носителей основной и дублирующей информации методы дублирования могут быть разделены на следующие методы:
- — сосредоточенного дублирования;
- — рассредоточенного дублирования.
Для определенности целесообразно считать методами сосредоточенного дублирования такие методы, для которых носители с основной и дублирующей информацией находятся в одном помещении. Все другие методы относятся к рассредоточенным.
В соответствии с процедурой дублирования различают методы:
- — полного копирования;
- — зеркального копирования;
- — частичного копирования;
- — комбинированного копирования.
При полном копировании дублируются все файлы.
При зеркальном копировании любые изменения основной информации сопровождаются такими же изменениями дублирующей информации. При таком дублировании основная информация и дубль всегда идентичны.
Частичное копирование предполагает создание дублей определенных файлов, например, файлов пользователя. Одним из видов частичного копирования, получившим название инкрементного копирования, является метод создания дублей файлов, измененных со времени последнего копирования.
Комбинированное копирование допускает комбинации, например, полного и частичного копирования с различной периодичностью их проведения.
Наконец, по виду дублирующей информации методы дублирования разделяются:
- — на методы со сжатием информации;
- — методы без сжатия информации.
Источник: studref.com