Обеспечение целостности данных

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

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

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

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

Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных (Enforce Referential Integrity). Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records). Если установлен флажок каскадное обновление связанных полей (Cascade Update Related Fields), то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей (Cascade Delete Related Records), то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
 
Ввод и проверка данных
До сих пор мы обсуждали все вопросы, связанные с созданием таблиц, определением и изменением их структуры. Эти изменения выполняются в режиме Конструктора таблиц. Теперь мы переходим к описанию возможностей, которые предоставляет Access при работе с таблицами в режиме Таблицы. Этот режим связан с вводом и обновлением данных в таблице.
Навигация по таблице
Для перемещения по записям используются кнопки, расположенные на нижней границе окна таблицы. Описание этих кнопок приведено.
Таблица 2.13. Кнопки перемещения по записям таблицы

Кнопка

Описание

|<

Перемещение на первую запись таблицы

<

Перемещение на предыдущую запись таблицы

>

Перемещение на следующую запись таблицы

>|

Перемещение на последнюю запись таблицы

>*

Создание новой записи

Помимо кнопок перемещения в нижней части окна таблицы расположено поле номера записи, в котором отображается номер текущей записи. Для перехода на запись с известным номером можно ввести номер в поле номера записи и нажать клавишу <Enter>. Поиск конкретной записи можно также осуществить с помощью полос прокрутки.
Для перемещения по полям записи и между записями в режиме Таблицы можно использовать также сочетания клавиш, показанных в.
Таблица 2.14. Навигация по таблице с помощью клавиш

Сочетания клавиш

Действие

<F5>

Переход в поле номера записи

<Tab>, <Enter> или <?>

Переход к следующему полю

<End>

Переход к последнему полю в текущей записи

<Shift> + <Tat> или <<>

Переход к предыдущему полю

<Home>

Переход к первому полю в текущей записи в режиме перемещения

<v>

Переход к текущему полю в следующей записи

<Ctrl>+<v>

Переход к текущему полю в последней записи

<Ctrl>+<END>

Переход к последнему полю в последней записи

<^>

Переход к текущему полю в предыдущей записи

<ctrl>+<^>

Переход к текущему полю в первой записи

<Ctrl>+<Home>

Переход к первому полю в первой записи

<Page Down>

На один экран вниз

<Page Up>

На один экран вверх

<Ctrl>+<Page Down>

На один экран вправо

<Ctrl>+<Page Up>

На один экран влево

Перемещение в режиме Таблицы по полям в длинных записях можно осуществлять с помощью поля со списком Перейти к полю (Go to Field) панели инструментов Формат (режим таблицы) (Formatting (Datasheet)). Чтобы отобразить на экране эту панель инструментов:

  1. В главном меню выберите команду Вид, Панели инструментов (View, Toolbars).
  2. Установите флажок для панели Формат (режим таблицы) (Formatting (Datasheet)) .

Поле со списком Переход к полю (Go to Field) расположено слева на панели инструментов Формат (режим таблицы) (Formatting (Datasheet)). Для перехода на нужное поле в текущей записи необходимо выбрать в раскрывающемся списке его имя. Остальные элементы панели форматирования можно использовать для изменения шрифта, цвета, линий сетки в текущей таблице.