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

ПЛАН ЗАНЯТИЯ

Дисциплина: МДК.02.02 Технология разработки и защиты баз данных

Преподаватель: Старченко Е.А

Курс: 3

Группа: 1 ПКС-20

Специальность: Программирование в компьютерных системах

Дата: 27.02.23

Время проведения: 9-50 – 11-20, 2 пара

Тема: Обеспечение достоверности, целостности и непротиворечивости данных в Acces

Цель занятия:

дидактическая:

· изучить способы обеспечения целостности данных в СУБД Access.

развивающая: развивать информационную культуру, кругозор, память

Вид занятия лекция

Литература:

Технологии организации, хранения и обработки данных. Ч.1: Основы создания баз данных: Пособие для самостоятельной работы. – Гомель: БелГУТ, 2003, стр. 152

Интернет-ресурсы:

https://youtu.be/gk3la_0vCY4

ЗАДАНИЕ: подготовить конспект с учетом контрольных вопросов и в электронном варианте отправить для проверки.

КОНСПЕКТ ЛЕКЦИИ

План

1. Обеспечение достоверности информации.

2. Понятие целостности базы данных.

3. Обеспечение целостности данных в Microsoft Access

 

1. Обеспечение достоверности информации

Обеспечение достоверности информации является одной из важнейших задач, стоящих перед разработчиками и администраторами баз данных.

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

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

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

 

2. Понятие целостности базы данных

С понятием достоверности неразрывно связано понятие целостности базы данных.

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

Физическая целостность БД, то есть защита данных от разрушения в случае отказа оборудования (отключение питания, выход из строя жёстких дисков…) обеспечивается за счет:

 изменения данных выполняется с помощью транзакций;

 регулярного создания резервных копий;

 дублирования информации на один или несколько жестких дисков.

Логическая целостность БД – это непротиворечивость данных, она обеспечивается следующими положениями:

- каждое поле имеет свой тип (СУБД не даст записать данные другого типа);

- некоторые поля объявляются обязательными для заполнения;

- для полей, значения которых не могут повторяться, в случае повторения СУБД выдаёт сообщение об ошибке;

- вводятся условия, которые должны выполняться для значений отдельных полей (например, количество учеников в классе – положительное число);

- для сложных данных используют шаблоны ввода (например, ###-###-##-##);

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

 

3. Обеспечение целостности данных в Microsoft Access

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

Установить проверку целостности данных можно, если выполнены следующие условия:

· связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;

· связанные поля имеют один тип данных. Здесь существует два исключения.

Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля (FieldSize) указано значение Длинное целое (Long Integer), или в обоих полях свойство Размер поля имеет значение Код репликации (Replication ID);

· обе таблицы принадлежат одной базе данных Microsoft Access.

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

Есть еще определенные требования при работе с базами данных в СУБД Access, позволяющие обеспечивать целостность данных:

· Если таблицы являются связанными, то они должны быть таблицами Access.

· Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта.

· Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.

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

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

· Невозможно ввести в связанное поле подчиненной таблицы значение, отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое значение, показывающее, что для данной записи связь отсутствует.

· Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.

· Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной таблицей.

Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных (Enforce Referential Integrity). Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.

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

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

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

Следует отметить, что если ключевое поле главной таблицы – это поле счетчика, то нет смысла устанавливать флажок каскадное обновление связанных полей, так как значение поля счетчика изменить невозможно.

 

 

Контрольные вопросы:

1. В чем заключается обеспечение достоверности информации в базах данных?

2. Что значит целостность базы данных?

3. Как обеспечивается физическая целостность БД?

4. Что такое логическая целостность БД и за счет чего она обеспечивается?

5. Какие условия позволяют установить проверку целостности данных?

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

7. Какие каскадные взаимодействия позволяют обеспечивать целостность данных?