Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК по СРОД-10-12.docx
Скачиваний:
26
Добавлен:
19.11.2019
Размер:
990 Кб
Скачать
☆

5.3. Целостность данных

Под целостностью данных понимают соответствие информационной модели предметной области (ПО), объектам реального мира и их взаимосвязям в каждый момент времени.

В БД сведения о предметной области хранятся в информационной модели. Любые изменения в ПО, значимое для построения модели, должно отражаться в БД.

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

Различают следующие ограничения целостности: 1.    Логические ограничения 2.    Внутренние ограничения 3.    Явные ограничения Логические ограничения – это механизм контролирования значений, которые хранятся в полях строки БД. Термин целостности используется для описания точности и корректности данных, хранящихся в БД. Его не надо путать с безопасностью. Проблема сохранения целостности данных касается непреднамеренных ошибок и их предотвращения. Например, значение поля возраст не должен быть >150 лет.

Год окончания вуза должен превышать значение атрибута год рождения в записи типа служащий. В учебной группе по списку должно быть не более 35 человек. Возраст сотрудника не меньше 18 и не больше 80 лет.

Внутренние ограничения – связаны со структурой данных. Пример 5.4: запись не может состоять из 250 полей. В иерархической модели связи должны быть древовидными. Явные ограничения специфицируются в БД с помощью специальных конструкций языка описания данных. Пример 5.5: 1) в БД не может быть двух записей с одинаковыми ключами. 2) Шифр детали представляется целым числом из 4х десятичных цифр. В SQL вводятся также операторы ограничения: CHECK – ограничения на значение атрибута NULL – возможность хранения неопределенного значения DEFAULT – определение значения по умолчанию UNIQUE – гарантирует уникальное значение в столбце PRIMARY KEY – определяет первичный ключ Пример 5.6: Для задания ограничений отдельного столбца стандарт ISO задает оператор     CREATE DOMAIN <имя_файла> [AS] тип данных [DEFAULT <значение>] [CHECK <условие>] Например, имя столбца с указанием пола (SEX)

CREATE DOMAIN sex_type AS CHAR CHECK (Value IN(‘M’,’F’))

В результате будет создан домен под именем Sex_type, состоящий из двух символов M и F. В таблице Sotr(fio, sex, dolgn, …) имеется столбец sex. Тогда столбец sex в таблице можно описать, используя домен sex_type.

5.4. Шифрование данных

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

Зашифрованное сообщение называется криптограммой

1.    Шифр простой подстановки. Буквы кодируемого сообщения прямо заменяются буквами того же или другого алфавита. АБВГД

ВЕЗКН 2.    Шифр многоалфавитной подстановки.

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

C=(a*P+S)modK, где a - десятичный коэффициент, Р – номер буквы, S – сдвиг.

3.    Шифр Цезаря. Является частным случаем многоалфавитной подстановки. С=Р+К*(mod27) 1<=K<=27 C=P+2*(mod27) Пример: 0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19 A   B   C   D    E    F   G    H    I    J     K      L     M     N     O     P     Q      R      S     T

4.    Шифр Вижинера (универсальный): Для кодирования используются ключи. Здесь степень надежности закрытия информации повышается за счет того, что метод шифрования предусматривает нарушение статистических закономерностей появления букв алфавита. Ключ, представляет собой некоторое слово или просто последовательность букв. Например, необходимо закодировать слово DECODER. Пусть PIES – ключ

Вопросы

  1. Что понимают под безопасностью баз данных?

  2. Перечислите меры безопасности

  3. Какие существуют методы идентификации и установления подлинности?

  4. В каких случаях используют процедуру в «режиме рукопожатия»?

  5. Для чего используется механизм представления?

  6. Как на SQL организуется механизм представления?

  7. Что позволяет оператор GRANT?

  8. Как осуществляются факультативные возможности GRANT?

  9. Какие существуют ограничения целостности данных?

  10. Приведите примеры логических ограничений.

  11. Назовите основные методы шифрования данных.