Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_BD.doc
Скачиваний:
49
Добавлен:
17.09.2019
Размер:
1.74 Mб
Скачать

15.Ограничения целостности. Понятие и классификация

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

  1. Поле. Для него чаще всего используются следующие виды ограничений:

    1. Тип и формат поля (тип поля определяет допустимые для данного поля символы)

    2. Задание диапазона значений

    3. Признак непустого поля (характеризует недопустимость пустого значения поля в БД)

    4. Задание домена (Поле может принимать значение из заданного множества, множество возможных значений какого-либо атрибута называется доменом. Например, пол может быть только «мужской» и «женский»)

    5. Признак его уникальности (это ограничение проверяет допустимость значения данного поля, но при этом просматривается вся таблица; проверяется сразу после ввода значения конкретного поля)

    6. Функциональные зависимости

    7. Ограничения перехода (Это ограничения, которые используются только при проверке допустимости корректировки. Например, «возраст сотрудника» при корректировке значения может только увеличиваться; корректировка поля «семейное положение», вдовец может быть исправлен на женат, холост не может быть исправлен на разведен)

  2. Кортеж (строки, записи) – ограничения на соотношения значений отдельных полей в пределах одной строки. Например, трудовой стаж начинается не ранее чем в 16 лет.

  3. Отношения (таблицы, файлы) – ограничения целостности, относящиеся к таблице, затрагивают разные ее строки. Чаще всего для проверки их соблюдения приходится просматривать всю таблицу. К таким ограничениям целостности относятся ограничения на уникальность поля или совокупности полей.

  4. Совокупность взаимосвязанных таблиц – например, ограничение целостности связи.

  5. Алгоритмические зависимости между показателями (если в БД хранятся как исходные так и производные показатели, то необходимо поддерживать соответствие между ними)

  6. Запрет на обновление (он может относиться как к отдельному полю, так и к записи или целой таблице. Заключается в том, что нельзя изменять поля, например, «дата рождения», «место рождения» и тд.)

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

  8. По режиму проверки корректности БД (Оперативный режим – проверка в момент корректировки, аудит БД – проверка существующей БД)

  9. По необходимости описания ограничения целостности могут быть неявными и явными. (неявные ограничения целостности определяются спецификой модели данных и проверяются СУБД автоматически. Неявные относятся к классу синтаксических ограничений целостности)

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

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

Некоторые ограничения целостности видны из описания предметной области в виде ER-модели.

1. Ограничение на уникальность - уникальные идентификаторы объектов являются ключами таблиц, соответствующих этим объектам. Если идентификаторов несколько, то для СУБД, поддерживающих концепцию ключа, нужно определить первичный ключ (Primary Key) и вероятные ключи (Alternate Key, Unique).

2. Если объекты связаны между собой, то соответствующие таблицы БД могут иметь ограничение целостности по связи.

Тип связи между объектами (1:1, 1:М, М:М) определяет, что будет первичным, а что - внешним ключом в этих связях. Если отношение между объектами 1:М, то очевидно, что первичным будет ключ основной таблицы (объект, который стоит со стороны единичной связи), внешним - соответствующее ему поле в таблице, отображающей объект, стоящий на стороне множественной связи. В случае, если связь 1:1, объекты относительно связи являются равноправными, и для определения, какой из файлов БД будет играть ведущую роль, необходимо рассматривать дополнительные характеристики. Например, если класс членства с одной стороны связи необязательный, а с другой - обязательный, то идентификатор объекта, имеющего необязательный класс членства, помещается в таблицу, соответствующую объекту с обязательным классом членства, и именно он будет внешним ключом. При наличии связи М:М в базу данных вводится дополнительная связующая таблица. Между ней и таблицами, соответствующими исходным объектам, существуют ограничения целостности по связи. Внешними ключами будут идентификаторы связанных объектов, помещенные в связующей таблице.

3. Если при наличии связи типа 1:М класс членства в связи - необязательный для объектов, стоящих со стороны множественной связи, то могут быть «пустые» значения внешнего ключа. В противном случае они должны иметь ограничение целостности «NON NULL».

4. Класс членства объектов в связи оказывает влияние не только на выбор варианта построения логической структуры, но и на задание ограничений целостности. Причем ограничение целостности будет определяться как классом членства, так и выбранным вариантом отображения этой связи в БД. Так, если объекты связаны отношением 1:М, класс принадлежности n-связной сущности является необязательным и для отображения связи создается третье отношение, которое содержит ключи каждой из связанных сущностей, то между связующим файлом и основными файлами будет ограничение целостности по связи, а значения каждого из полей связующего файла не должны быть пустыми. Если же дополнительная таблица не создается, то значение поля связи, включенного в таблицу, соответствующую объекту, стоящему со стороны множественной связи, либо должно совпадать с одним из значений ключевого поля связанного объекта, либо может быть пустым. Если класс членства обязательный, то поле связи не может иметь пустого значения.

5. При наличии связи 1:1 следует проверять количество элементов в связи.

6. Для статических свойств объектов можно предусматривать запрет на обновление.

7. Если свойство - условное, то соответствующий атрибут может иметь пустые значения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]