Одним из основополагающих понятий в технологии баз данных является понятие целостности. В общем случае это понятие, прежде всего, связано с тем, что база данных отражает в информационном виде некоторый объект реального мира или совокупность взаимосвязанных объектов реального мира. В реляционной модели объекты реального мира представлены в виде совокупности взаимосвязанных отношений. Под целостностью будем понимать соответствие информационной модели предметной области, хранимой в базе данных, объектам реального мира и их взаимосвязям в каждый момент времени.
Любое изменение в предметной области, значимое для построенной модели, должно отражаться в базе данных, и при этом должна сохраняться однозначная интерпретация информационной модели в терминах предметной области.
В модели данных должны быть предусмотрены средства и методы, которые позволят обеспечивать динамическое отслеживание в базе данных согласованных действии, связанных с согласованным изменением информации.
Поддержка целостности в реляционной модели данных в ее классическом понимании включает в себя 3 аспекта.
Во - первых это поддержка структурной целостности, которая трактуется как то, что реляционная СУБД должна допускать работу только с однородными структурами данных типа «реляционное отношение». При этом понятие <реляционного отношения > должно удовлетворять всем ограничениям, накладываемым на него в классической теории реляционной БД (отсутствие дубликатов кортежей, соответственно обязательное наличие первичного ключа, отсутствие понятия упорядоченности кортежей).
В дополнение к структурной целостности необходимо рассмотреть проблему неопределенных Null значений. Неопределенное значение интерпретируется в реляционной модели как значение неизвестное на данный момент времени. Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. При сравнении неопределенных значений не действуют стандартные правила сравнения одно неопределенное значение никогда не считается равным другому неопределенному значению. Для выявления равенства значения некоторого атрибута неопределенному значению применяют стандартные специальные операторы:
<имя атрибута>IS NULL и <имя атрибута> IS NOT NULL.
Если в данном кортеже (в данной строке) указанный атрибут имеет неопределенное значение, то предикат IS NULL принимает значение TRUE (Истина), а предикат IS NOT NULL - FALSE (Ложь), в противном случае предикат IS NULL принимает значение FALSE а предикат IS NOT NULL принимает значение TRUE.
В стандарте SQL2 появилась возможность сравнивать не только конкретные значения атрибутов с неопределенным значением, но и результаты логических выражений сравнивать с неопределенным значением, для этого введена специальная логическая константа UNKNOWN. В этом случае операция сравнения выглядит так. Логическое выражение> IS {TRUE | FALSE | UNKNOWN}
Во вторых, это поддержка языковой целостности, которая состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL. He должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту.
Именно поэтому доступ к информации, хранимой в базе данных, и любые изменения этой информации могут быть выполнены только с использованием опреаторов языка SQL.
В третьих, это поддержка ссылочной целостности (Declarative Referential Integrity, DRI).
При поддержании ссылочной целостности между главной и подчиненной таблицами часто используются следующие правила:
Подчиненная строка не может быть вставлена, пока не существует главная строка. Например, нельзя ввести записи позиций счет - фактуры, пока в главной таблице не появится запись счета. Однако в поле внешнего ключа возможен ввод пустых значений, показывающих, что записи только подготавливаются и пока не являются связанными;
Главная строка не может быть удалена до удаления всех подчиненных строк. Например, нельзя удалить запись счет - фактуры, если в подчиненной таблице имеются записи позиций счета;
Если значение первичного ключа в главной строке изменено, все значения внешнего ключа, которые обращаются к этому значению первичного ключа, должны быть также обновлены; и наоборот, нельзя изменить значение ключевого поля в главной таблице, если существуют связанные записи.
Чтобы наложить эти правила на конкретную связь в СУБД Access, при ее создании следует установить флажок Обеспечение целостности данных в окне Изменение связи . Если данный флажок установлен, то любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.
Ссылочная целостность обеспечивает поддержку непротиворечивого состояния БД в процессе модификации данных при выполнении операций добавления или удаления.
С целью обеспечения целостности данных при создании приложений используются ограничения целостности.
Ограничение - некоторое ограничивающее условие. В базе данных - общее понятие, охватывающее широкий круг аспектов управления базой данных: ключи, значения, типы и форматы данных и т. д. Ограничения устанавливают для пользователя некоторые рамки при вводе, изменении или удалении данных приложения.
Например, ограничение можно использовать, чтобы гарантировать, что каждый служащий в базе данных будет относиться к какому-либо отделу или что пользователи не смогут случайно ввести отрицательное значение для цены товара.
Ограничения можно определять на двух уровнях:
В базе данных. Ограничения в базе данных ассоциируются с определениями объектов-таблиц. Например, для таблицы может быть установлено ограничение, которое требует, чтобы каждое значение в столбце было уникальным.
В приложении Access (в программном коде или свойствах объектов ). Ограничения в приложении ассоциируются с объектами приложения, которые формируют интерфейс к информации базы данных. Например, текстовое поле может иметь ограничение, которое требует, чтобы все вводимые в него значения были больше 20.
Ограничения в базе данных. Ограничение в базе данных - декларативно определенное правило, ограничивающее значения, которые могут быть введены в столбец или набор столбцов в таблице. Ограничения базы данных являются декларативно определяемыми, так как определяют ограничения как часть структуры таблицы при ее создании или изменении.
Будучи однажды ассоциировано с таблицей, ограничение всегда поддерживается, если его явно не удалить или не деактивировать.
Размещение ограничений в базе данных имеет следующие преимущества:
Централизация . Ограничение базы данных определяется только один раз и может автоматически использоваться всеми клиентами, обращающихся к базе данных. Определение ограничения в базе данных освобождает разработчика от необходимости вносить одни и те же ограничения в каждую форму, которая использует данную информацию. Кроме того, при необходимости модифицировать ограничение изменения вносятся только в один объект;
Защита. Ограничения базы данных всегда поддерживаются, независимо от того, какой инструмент доступа к данным используется. С другой стороны, ограничения, определенные в приложении, могут быть нарушены пользователем, использующим для доступа к тем же таблицам другое приложение или инструмент;
Простота . Ограничения базы данных просты в определении и не требуют никакого программного кода.
Типы ограничений в базе данных. Типы ограничений, которые можно ассоциировать с таблицей, варьируются в зависимости от базы данных, в которой хранится эта таблица. Описанные ниже категории ограничений поддерживаются большинством реляционных баз данных, в том числе и Microsoft Access.
Ограничения Null или Not Null. Ограничения разрешают или запрещает ввод в столбец таблицы пустых значений. Оно всегда применяется к отдельным столбцам. Ограничения Not Null используются, чтобы гарантировать, что для важных данных всегда имеются значения. Например, это ограничение можно использовать, чтобы гарантировать, что в записи каждого служащего в базе данных был проставлен его оклад.
При определении структуры таблицы это ограничение в СУБД Access задается установкой значений свойств Обязательное поле и Пустые строки поля таблицы . Необходимо различать два типа пустых значений: пустые (Null) значения и пустые строки. В некоторых ситуациях поле может быть оставлено пустым потому, что данные для него либо существуют, но пока неизвестны, либо их не существует вовсе. В связи с этим и различают два типа пустых строк. Например, если в таблице есть поле "Номер факса", то оно может быть пустым потому, что пользователь не знает, есть ли у клиента номер факса или нет, или потому, что он знает, что номера факса у клиента нет. Таким образом, если поле имеет пустое (Null) значение, то это означает, что его значение неизвестно. Если же введена пустая строка (два знака прямых кавычек (" ")), то это означает, что строкового значения нет.
Ограничения Unique . Ограничение запрещает пользователю ввод в столбец или набор столбцов дублированных значений. Ограничение Unique может активироваться для отдельного столбца или для комбинации столбцов. В последнем случае ограничение Unique иногда называется составным ограничением Unique.
Ограничения Unique используются, чтобы гарантировать, что в таблице не будет дублированных значений столбцов. Например, оно может гарантировать, что каждому служащему в базе данных будет присвоен уникальный номер.
Ограничение Unique не запрещает пользователю ввод в таблицу нескольких пустых значений - пустое значение в столбце всегда удовлетворяет ограничению Unique. Чтобы предотвратить ввод в столбец с ограничением Unique пустых значений, к столбцу необходимо также добавить ограничение Not Null.
В Access ограничение Unique инициируется установкой значения "Да (Совпадения не допускаются )" для свойства Индексированное поле либо установкой значения "Да " для свойства Уникальный индекс .
Ограничения Primary Key. Ограничение Primary Key гарантирует, что каждая строка в таблице будет уникально идентифицирована значением в столбце или наборе столбцов первичного ключа. Ограничение по первичному ключу объединяет черты ограничения Unique и ограничения Not Null.
Обычно рекомендуется включать ограничение Primary Key в каждой создаваемой таблице. Использование первичного ключа может значительно повысить быстродействие доступа к строкам таблицы. Ограничение Primary Key также используется для поддержания ссылочной целостности, когда в базе данных определены отношения один – ко - многим. Установка ссылочной целостности позволяет поддерживать соответствие между главной и подчиненной таблицами. Для поддержания ссылочной целостности ограничения Primary Key используются в комбинации с ограничениями Foreign Key, описанными ниже.
Некоторые СУБД (такие, как Access) могут автоматически поддерживать полную ссылочную целостность после создания ограничений Foreign Key и Primary Key. В других базах данных (таких, как SQL Server ранних версий) необходимо определить обработку ссылочной целостности отдельно (обычно в триггере). Однако в любом случае, чтобы установить в базе данных правила ссылочной целостности, необходимо определить ограничения Primary Key и Foreign Key.
Примечание: Установить правила ссылочной целостности можно также в приложении. Поддержание ссылочной целостности на уровне приложения не требует специфицирования ограничений Primary Key и Foreign Key, однако в этом случае все требуемые процедуры и правила должны быть реализованы программным способом.
Ограничения Foreign Key. Ограничение Foreign Key (внешний ключ) гарантирует, что каждое значение, введенное в столбец, уже существует в некотором другом столбце (обычно в другой таблице). Ограничения Foreign Key обычно используются для поддержания ссылочной целостности, когда в базе данных определены отношения один – ко - многим. Ограничения Foreign Key всегда используются вместе с ограничениями Primary Key (описанными в предыдущем разделе).
В отношении один –ко - многим внешний ключ - столбец в подчиненной таблице, которая содержит идентификатор строки в главной таблице. Значение в столбце внешнего ключа равно значению в столбце первичного ключа в другой таблице.
В отношении один – к - одному каждая строка в подчиненной таблице соответствует уникальной строке в главной таблице. В отношении один – ко - многим одной строке в главной таблице может соответствовать любое количество строк в подчиненной таблице.
Кроме рассмотренных ограничений целостности существуют:
1. Ограничения реальных значений данных, хранимых в БД, чтобы значение поля принадлежало некоторому диапазону значений, либо соблюдалось некоторое арифметическое соответствие между значениями различных полей.
2. В заданном отношении для каждого кортежа между значениями полей А и В должно всегда выполняться условие, что первое больше второго.
3. Значения, которые принимает некоторый атрибут, должны быть ограничены заданным диапазоном.
4. Для некоторого атрибута (или комбинации атрибутов) может существовать конечный, небольшой по размеру набор допустимых значений (например, по атрибуту ОБРАЗОВАНИЕ может быть только значения НАЧАЛЬНОЕ, НЕПОЛНОЕ СРЕДНЕЕ, СРЕДНЕЕ, НЕПОЛНОЕ ВЫСШЕЕ, ВЫСШЕЕ).
5. Значение некоторого атрибута должны удовлетворять определенному формату.
5. Множество значений одного из атрибутов отношения должно удовлетворять некоторому статическому условию. Например, конкретное значение не должно превышать более чем в два раза среднее значение.
7. Множество значений некоторого столбца отношения является подмножеством значений другого столбца этого отношения.
Кроме перечисленных, существуют и другие ограничения целостности. Например, ограничения на условия выполнения параллельных операций над данными в базе; ограничения типа "старый" - "новый", когда БД переходит в новое состояние.
Описание ограничений целостности содержит две части. В первой из них выражается само ограничение, во второй описывается, когда, при каких условиях должна выполняться проверка. Язык манипулирования данными реальных систем позволяют в той или иной мере поддерживать многие из рассмотренных ограничений целостности.
Обеспечение целостности данных является важнейшей задачей при проектировании и эксплуатации систем обработки данных (СОД).
«Проблема целостности состоит в обеспечении... правильности данных в базе данных в любой момент времени» . Целостность - актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения.
Целостность является одним из аспектов информационной безопасности наряду с доступностью - возможностью с приемлемыми затратами получить требуемую информационную услугу, и конфиденциальностью - защитой от несанкционированного прочтения.
Целостность данных - неотъемлемое свойство базы данных, и ее обеспечение является важнейшей задачей проектирования БнД. Целостность данных описывается набором специальных предложений, называемых ограничениями целостности. Ограничения целостности представляют собой утверждения о допустимых значениях отдельных информационных единиц и связях между ними. Эти ограничения определяются в большинстве случаев особенностями предметной области, хотя могут отражать и чисто информационные (лингвистические) характеристики. Например, если используются цифровые коды для обозначения какой-либо номенклатуры, то ограничения на тип используемых символов для соответствующего атрибута в БД определяются не спецификой предметной области, а просто выбранным способом кодирования, а ограничение, выражающееся в том, что возраст работающего должен быть не менее 16 лет, - трудовым законодательством, т.е. только спецификой предметной области.
При выполнении операций над БД проверяется выполнение ограничений целостности. Действия, приводящие к нарушению подобных ограничений, отвергаются.
Ограничения целостности могут классифицироваться по разным признакам (рис. 4.1).
Ограничения целостности могут относиться к разным информационным объектам : атрибутам (полям), кортежам (строкам, записям), отношениям (таблицам, файлам) * , связям между файлами и т.п.
Рис. 4.1. Общая схема классификации ограничений целостности
1. Поле. Для него чаще всего используются следующие виды ограничений.
1.1. Тип и формат поля. Тип поля определяет допустимые для данного поля символы, а иногда и более жесткие ограничения на допустимые значения (как, например, для полей типа дата или логическое).
1. 2. Задание диапазона значений. Обычно используется для числовых полей.
1.2.1. Различают односторонние и двусторонние диапазоны. Первые фиксируют значение только одной из границ (верхней или нижней), вторые - обеих границ. Так, например, до определенного времени в нашей стране ограничивался как нижний, так и верхний предел заработной платы. Это пример двустороннего закрытого диапазона. Затем ограничение по верхнему пределу было снято: заработная плата не может быть меньше установленного минимума, но максимальное ее значение законодательно не определено - ограничение стало односторонним.
1.2.2. Диапазоны бывают открытые и закрытые. Односторонний диапазон всегда является открытым, двусторонний может быть как открытым, так и закрытым.
Двусторонний диапазон будет открытым, если допустимые значения меньше «левой» границы и больше «правой» (рис. 4.2). Задание двусторонних открытых диапазонов используется гораздо реже, чем закрытых. Некоторые СУБД поддерживают высокоуровневые средства задания двусторонних закрытых диапазонов и не поддерживают - открытых. Пример открытого диапазона: орган социального обеспечения поддерживает базу данных, содержащих записи о людях моложе 16 лет или старше 60.
Рис. 4.2. Графическая иллюстрация понятий открытого (а)
и закрытого (б) двустороннего диапазона
1.3. Признак непустого поля. Характеризует недопустимость пустого значения поля в БД. Так, например, в таблице, содержащей сведения о сотрудниках, поля «Фамилия», «Имя», «Отчество», «Оклад» должны обязательно иметь какое-то значение, а у поля «Ученая_степень» значение может отсутствовать.
1.4. Задание домена. Поле может принимать значение из заданного множества. Множество возможных значений какого-либо атрибута называется доменом. Домен может задаваться перечислением входящих в него значений (например, значением поля «Пол» может быть только либо «мужской» либо «женский»; значением поля «Должность» для профессорско-преподавательского состава может быть: «ассистент», «старший преподаватель», «доцент» и «профессор») или алгоритмом вычисления допустимых значений (как это обычно происходит для полей типа «Дата»). Последний из приведенных примеров свидетельствует не только о возможностях СУБД по поддержанию целостности данных, но и о важности процедуры выбора типа данных при проектировании баз данных.
Следует обратить внимание, что термин «домен» здесь используется не как сугубо реляционный, а для обозначения множества возможных значений какого-либо атрибута безотносительно к используемой модели данных.
1.5. Специфическим ограничением на значение поля является признак его уникальности. Это ограничение проверяет допустимость значения данного поля, но при этом просматривается вся таблица (файл). Поэтому, с одной стороны, данное ограничение правильнее было бы отнести к ограничениям на таблицу. Но, с другой стороны, ограничение на уникальность поля проверяется сразу после ввода значения конкретного поля, в отличие от большинства других ограничений целостности на таблицу.
Признак уникальности поля тесно связан с понятием ключа, но уже последнего, поскольку ключ может быть представлен не только одним полем, а совокупностью полей (составной ключ). Уникальное поле является вероятным ключом данного отношения. При наличии нескольких вероятных ключей один из них должен быть выбран в качестве первичного ключа. Поле, выбранное в качестве первичного ключа, не должно иметь пустых значений. Не все СУБД поддерживают концепцию ключа, т.е. позволяют определять ключ при описании БД. Некоторые СУБД для каждого файла (таблицы) требуют обязательно определять ключ при описании базы данных. Другие СУБД (например, Access), в принципе поддерживая концепцию ключа, разрешают создавать таблицы, в которых ключ не задан.
Ограничение на уникальность чаще всего возникает при отображении в базе данных каких-то объектов, и уникальное поле является идентификатором этого объекта. Поэтому это ограничение целостности иногда называется ограничением целостности объекта (сущности).
1.6. Очень важным видом ограничений целостности являются функциональные зависимости. Информацию об имеющих место в данной предметной области функциональных зависимостях можно извлечь из инфологической модели (см. разд. 4.2). Эта информация используется и при проектировании базы данных, и для контроля целостности при ее функционировании. Если БД спроектирована правильно, т.е. она находится в 4-й нормальной форме, то, определяя ключи и вероятные ключи отношений, тем самым определяются и имеющиеся функциональные зависимости между атрибутами.
1.7. Рассмотренные выше ограничения определяли проверки значения поля вне зависимости от того, вводится это значение впервые или корректируются имеющиеся в базе данных значения. Ограничения, которые используются только при проверке допустимости корректировки, называют ограничениями перехода (или динамическими ограничениями ). Например, если в базе данных имеются поля «Возраст_сотрудника», «Стаж_работы» и т.п., то при корректировке значения этих полей могут только увеличиваться. В аспекте правильности проектирования БД приведенные выше для иллюстрации поля, особенно поле «Возраст_сотрудника», лучше вообще не хранить в базе данных, а получать расчетным путем. Это не только существенно упростит ведение базы данных, но и облегчит процесс обеспечения целостности данных.
Другим примером ограничения перехода является корректировка поля «Семейное_положение». Так, значение «вдовец» может быть исправлено только на «женат», а «холост» не может быть исправлен на «разведен» и т.п.
Ограничение целостности может относиться как к реальному, так и к виртуальному полю, т.е. полю, которое в явном виде в таблице не хранится (например, если в БД фиксируется только поле «Дата__рождения», а ограничение накладывается на возраст). Последнее порождает дополнительные сложности. Так, в рассматриваемом примере значение свойства «возраст» в явном виде в БД не хранится - значит, надо разрабатывать специальную процедуру проверки соблюдения ограничения в каждый момент времени и решать вопрос о периодичности использования этой процедуры для проверки БД. Когда проверка происходит в момент ввода данных, то она играет двоякую роль: контроль правильности ввода данных и соответствие человека, о котором вводятся данные, предъявляемым к нему требованиям. При периодической проверке данного ограничения после ввода данных происходит проверка соответствия самой предметной области установленным требованиям.
Проверка соблюдения выполнения ограничений целостности, естественно, замедляет процесс обработки данных. Поэтому иногда бывает полезным определить, могут ли внесенные изменения базы данных привести к нарушению тех или иных ограничений целостности, и проводить контроль только в случае, когда такие нарушения потенциально могут возникнуть. Например, в предметной области может быть ограничение, заключающееся в том, что зарплата начальника не может быть ниже зарплаты его подчиненных. Тогда в случае увеличения зарплаты начальника соблюдение этого ограничения проверять не надо, а в случае уменьшения - надо.
2. Кортеж (запись, строка ) . Здесь имеются в виду ограничения на соотношения значений отдельных полей в пределах одной строки. В качестве ограничения на соотношения полей внутри одного кортежа можно привести следующее: значение поля «Стаж» не должно превышать [«Возраст» - 16] (предполагается, что трудовой стаж человека начинается не ранее чем в 16 лет).
3. Таблица. Ограничения целостности, относящиеся к таблице, затрагивают разные ее строки. Чаще всего для проверки их соблюдения приходится просматривать всю таблицу. К таким ограничениям относятся рассмотренные выше ограничения на уникальность поля или совокупности полей. Другим примером может служить ограничение для таблицы, содержащей сведения об окладах сотрудников, заключающееся в том, что средняя зарплата сотрудников не должна превосходить заданную величину. Такое ограничение может иметь место в случае, когда фонд заработной платы формируется исходя из величины нормативной средней заработной платы одного сотрудника и численности сотрудников.
Имеется ряд ограничений целостности, которые проверяют соотношения между записями одной таблицы: 1) нельзя быть родителем и ребенком одного и того же человека; 2) год рождения родителя должен быть меньше, чем год рождения ребенка. Первый из приведенных примеров является частным случаем более общего ограничения на отсутствие циклов. К аналогичным ограничениям относятся ограничения на наличие циклов при определении состава изделия (узел не может входить сам в себя), при описании организационной структуры и во многих других случаях. Если СУБД не позволяет контролировать подобные ограничения целостности, то следует написать универсальную программу (создать процедуру), позволяющую это делать, поскольку такого рода проверки нужны достаточно часто.
4. Совокупность взаимосвязанных таблиц . Эти ограничения отличаются от рассмотренных выше, которые затрагивали информационные единицы в пределах одной таблицы.
4.1. Наиболее часто встречающееся из этих ограничений - ограничение целостности связи. Оно выражается в том, что значение атрибута, отражающего связь между объектами и являющегося внешним ключом отношения, обязательно должно совпадать с одним из значений атрибута, являющегося ключом отношения, описывающего соответствующий объект. Например, если в базе данных существует таблица, отражающая связь между преподавателями и дисциплинами, которые каждый из них может преподавать, то код преподавателя в этой таблице должен соответствовать одному из кодов в таблице «Преподаватели», а код дисциплины - значению соответствующего поля в таблице «Дисциплины».
Ограничение целостности связи схоже по смыслу с ограничением путем задания домена, только роль домена здесь играет соответствующая колонка связанного отношения.
4.2. Разновидностью ограничения целостности связи является ограничение по существованию, заключающееся в том, что для существования объекта в отношении S 1 необходимо, чтобы он был связан с объектом в отношении S 2 .
Например, если сотрудника принимают на работу, то он должен быть «приписан» к какому-либо отделу, т.е. экземпляр записи «Сотрудник» может существовать только при существовании отдела, в котором он работает, и эта связь должна быть обязательно задана. В принципе в предметной области может быть и иная ситуация, допускающая наличие сотрудников, не приписанных ни к какому отделу. В последнем случае ограничение между таблицами «Сотрудник» и «Отдел» будет ограничением по связи, но не будет ограничением по существованию; т.е. ограничение по существованию является более сильным, чем простое ограничение по связи, и предполагает не только наличие соответствующего значения идентификатора отдела в таблице «Отдел», но и недопустимость пустого значения поля «Отдел» в таблице «Сотрудник».
Проблема обеспечения целостности по связи (и по существованию) по-разному выглядит при вставке новой записи в связанную таблицу, при корректировке записей, при удалении связанных записей. Например, если удаляется запись из основной таблицы, то возможны следующие варианты:
запись в основной таблице можно удалять только в том случае, если нет связанных с ней записей в подчиненной таблице;
при удалении записи основной таблицы удаляются все связанные с ней записи в зависимой таблице (так называемое каскадное удаление);
если это просто ограничение по связи, а не ограничение по существованию, то возможен вариант, когда при удалении записи основной таблицы значения соответствующего поля связанных с ней записей должны быть заменены на «пусто».
Удаление записей зависимой таблицы не может привести к нарушению ограничения целостности по связи или существованию.
В предметной области в принципе может быть ситуация «обратной связи по существованию», когда не может существовать запись основной таблицы без связанных с ней зависимых записей. Например, может быть ограничение, декларирующее, что не может быть отдела без сотрудников. Подобного рода ограничения контролировать сложнее, поскольку при удалении каждой записи зависимой таблицы надо смотреть, есть ли еще записи в зависимой таблице с таким же значением внешнего ключа.
При изменении значений полей связи важно, с какой стороны связи изменяется поле. Если изменяется ключевое поле в основной таблице, то чаще всего проводится каскадное изменение соответствующих ему значений в зависимой таблице. Если такое изменение разрешить нельзя, то задача отслеживания изменений и обеспечения целостности БД становится достаточно сложной.
Если изменение касается поля связи в зависимом файле, то при изменении нужно смотреть, есть ли новое значение в соответствующем поле основного файла. Иногда изменения поля связи в зависимом файле должны быть запрещены. Например, если имеется пара связанных таблиц «Отдел»-«Сотрудник», то изменение значения поля «Код отдела» в таблице «Сотрудник» будет означать перевод сотрудника в другой отдел (при изменении значения поля нужно проверять, что скорректированное значение не нарушает целостность по связи). Если же имеется пара связанных таблиц «Студент»-«Успеваемость», то изменение значение поля «Код_студента» в таблице «Успеваемость» следует запретить, поскольку такая корректировка означала бы, что результаты экзамена одного студента будут приписаны другому студенту, что бессмысленно.
В конкретных предметных областях могут быть и более сложные ограничения связи, затрагивающие кардинальность связи (т.е. число элементов в связи). Это можно проиллюстрировать на примере спортивных команд, которые имеют ограничения на минимальное число игроков. Например, волейбольная команда не может иметь меньше пяти игроков.
4.3. Кроме ограничений целостности связи ограничения, охватывающие несколько таблиц, могут представлять собой предложения, проверяющие отсутствие логических противоречий между данными взаимосвязанных таблиц. Например, если для каждой должности установлена определенная вилка оклада, то значение поля «Оклад» в таблице «Кадры» не должно выходить за пределы этой вилки, которая зафиксирована в таблице «Должности».
5. Особым видом ограничений являются алгоритмические зависимости между показателями. Если в БД хранятся как исходные, так и производные показатели, то необходимо поддерживать соответствие между ними. Следует обратить внимание на особенности корректировки производных показателей: обычно их корректировка либо должна быть запрещена, либо она должна быть следствием изменения исходных показателей.
6. Своеобразным видом ограничения является запрет на обновление . Он может относиться как к отдельному полю, так и к записи или целой таблице. В некоторых СУБД существует запрет на корректировку ключевого поля. Но даже в тех СУБД, которые позволяют корректировать ключевые поля, лучше стараться этого избегать.
Если объекты имеют статические свойства (на ER-диаграмме отмечены буквой «С»), то для них можно задавать запрет на обновление. Так, например, если описывается объект ЛИЧНОСТЬ, то такие атрибуты, как «Дата_рождения» и «Место_рождения» являются постоянными и меняться не могут. Задание запрета на обновление для соответствующих полей в базе данных гарантирует, что сохраненная в БД информации не будет случайно или преднамеренно искажена.
Рассмотрим следующий пример ограничения на обновление записи. Пусть в базе данных по кадровому составу для каждого сотрудника хранятся сведения об их поощрениях/наградах. Эта информация хранится в таблице «Поощрения», имеющей поля: «Табельный_номер сотрудника», «Вид_поощрения», «Дата». В эту таблицу могут добавляться записи, но каждая отдельная запись изменяться не может.
В рассматриваемом примере наблюдается также ограничение связи по существованию между таблицами «Поощрения» и «Сотрудники»: «Табельный_номер» в таблице «Поощрения» должен обязательно присутствовать в таблице «Сотрудники»; при удалении записи в таблице «Сотрудники» все связанные с ней записи в таблице «Поощрения» должны быть также удалены.
Некоторые СУБД позволяют задавать при описании данных так называемое обязательное членство для включения и каскадное удаление. В этом случае целостность при корректировке будет обеспечиваться системой автоматически.
7. Ограничения целостности можно не только накладывать, но и отменять. При этом между отношениями могут существовать зависимости, и отмена одного из них может потребовать ликвидации других (ссылочных) ограничений, зависящих от первоначального. Например, если объявлено, что в таблице, содержащей сведения об организациях, поле «Наименование_организации» является уникальным и объявлена ссылочная целостность с таблицей «Поставка», в которой также имеется это поле, а потом отменяется ограничение на уникальность поля «Наименование_организации» в первой таблице, то ссылочное ограничение целостности также должно быть удалено (поскольку ссылочная целостность проверяется только в случае, если в главной таблице соответствующее поле является ключевым). Некоторые СУБД автоматически поддерживают каскадное удаление ограничений целостности, когда при удалении одного из них удаляются все зависящие от него ограничения целостности.
Другими словами, понятие целостности можно отнести не только к БД, но и к самой системе ограничений, и было бы хорошо, чтобы СУБД ее автоматически поддерживали.
8. По моменту контроля за соблюдением ограничения целостности различают одномоментные и отложенные ограничения целостности. Отложенные ограничения целостности могут не соблюдаться в процессе выполнения какой-то группы операций, но должны быть соблюдены по их завершении.
С понятием отложенного ограничения целостности тесно связано понятие транзакции - законченной совокупности действий над БД, которая переводит БД из одного целостного в логическом смысле состояния в другое целостное состояние.
Примером отложенных ограничений целостности могут служить действия при выполнении бухгалтерских проводок: в бухгалтерском учете действует принцип двойной записи; в какой-то момент, когда проведена запись по дебету счета, но еще не проведена запись по кредиту корреспондирующего счета, может временно нарушиться баланс, но по завершении операции баланс должен соблюдаться.
9. Другим признаком классификации по временному признаку является классификация по режиму проверки корректности БД . Возможны два режима проверки ограничений целостности: проверка в момент корректировки и проверка существующей БД. Назовем первый из них оперативным режимом , второй - аудитом БД.
10. По необходимости описания ограничения целостности могут быть явными и неявными . Неявные ограничения целостности определяются спецификой модели данных и проверяются СУБД автоматически. Так, например, в иерархических СУБД запись-ребенок не может иметь несколько родителей, аналогично в сетевых СУБД с однотипными файлами для каждого набора может быть только один владелец. Неявные ограничения целостности обычно относятся к классу синтаксических ограничений целостности, в отличие от семантических ограничений целостности, обусловленных спецификой предметной области. К этому же классу ограничений целостности можно отнести проверку на допустимое значение даты при выборе соответствующего типа данных.
11. Рассмотренные выше виды ограничений целостности относились к данным пользователя . Понятие целостности может касаться и служебной информации . Для реляционных СУБД это прежде всего относится к поддержанию соответствия между индексными файлами и соответствующими им индексируемыми файлами баз данных.
12. Наряду с понятием целостности базы данных может быть введено понятие информационной целостности банка данных , заключающееся в обеспечении правильности взаимосвязи всех его информационных компонентов (файлов баз данных, программных файлов, описаний форм ввода-вывода, отчетов. Следует отметить, что в некоторых СУБД, в частности Access, совокупность этих элементов называется базой данных.). Например, если для файла базы данных имеется связанная с ним форма вывода и вы удалите из файла поле, вывод которого предусмотрен в этой форме, то возникнет ошибка при работе системы. Нарушения целостности могут возникнуть, если изменить тип данных, и во многих других случаях.
Некоторые СУБД имеют специальный механизм, позволяющий отслеживать согласованность различных информационных компонентов банка данных.
Для отслеживания взаимосвязи между всеми информационными компонентами БнД должны использоваться словари данных.
С обеспечением целостности БнД в целом на настоящий момент времени дело обстоит хуже, чем с контролем целостности БД в узком смысле этого понятия. Так, немногие СУБД при изменении, например, имени поля хотя бы предоставляли метаинформацию о том, какие объекты (запросы, программные модули, формы, отчеты, правила проверки ограничений на значения) имеют ссылку на измененный объект, не говоря уже о том, чтобы автоматически внести необходимые изменения.
13. Различают логическую и физическую целостность БД. Логическая целостность - состояние БД, характеризующееся отсутствием нарушений ограничений целостности, присущих логической модели данных (т.е. неявных ограничений), и явных ограничений, заданных декларативным или процедурным путем. Выше речь шла именно о логической целостности. Физическая целостность - отсутствие нарушений спецификаций схемы хранения, а также физических разрушений данных на носителе.
Работоспособность программы может нарушиться не только при изменении структуры БД, но и при перемещении тех или иных файлов, используемых ею, в другую директорию. Это также необходимо учитывать при проектировании ИС.
Задание ограничений целостности и их проверка - важная часть проектирования и функционирования банков данных. Ограничения целостности, присущие той или иной предметной области, должны быть выявлены при обследовании и зафиксированы в инфологической модели. Вопрос о необходимости проверки ограничений целостности при функционировании БнД должен решаться на основе анализа эффективности проекта, так как в некоторых случаях для ее реализации требуются значительные затраты ресурсов.
Ограничения целостности в банках данных могут задаваться либо при описании баз данных (декларативный способ задания ), либо в программах обработки данных (процедурный способ задания ). Первый подход более предпочтителен, и не только потому, что при декларативном способе задания используется более высокий уровень языковых средств, но и потому, что один раз заданные ограничения будут контролироваться при выполнении всех операций над данными.
Разные СУБД обладают различным набором средств для обеспечения целостности данных. При проектировании БнД необходимо изучить, какие возможности по контролю целостности предоставляет используемая СУБД. Если СУБД автоматически не поддерживает то или иное нужное ограничение, то обеспечение его соблюдения становится заботой пользователя (проектировщика).
В СУБД семейства xBASE основная масса ограничений целостности должна была быть определена на ЯМД, так как в ЯОД практически отсутствовали средства определения ограничений целостности данных. Часть ограничений целостности можно было задавать при создании экранных форм.
В современных СУБД многие ограничения можно описать на ЯОД. Они хранятся в схеме данных и при работе с БД поддерживаются автоматически.
Для контроля целостности БД применяется также механизм триггеров. Триггер - это действие, которое активизируется при наступлении указанного события (вставки, удаления, обновления записи). Триггеры специфицируются в схеме базы данных.
Более широким понятием по отношению к триггеру является понятие хранимая процедура. Хранимые процедуры описывают фрагменты логики приложения, хранятся и исполняются на сервере, что позволяет улучшать характеристики производительности.
Вступление. Многие слышали про взломы различных платежных систем, про новые стандарты в области информационной безопасности, про то, что государство разрабатывает новые нормативы в области персональных данных.
Некоторые даже слышали три таинственных слова «конфиденциальность, целостность и доступность», но не многие понимают, что все это означает и зачем все это нужно. Сюда относятся и многие ИТ - специалисты не говоря уже про людей далеких от ИТ.
Хотя в мире, где все основано на информационных технологиях, должны понимать что такое «информационная безопасность». Информационная безопасность – это не только антивирус и файрвол, информационная безопасность это целый комплекс мер.
На Хабре начинается серия публикаций по информационной безопасности, в этих публикациях будут рассмотрены многие важные аспекты ИБ, такие как: конфиденциальность, целостность и доступность; уязвимости в программных продуктах (также обсудим черный рынок 0-day уязвимостей и эксплоитов); технические меры защиты; организационные меры (политики, процедуры, инструкции); модели доступа; стандарты и законы в области ИБ. А также обсудим другие очень интересные вещи. Как и любой другой предмет начнем с самых основ, то есть теории.
Недавно в Твитере развернулись нешуточные страсти по «бумажной» и «практической» безопасности. Здесь будут рассмотрены как «бумажная» так и «практическая» безопасность, хотя, по моему мнению, эти две составляющие нельзя делить. Если речь идет о серьезном подходе «практика» не может существовать без «бумаги», так как для начальства, аудиторов в первую очередь важны бумажные отчеты Вашей работы. Не говоря уже про такие стандарты ISO и PCI DSS, которые требуют утвержденные руководством «бумажной безопасности».
Конфиденциальность, целостность и доступность.
Именно эти три слова служат прочным фундаментом информационной безопасности. Хотя многие считают что эта «триада» уже устарела, но об этом позже. Чтобы лучше понять значение этих слов необходимо представить следующую картину: три человека обхватили друг друга руками, и каждый сильно откинулся назад, если один из них отпустит руку другого то все упадут. Информационная безопасность достигается соотношением именно этих трех свойств, если у информации нету, хотя бы одной из этих свойств о безопасности говорить не приходиться. Каждая из этих свойств «триады» обеспечивается рядом мер, причем для обеспечения одного свойства необходимо использовать не одно, а несколько мер. Любая информация обладает, так или иначе, всеми тремя свойствами, давайте разберем каждое значение их этой триады.
Конфиденциальность – свойство информации, гарантирующее, что доступ к информации имеет доступ только определенные лица.
Например. В фирме «Рога и копыта» есть информация, а именно отчет о продажах. Доступ имеют только сотрудники отдела продаж и бухгалтерии. Причем сотрудники отдела продаж имеют ко всей информации (более подробно будет описано ниже), а бухгалтерия только к окончательным расчетам (чтобы рассчитать налоги с продаж.).
Таким образом, конфиденциальность означает не только доступ к информации, но и разграничение доступа к информации, то Петров имеет доступ к одной части информации, Сидоров ко второй, а Иванов ко всей информации.
Целостность – свойство информации, гарантирующее, что только определенные лица могут менять информацию.
Например. Продолжим пример с фирмой «Рога и Копыта» и с их отчетом по продажам. Как было ранее сказано Отдел продаж имеет доступ ко всей информации, а бухгалтерия только к определенной части. Но для безопасности это еще мало. Необходимо еще и разграничить доступ среди Отдела продаж.
Внимание!
В отделе есть два специалиста Сидоров и Петров, у каждого свой отчет. Необходимо чтобы каждый мог иметь право записи только в свой отчет. Вдруг Петров занизит продажи Сидорова. Еще хороший пример.
Фирма «Рога и Копыта» создала и отправила платеж по ДБО в свой банка, однако хакер Вася перехватил платеж и в поле получателя вставил номер своего счета. Это прямое нарушение целостности. Чтобы такого не произошло необходимо предпринимать ряд мер, к примеру, ЭЦП.
Доступность – свойство информации, гарантирующее, что лица имеющие доступ к информации в нужный момент смогут получить доступ.
Например. Генеральный директор фирмы «Рога и Копыта» в понедельник утром пришел на работу, включил компьютер и с удивлением обнаружил, что не может открыть базу отдела продаж по продажам.
Так что же произошло? Элементарно, Ватсон! В воскресенье ночью в потолке прорвало трубу, вода попала в компьютер, где хранилась база, и жесткий диск благополучно сгорел.
Так как директор никогда не слышал про информационную безопасность, а локальная сеть была создана студентом, не было ни резервной копии, ни избыточности в виде RAID.
Это самый простой пример, можно привести кучу примеров, сайт компании не был доступен и клиент не смог открыть сайт одной компании, но открыл сайт другой и естественно купил продукт второй компании. Это было первым выпуском серии «Информационная безопасность для маленьких».
Продолжение следует.
Источник: https://habrahabr.ru/sandbox/57903/
Нарушение целостности информации (данных) — повреждение (нарушение целостности), приводящее к невозможности использовать информацию без восстановления. Помимо вероятности потерять важные данные, угрозе подвержена работоспособность всей.
По характеру нарушение целостности информации (данных) рассматривают:
Следует отметить, что по мере увеличения способов хранения, обработки, записи данных будет возрастать и количество рисков.
Отдельная группа риска – сведения, представляющие финансовый интерес.
Крупные компании также оценивают как объект, находящийся в зоне опасности, сведения о научных разработках, ноу-хау, финансовые отчёты, всевозможные сводки, результаты маркетинговых исследований рынка за определённый период.
Сюда же относят информацию, являющуюся коммерческой тайной. В отношении публичных персон это могут быть биография, личные факты, компрометирующие фото.
Откуда исходит угроза?
При обсуждении темы источников угрозы нельзя игнорировать человеческий фактор. Сведения удаляются специально, случайно по ошибке.
Часто пользователи игнорируют необходимость заниматься профилактикой, проверять обновление антивирусов, настраивать установленные на ПК программы так, чтобы последние не вызывали сбои в работе конкретной ОС.
Иногда к проблемам приводит некомпетентность, неверные или противоречивые команды. Ситуация может усугубиться, если неопытный пользователь попытается самостоятельно заняться спасением информации.
Традиционно вопросом рисков и существующих угроз начинают заниматься уже после образования проблемной ситуации. Практика же показывает: наибольший эффект даёт грамотно и своевременно проведённая профилактика. Нередко вероятность восстановления напрямую зависит от наличия системы резервирования и того, была ли она активирована.
В первую очередь компаниям и пользователям необходимо уделять внимание созданию резервных копий из которых можно при необходимости восстановить данные.
Помимо этого, существуют дополнительные способы сохранить информацию.
Есть утилиты, блокирующие доступ к отдельным файлам: это не позволит вирусу или другой программе удалить сведения, перезаписать, стереть, внести свои изменения, осуществить иные манипуляции.
Правда, такие гарантии приводят к организации отдельной системы доступа. Поэтому большинство администраторов рекомендуют применять подобное ПО в отношении только особо важных файлов.
Уровень безопасности вполне реально повысить, если периодически проверять версии большинства используемых программ. Разработчики сейчас ориентированы на предоставление всё больших гарантий целевой аудитории.
Что не в последнюю очередь связано с громкими скандалами и судебными исками от покупателей к известным компаниям (Microsoft), выпустившим ПО, которое привело к потере ценных сведений. Поэтому заметна тенденция дополнительных страховок.
В результате каждая новая вышедшая версия закрывает уязвимости, наблюдавшиеся у предыдущей.
Немало говорится о важности компьютерной грамотности. Нередко пользователи, пытающиеся вернуть доступ, скачивают неподходящие утилиты, форматируют повреждённые диски, пытаются самостоятельно произвести диагностику.
Но в случае серьёзных проблем описанные действия могут привести к тому, что информация окажется безвозвратно утерянной. Нужно совершенно точно знать причину нарушения целостности.
Поэтому в ситуациях, когда сведения обладают повышенной ценностью, специалисты советуют обращаться в специальные компьютерные лаборатории. Они не дают 100% гарантии, но шансы гораздо выше, чем во всех остальных случаях.
К потере сведений может привести и техническая поломка. Полное физическое разрушение диска означает безвозвратную утрату сведений. Если ноутбук утопили, перегрели, ударили, то шансы остаются. Многое зависит от компании-производителя винчестера, от характера повреждения, длительности негативного воздействия, степени, от предпринятых сразу же мер.
Таким образом, анализ угроз сводится к ряду моментов:
Провести полное исследование угроз в состоянии исключительно квалифицированный специалист, оценивающий ситуацию комплексно. К нему можно обратиться при необходимости за экспертной оценкой. Такие профессионалы выдают и рекомендации, касающиеся режима эксплуатации отдельных ПК и ОС. Следование инструкциям и соблюдение базовых мер безопасности позволяет существенно снизить уровень рисков.
Источник: https://www.anti-malware.ru/threats/information-integrity-violation
Информация и её свойства
Предметом рассмотрения проблемы информационной безопасности для личности, общества и образующих его структур является сама информация, её свойства и состояние, информационные отношения, которые формируются между субъектами или в среде размещения, хранения, обработки и представления информации.
Информация как одна из базовых понятийных категорий современного мира имеет многоаспектное представление в достаточно обширной литературе на эту тему.
Нас в дальнейшем изложении курса будут, в основном, интересовать представление информационных отношений и состояния информации, собираемой, накапливаемой, хранимой и обрабатываемой на различных объектах информатизации и в их автоматизированных системах (АС) обработки и передачи данных.
Понятие информации
Информация – совокупность сведений, знаний об окружающем мире и протекающих в нём процессах, воспринимаемых человеком или специальными устройствами.
Понятие информации тесно связано с процессом познания. Информация является отражением материального мира, его объектов – материальных носителей информации.
В результате отражения формируется образ объекта, который характеризуется такими видами показателей, как пространственные, энергетические, физические, поведенческие и другие.
Образ объекта фиксируется на языке, понятном принимаемой стороной.
Информация не существует без своих материальных носителей (объектов). В то же время она обладает свойством инвариантности по отношению к объекту – носителю информации.
Инвариантность проявляется в том, что полученные в результате отражения и зафиксированные на определенном языке и на используемых внешних по отношению к объекту носителях образы являются инвариантами объекта и могут стать независимыми от него, передаваться, преобразовываться и участвовать в других формах движения в природе и обществе, в создаваемой обществом информационной технике. Такая информация называется объективированной информацией.
В современных информационных технологиях используется понятие «данные».
Данные – информация, представленная в виде, пригодном для её обработки автоматическими средствами (средствами компьютерной техники, телекоммуникационными средствами) при возможном участии человека.
При этом информация — содержание, присваиваемое данным посредством соглашений, которые обеспечивают адекватность исходному образу объекта.
По существу данные – это образы объектов, описанные на языке, который воспринимается информационной техникой, то есть объективированная информация, являющаяся предметом обработки в автоматизированных системах обработки данных (АСОД).
Основные характеристические свойства информации
Основными свойствами информации, характеризующими её состояние и качество (характеристические свойства), являются:
— достоверность;
— актуальность;
— целостность;
— полнота;
— ценность;
— защищённость;
— безопасность.
Достоверность
Свойство достоверности может быть интерпретировано в различных приложениях.
Достоверность – свойство информации быть правильно воспринятой; или вероятность отсутствия ошибок (в документе, массиве данных, сообщении).
Достоверность данных – степень соответствия данных, хранимых в памяти компьютера или в документах, реальному состоянию отображаемых ими объектов предметной области.
Достоверность обработки информации – функция вероятности ошибки, то есть событие, состоящее в том, что информация в системе при её обработке не совпадает в пределах заданной точности с некоторым её истинным значением.
Достоверность передачи информации – степень соответствия принятого сообщения переданному сообщению.
Актуальность
Свойство актуальности особенно важно при принятии решений на основании информации в фиксированный момент времени.
Актуальность – свойство данных (информации) находиться в актуальном состоянии, то есть в любой момент времени адекватно отображать состояние объектов предметной области.
Устаревшие данные (информация), не включающие в себя изменения характеристик, свойств, описаний рассматриваемого объекта в любой текущий момент времени теряют свою актуальность.
Целостность
Внимание!
Свойство целостности отражает неизменность во времени совокупности сведений или отдельных сведений об объекте, процессе с момента их фиксации на различных носителях информации.
Целостность – состояние данных (информации), когда они сохраняют своё информационное содержание и однозначность интерпретации в условиях преднамеренных или случайных воздействий.
Целостность данных считается сохранённой, если данные не искажены и не разрушены.
В криптографии при шифрованной передаче данных иногда понятия целостности и имитостойкости сообщений являются синонимами.
Полнота
Свойство полноты информации является достаточно субъективной характеристикой в конкретных информационных процессах. Полнота информации зависит, во-первых, от наличия информационных ресурсов по рассматриваемому предмету и возможности получения недостающих на взгляд субъекта, во-вторых, от определённых эвристических методов оценки достаточности информации для принятия качественного решения.
Полнота — свойство информации, определяющее необходимый и достаточный информационный ресурс для анализа ситуаций, решения различных задач с использованием информационной поддержки и принятия решений в различных областях человеческой деятельности.
Ценность
Свойство ценности информации – это чисто потребительское качество, но в приложении к общечеловеческой деятельности в личном плане, в организации, в обществе.
Ценность – свойство информации, определяемое её пригодностью к практическому использованию в различных областях целенаправленной деятельности человека.
Этот показатель качества необходимо отличать от показателя «цена», когда информация становиться информационным продуктом и участвует как товар в рыночных отношениях.
Специальные свойства информации
Следующие свойства, отражающие специальные показатели состояния и качества информации, являются интегрированными, в определённой степени производными от среды, в которой размещается информация, и имеют непосредственное отношение к пониманию проблемы информационной безопасности, рассмотрение которой будет предложено ниже.
Защищённость – свойство информации быть в любой среде размещения конфиденциальной/секретной , целостной и доступной в рамках предоставленных прав доступа и полномочий на действия.
Безопасность – свойство информации, которое исключает деструктивное влияние её на решение задач, в которых она используется непосредственно как расчётная субстанция или в качестве информационно-аналитической поддержки. Это означает, что данная информация должна обладать свойствами достоверности , актуальности , целостности , полноты , ценности или, по крайней мере, необходимым и достаточным набором этих свойств.
Источник: https://megalektsii.ru/s47355t1.html
Сижу, читаю драфт государственного стандарта «Информационные системы и объекты информатизации. Угрозы безопасности информации. Общие положения». И вот такой пассаж бросился в глаза:
Угрозы нарушения целостности защищаемой информации направлены на ее уничтожение и/ или модификацию.
Угрозы нарушения доступности защищаемой информации направлены на исключение возможности использования этой информации ее обладателем (пользователем), процессом или устройством
На мой взгляд здесь классическая ошибка, связанная с наличием тонкой грани между понятиями свойств «целостности» и «доступности» информации.
Разве уничтожение информации (угрозы нарушения целостности согласно первому определению) не приводит к исключению возможности использования этой информации ее обладателем (из второго определения для угроз доступности) ? Приводит!
Поэтому про нарушение целостности можно говорить только тогда, когда в исходную информацию вносятся изменения, которые для пользователя выглядят как абсолютно легитимные. Если же в результате изменений информация меняется полностью или же нарушается структура данных, то это уже в чистом виде уничтожение информации, т.е нарушение доступности.
Может быть я конечно говорю банальные вещи, но есть специалисты, которые в этом вопросе по-прежнему путаются.
В качестве подтверждения давайте посмотрим на определения свойств «целостности» и «доступности» в различных документах:
— ISO 27001
доступность: свойство, заключающееся в доступности и применимости для авторизованных субъектов, когда потребуется;
целостность: свойство, заключающееся в обеспечении точности и полноты ресурсов.
— ГОСТ Р 50922 2006. Защита информации. Основные термины и определения
целостность: Состояние информации, при котором отсутствует любое ее изменение либо изменение осуществляется только преднамеренно субъектами, имеющими на него право
доступность информации: [ресурсов информационной системы]: Состояние информации [ресурсов информационной системы], при котором субъекты, имеющие права доступа, могут реализовать их беспрепятственно.
— Базовая модель угроз безопасности ПДн от ФСТЭК (документ от 2008 г.)
целостность информации: состояние информации, при котором отсутствует любое ее изменение либо изменение осуществляется только преднамеренно субъектами, имеющими на него право.
определения доступности нет.
— СТО БР ИББС
доступность информационных активов: Свойство ИБ организации банковской системы Российской Федерации, состоящее в том, что информационные активы предоставляются авторизованному пользователю, причем в виде и месте, необходимых пользователю, и в то время, когда они ему необходимы.
целостность информационных активов: Свойство ИБ организации банковской системы Российской Федерации сохранять неизменность или исправлять обнаруженные изменения в своих информационных активах.
Можно увидеть, что все определения очень схожи. И это только подтверждает то, что когда мы говорим о целостности, то речь идет именно о внесении несанкционированых изменений. Если же изменения приводят к тому, что исходная информация становится абсолютно неинформативной (уж простите за тафталогию), то тут мы уже имеем дело с нарушением доступности.
Надеюсь что разработчики ГОСТа в ТК-362 учтут этот момент и внесут соответствующие поправки в документ.
Источник: http://secinsight.blogspot.ru/2013/07/blog-post.html
Кто в наше время не слышал об информационной безопасности?
Слышали наверное все от домохозяек до топ-менеджеров ведущих компаний. Если кто-то поспорит о «домохозяйках», спросите Вашу жену или дочку, когда у них последний раз угоняли аккаунт от «Контактов» или «Одноклассников».
Но весь вопрос в том, насколько разниться понимание информационной безопасности у домохозяйки, жертвующей в худшем случае аккаунтом из социальной сети или приобретая тормозящий компьютер, зараженный вредоносным программным обеспечением по и топ-менеджера, неправильное решение которого может стоить жизни компании с тысячами сотрудников.
Так вот, хочется сказать, что немало топ-менеджеров не ушли в своем восприятии вопросов информационной безопасности дальше домохозяек. Возьмем простой пример: у кого в компании на рабочем компьютере есть административные права? Правильный ответ – у IT и топ-менеджмента. И если есть надежда, что у IT хвати ума не работать под административными правами, то про топов этого не скажешь.
Почему возникла такая ситуация?
Вопрос в том, что как отдельное направление в бизнесе, информационная безопасность оформилась совсем недавно, а на Украине вообще только-только. Толчок к этому дало бешеное развитие информационных технологий, которые бизнес впитывал, как губка.
Но вместе с теми преимуществами, которые несет в себе IT в бизнес вошли и все угрозы, которые порождаются использованием информационных технологий. И если прибыли от преимуществ для всех явны из финансовых отчетов, то чтобы оценить угрозы и ущерб от них, необходимо проводить всесторонний анализ рисков.
А это, в отличии от финансов и больших цифр прибыли, понимает далеко не каждый руководитель.
Что вкладывает среднестатистический человек в понятие информационная безопасность?
Во-первых, он не отличает информационную безопасность от IT-безопасности. То есть считает, что сфера информационной безопасности не простирается дальше компьютеров. Во-вторых, если его конкретнее расспросить, что же он все таки понимает под информационной безопасностью, то можно скорее всего услышать следующее:
— это противодействие вирусам;
— это охрана от разглашения коммерческих и других секретов;
— это защита от хакеров, которые могут сейчас залезть в любой компьютер и взломать что угодно.
И очень мало кто представляет, что значит информационная безопасность в самом деле.
Основной задачей информационной безопасности является соблюдение трех основных свойств информации – конфиденциальности, целостности и доступности. И если первое понятно практически всем, то два последних для многих не несут смысловой нагрузки.
Целостность информации – это такое ее свойство, которое состоит в том, что информация не может быть изменена (сюда входит и удалена) неуполномоченным на то субъектом (это может быть и человек, и компьютерная программа, и аппаратная часть компьютера, и любое другое воздействие типа сильного магнитного излучения, наводнения или пожара) . Для многих будет открытие, что под вопросы информационной безопасности попадает случай, когда жена стерла Вашу любимую игрушку. Или если Вы ее случайно стерли сами. А если Вы потеряли флешку со скачанными с интернета фотографиями? Или неправильно поставили дату в важном деловом письме? Все это – целостность информации.
Доступность информации – это такое ее свойство, которое позволяет субъекту, который имеет на это право, получить информацию в виде, необходимой субъекту, в месте, которое нужно субъекту, и во время, нужное для субъекта.
Так вот, это случаи, когда Вы пришли в железнодорожную кассу или в магазин, или в банк, а вам говорят, что в ближайшие пол-часа Вас обслужить не могут, потому что висит «Экспресс», «1С», клиент-банк… Список можно продолжать.
Или когда у вас пропадает интернет, Вы звоните провайдеру, а он начинает Вам рассказывать про воров, укравших свич и кусок кабеля, или про недавнюю грозу.
Так вот – все эти товарищи экономят на информационной безопасности и не обеспечивают должного уровня доступности информации. Это же можно сказать и про Microsoft, когда вспоминаешь песню про «зависшую винду».
Вы уже приблизительно увидели, с чем приходиться сталкиваться информационной безопасности. Но это только маленькая верхушка огромного айсберга.
Как Вы думаете, должен ли специалист по информационной безопасности разбираться в юриспруденции? «Зачем попу гармонь»,- скажете Вы и опять не угадаете. Изучение и составление нормативных документов – одна из важных аспектов работы информационной безопасности.
А кто, по вашему будет собирать доказательства в компании, где произошло преступление, связанное с информацией.
Внимание!
Милиция? Вы большой оптимист, если думаете, что там надеться хотя бы один специалист, который сможет посмотреть журнал аудита Windows и найти там что-то для себя понятное.
А Вы знаете, сколько на Украине создано законодательных актов и других государственных нормативных документов по информационной безопасности? Боюсь, Вашего книжного шкафа не хватит. А если взять еще нормативные документы по отдельным ведомствам? Потянет на небольшую библиотеку.
А должен ли специалист по информационной безопасности разбираться в кадровой работе? Конечно должен. В функции информационной безопасности входит определение требований при приеме на работу, мониторинг перемещения сотрудников, принятие мер при увольнении сотрудника и т.д.
А должен ли специалист по информационной безопасности иметь педагогические навыки? А кто по Вашему, будет вносить в головы как рядовых сотрудников так и топ-менеджмента, азы информационной безопасности? Ведь без неукоснительного соблюдения правил информационной безопасности все файерволы, маршрутизаторы, системы шифрования и контроль доступа – просто лишняя трата денег.
А еще информационная безопасность тесно пересекается с такими направлениями, как служба безопасности, охрана, деловодство, внутренний аудит, аналитика бизнес-процессов, хозяйственное обеспечение и многими другими направлениями, о которых Вы даже не могли подумать.
Такой вот большой существует сегодня разрыв между пониманием информационной безопасности средним человеком, и теми реальными задачами, с которыми приходиться сталкиваться при организации информационной безопасности в бизнесе.
Целостность данных
Определение 1
Целостностью данных можно назвать механизм поддержания соответствия базы данных предметной области.
В реляционной модели данных определяют две базовые категории обеспечения целостности:
Определение 2
Под целостностью понимают правильность данных в любой момент времени.
Данной цели можно достигнуть только в определенных пределах : СУБД не может выполнять контроль правильности каждого отдельного значения, которое вводится в базу данных (несмотря на то, что можно выполнить проверку каждого значения на правдоподобность). К примеру, невозможно проверить, что введенное значение 7, которое представляет номер дня недели, на самом деле должно быть равным 4. Но значение 8 однозначно будет являться ошибочным и база данных должна отвергнуть такое значение. В таком случае СУБД необходимо сообщить, что номера дней недели должны выбираться из набора чисел (от 1 до 7).
Поддержание целостности БД может быть рассмотрено как обеспечение защиты данных от разрушений или ошибочных изменений (не стоит путать с незаконными разрушениями и изменениями, которые являются проблемой безопасности).
Определение 3
Ограничения целостности являются специальными средствами баз данных, которые предназначены для предупреждения возможности попадания в базу недопустимым данным (к примеру, не дать пользователю совершить ошибки при введении данных).
Ограничения целостности делятся на 3 основные категории :
Внешний ключ должен иметь значение, которое:
Средства декларативного характера создают в виде составных частей объектов при их определении в БД (к примеру, установление условия на значение при создании таблицы в БД).
Средства процедурного характера (хранимые процедуры и триггеры) реализованы в виде отдельных программных модулей.
В основном декларативные ограничения являются менее функциональными, но более экономными по отношению к ресурсам и наоборот. Обратим внимание, что использованием развитой системы ограничений целостности определяется зрелость БД. Зачастую легче с самого начала обеспечить непопадание в базу данных неверных значений, чем после убирать их из базы данных.
К тому же, разработчики при создании ограничений целостности должны обеспечить перехват ошибок, которые возникают при нарушениях целостности, клиентским приложением.
Также выделяют целостность, определяемую пользователем . Любая база данных содержит дополнительные специфические правила, относящиеся только к ней и определяющиеся разработчиком. При этом чаще всего контролируют:
целостность данных - Свойство, при выполнении которого данные сохраняют заранее определенный вид и качество. целостность данных Сервис контроля доступа, гарантирующий, что принятые по сети данные не были… …
Целостность данных термин в информатике и теории телекоммуникаций, который означает, что данные полны, условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача, хранение или представление. В… … Википедия
Целостность данных - Целостность (данных) (integrity (of data)): свойство данных сохранять точность и непротиворечивость независимо от внесенных изменений (ИСО/МЭК 2382 8)... Источник: ИНФОРМАТИЗАЦИЯ ЗДОРОВЬЯ. ТРЕБОВАНИЯ К АРХИТЕКТУРЕ ЭЛЕКТРОННОГО УЧЕТА ЗДОРОВЬЯ.… … Официальная терминология
целостность (данных) - (integrity (of data)): Свойство данных сохранять точность и непротиворечивость независимо от внесенных изменений (ИСО/МЭК 2382 8). Источник: ГОСТ Р ИСО/ТС 18308 2008: Информатизация здоровья. Требования к архитектуре электронного учета здоровья …
целостность данных - 2.23 целостность данных (data integrity): Соответствие значений всех данных базы данных определенному непротиворечивому набору правил. Источник: ГОСТ Р ИСО/МЭК ТО 10032 2007: Эталонная модель управления данными целостность данных: Способность… … Словарь-справочник терминов нормативно-технической документации
Целостность информации (также целостность данных) термин в информатике и теории телекоммуникаций, который означает, что данные полны, условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача,… … Википедия
целостность системы - 1. Качество системы, которым она обладает, если корректно выполняет все свои функции, свободна от намеренных или случайных несанкционированных манипуляций. 2. Состояние системы, в котором существует полная гарантия того, что при любых условиях… … Справочник технического переводчика
целостность - 2.15 целостность (integrity): Свойство сохранения правильности и полноты активов. Источник … Словарь-справочник терминов нормативно-технической документации
Свойство базы данных, означающее, что БД содержит полную и непротиворечивую информацию, необходимую для корректного функционирования приложений. Для обеспечения целостности накладывают ограничения целостности. См. также: Базы данных Финансовый… … Финансовый словарь
целостность на уровне ссылок - ссылочная целостность целостность ссылочных данных — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы ссылочная целостностьцелостность ссылочных… … Справочник технического переводчика