close

Вход

Забыли?

вход по аккаунту

Лекция 17

код для вставкиСкачать
Учебная дисциплина «Базы данных и управление ими»
для студентов специальности
050501.65 «Профессиональное обучение»
Лекция №17
МЕТОДЫ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ БАЗ
ДАННЫХ
Учебные вопросы:
1.
2.
3.
Понятие и классификация методов ограничений целостности
данных
Дополнительные методы ограничения целостности баз данных
Особенности логической и физической целостности баз данных
Литература
1. Базы данных: учеб. Пособие для студ. высш.
учеб. Заведений / А.В. Кузин, С.В.
Левонисова. – 2-е изд. стер. – М.:
Издательский центр «Академия», 2008.
2. Марков А.С., Лисовский К.Ю. Базы данных.
Введение в теорию и методологию: Учебник.
–М.: Финансы и статистика, 2006.
3. Теория и практика построения баз данных. 8е изд. / Д. Крѐнке. –СПб: Питер, 2003.
Вопрос 1. Понятие и классификация методов ограничений
целостности данных
Целостность — актуальность и непротиворечивость информации, ее
защищенность от разрушения и несанкционированного изменения.
Целостность данных - неотъемлемое свойство базы данных, и ее
обеспечение является важнейшей задачей проектирования БнД.
Целостность
данных
описывается
набором
специальных
предложений, называемых ограничениями целостности. Ограничения
целостности представляют собой утверждения о допустимых значениях
отдельных информационных единиц и связях между ними. Эти
ограничения определяются в большинстве случаев особенностями
предметной области, хотя могут отражать и чисто информационные
(лингвистические) характеристики.
Ограничения
целостности
могут
относиться
к
разным
информационным объектам*: атрибутам (полям), кортежам (строкам,
записям), отношениям (таблицам, файлам)**, связям между файлами и
т.п.
Рис. 1 - Общая схема классификации методов ограничений целостности данных
Рассмотрим методы ограничения целостности данных по основным
информационным объектам.
Поле. Для него чаще всего используются следующие виды ограничений.
• Тип и формат поля. Тип поля определяет допустимые для данного поля
символы, а иногда и более жесткие ограничения на допустимые значения
(как, например, для полей типа дата или логическое).
• Задание диапазона значений. Обычно используется для числовых полей.
• Признак непустого поля. Характеризует недопустимость пустого
значения поля в БД.
• Задание домена. Поле может принимать значение из заданного
множества.
• Специфическим ограничением на значение поля является признак его
уникальности. Это ограничение проверяет допустимость значения данного
поля, но при этом просматривается вся таблица (файл).
• Очень
важным
видом
ограничений
целостности
являются
функциональные зависимости.
Кортеж (запись, строка). Здесь имеются в виду ограничения
на соотношения значений отдельных полей в пределах одной
строки. В качестве ограничения на соотношения полей внутри
одного кортежа можно привести следующее: значение поля
«Стаж» не должно превышать *«Возраст» - 16] (предполагается,
что трудовой стаж человека начинается не ранее чем в 16 лет).
Таблица. Ограничения целостности, относящиеся к таблице,
затрагивают разные ее строки. Чаще всего для проверки их
соблюдения приходится просматривать всю таблицу. К таким
ограничениям относятся рассмотренные выше ограничения на
уникальность поля или совокупности полей. Другим примером
может служить ограничение для таблицы, содержащей сведения
об окладах сотрудников, заключающееся в том, что средняя
зарплата сотрудников не должна превосходить заданную
величину. Такое ограничение может иметь место в случае, когда
фонд заработной платы формируется исходя из величины
нормативной средней заработной платы одного сотрудника и
численности сотрудников.
Совокупность взаимосвязанных таблиц. Эти ограничения
отличаются от рассмотренных выше, которые затрагивали
информационные единицы в пределах одной таблицы.
•Наиболее часто встречающееся из этих ограничений ограничение целостности связи.
•Разновидностью ограничения целостности связи является
ограничение по существованию, заключающееся в том, что
для существования объекта в отношении S1 необходимо,
чтобы он был связан с объектом в отношении S2.
•Кроме ограничений целостности связи ограничения,
охватывающие несколько таблиц, могут представлять собой
предложения,
проверяющие
отсутствие
логических
противоречий между данными взаимосвязанных таблиц.
2 Дополнительные методы ограничения целостности баз
данных
Кроме рассмотренных выше ограничений целостности баз данных по
основным
информационным
объектам
дополнительно
могут
накладываться ограничения. К ним относятся следующие:
• Ограничения алгоритмических зависимостей между показателями.
• Запрет на обновление.
• Ограничение целостности по моменту контроля .
• Ограничение целостности по режиму проверки корректности БД
• Ограничение целостности по необходимости описания.
• Ограничение целостности служебной информации.
• Информационная целостность банка данных.
Особым видом ограничений являются алгоритмические
зависимости между показателями. Если в БД хранятся как
исходные, так и производные показатели, то необходимо
поддерживать соответствие между ними. Следует
обратить внимание на особенности корректировки
производных показателей: обычно их корректировка либо
должна быть запрещена, либо она должна быть
следствием изменения исходных показателей.
Своеобразным видом ограничения является запрет на
обновление. Он может относиться как к отдельному полю,
так и к записи или целой таблице. В некоторых СУБД
существует запрет на корректировку ключевого поля. Но
даже в тех СУБД, которые позволяют корректировать
ключевые поля, лучше стараться этого избегать.
По моменту контроля за соблюдением ограничения
целостности различают одномоментные и отложенные
ограничения целостности.
Отложенные ограничения целостности могут не соблюдаться в
процессе выполнения какой-то группы операций, но должны быть
соблюдены по их завершении.
С понятием отложенного ограничения целостности тесно
связано понятие транзакции - законченной совокупности действий
над БД, которая переводит БД из одного целостного в логическом
смысле состояния в другое целостное состояние.
Примером отложенных ограничений целостности могут
служить действия при выполнении бухгалтерских проводок: в
бухгалтерском учете действует принцип двойной записи; в какойто момент, когда проведена запись по дебету счета, но еще не
проведена запись по кредиту корреспондирующего счета, может
временно нарушиться баланс, но по завершении операции баланс
должен соблюдаться.
Другим признаком классификации по временному признаку
является классификация по режиму проверки корректности БД.
Возможны два режима проверки ограничений целостности:
проверка в момент корректировки и проверка существующей БД.
Первый из них является оперативным режимом, второй аудитом БД.
По необходимости описания ограничения целостности могут
быть явными и неявными. Неявные ограничения целостности
определяются спецификой модели данных и проверяются СУБД
автоматически. Так, например, в иерархических СУБД записьребенок не может иметь несколько родителей, аналогично в
сетевых СУБД с однотипными файлами для каждого набора может
быть только один владелец. Неявные ограничения целостности
обычно относятся к классу синтаксических ограничений
целостности, в отличие от семантических ограничений
целостности, обусловленных спецификой предметной области. К
этому же классу ограничений целостности можно отнести
проверку на допустимое значение даты при выборе
соответствующего типа данных.
Понятие целостности может касаться и служебной
информации. Для реляционных СУБД это прежде всего
относится
к
поддержанию
соответствия
между
индексными
файлами
и
соответствующими
им
индексируемыми файлами баз данных.
Наряду с понятием целостности базы данных может
быть введено понятие информационной целостности
банка
данных,
заключающееся
в
обеспечении
правильности взаимосвязи всех его информационных
компонентов (файлов баз данных, программных файлов,
описаний форм ввода-вывода, отчетов. Следует отметить,
что в некоторых СУБД, в частности Access, совокупность
этих элементов называется базой данных.). Например,
если для файла базы данных имеется связанная с ним
форма вывода и вы удалите из файла поле, вывод
которого предусмотрен в этой форме, то возникнет
ошибка при работе системы.
Некоторые СУБД имеют специальный механизм,
позволяющий отслеживать согласованность различных
информационных компонентов банка данных.
Для отслеживания взаимосвязи между всеми
информационными
компонентами
БнД
должны
использоваться словари данных.
С обеспечением целостности БнД в целом на настоящий
момент времени дело обстоит хуже, чем с контролем
целостности БД в узком смысле этого понятия. Так,
немногие СУБД при изменении, например, имени поля
хотя бы предоставляли метаинформацию о том, какие
объекты (запросы, программные модули, формы, отчеты,
правила проверки ограничений на значения) имеют
ссылку на измененный объект, не говоря уже о том, чтобы
автоматически внести необходимые изменения.
3 Особенности логической и физической
целостности баз данных
Различают логическую и физическую целостность
БД.
Логическая
целостность
состояние
БД,
характеризующееся
отсутствием
нарушений
ограничений целостности, присущих логической
модели данных (т.е. неявных ограничений), и явных
ограничений,
заданных
декларативным
или
процедурным путем. Выше речь шла именно о
логической целостности.
Физическая целостность —отсутствие нарушений
спецификаций схемы хранения, а также физических
разрушений данных на носителе.
Задание ограничений целостности и их проверка - важная часть
проектирования
и
функционирования
банков
данных.
Ограничения целостности, присущие той или иной предметной
области, должны быть выявлены при обследовании и
зафиксированы в
инфологической
модели. Вопрос
о
необходимости проверки ограничений целостности при
функционировании БнД должен решаться на основе анализа
эффективности проекта, так как в некоторых случаях для ее
реализации требуются значительные затраты ресурсов.
Ограничения целостности в банках данных могут задаваться
либо при описании баз данных (декларативный способ задания),
либо в программах обработки данных (процедурный способ
задания). Первый подход более предпочтителен, и не только
потому, что при декларативном способе задания используется
более высокий уровень языковых средств, но и потому, что один
раз заданные ограничения будут контролироваться при
выполнении всех операций над данными.
В современных СУБД многие ограничения можно
описать на ЯОД. Они хранятся в схеме данных и при
работе с БД поддерживаются автоматически.
Для контроля целостности БД применяется также
механизм триггеров. Триггер - это действие, которое
активизируется при наступлении указанного события
(вставки, удаления, обновления записи). Триггеры
специфицируются в схеме базы данных.
Более широким понятием по отношению к триггеру
является понятие хранимая процедура. Хранимые
процедуры
описывают
фрагменты
логики
приложения, хранятся и исполняются на сервере, что
позволяет
улучшать
характеристики
производительности.
1/--страниц
Пожаловаться на содержимое документа