Структура связей между таблицами называется схемой данных. Схема данных используется Access в процессе работы с базой данных. При любой обработке данных из нескольких таблиц нет необходимости сообщать системе о наличии той или иной связи, так как однажды заданные связи между таблицами используются автоматически.
Создание схемы данных обеспечивает целостность взаимосвязанных данных при корректировке таблиц.
Целостность – понимается как правильность (непротиворечивость) данных в любой момент времени. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений или разрушений. Если для выбранной записи обеспечивается поддержание целостности, можно задать режим каскадного обновления и удаления связанных записей.
Установить проверку целостности данных можно, если выполнены следующие условия:
связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поляуказано значение Длинное целое, или в обоих полях свойство Размер поляимеет значение Код репликации;
обе таблицы принадлежат одной базе данных Microsoft Access.
Чтобы обеспечить целостность, работа с данными должна придерж. ряд правил.
Невозможно ввести в связанное поле подчиненной таблицы значение, отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое значение, показывающее, что для данной записи связь отсутствует.
Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.
Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной таблицей.
Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных.Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанных полейи каскадное удаление связанных записей. Если установлен флажок каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях. В таком режиме при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах.
Для создания схемы данных необходимо выполнить следующие действия:
1. Выполнить команду Сервис/Схема данных.
2. В открывшемся диалоговом окне добавить таблицы в окно схемы данных.
3. Для создания связи между двумя таблицами нужно протянуть мышью от поля одной таблицы к полю другой таблицы и в открывшемся диалоговом окне установить обеспечение целостности данных при помощи соответствующих флажков
В случае совпадения имен и типов полей у нескольких таблиц схемы данных и добавления в схему всех нужных таблиц, Access образует связи автоматически. Если образованные связи не устраивают пользователя, то их можно изменить.
Кнопка Объединениев правой части окна позволяет установить свойство объединения записей двух таблиц – как участвуют в связи остальные записи таблиц. В появившемся после нажатия этой кнопки окне для выбора предлагаются следующие варианты:
1. объединение записей, в которых связанные поля таблиц совпадают
2. объединение всех записей из дополнительной таблицы и тех записей основной таблицы, в которых связанные поля совпадают
3. объединение всех записей из основной таблицы и тех записей дополнительной таблицы, в которых связанные поля совпадают.
Если установление связей производится для непустых таблиц Access подвергает анализу всю имеющуюся информацию, и при наличии нарушений целостности сообщает об этом.
Для изменения или удаления имеющихся связей достаточно в схеме данных подвести указатель мыши к нужной связи, выделить ее щелчком и нажать правую кнопку мыши. Появится контекстное меню, состоящее из двух пунктов, предлагающих соответственно изменить или удалить связь. При выборе первого пункта появится окно, показанное на рис. Удалить связь можно также, выделив ее мышью, а затем нажав клавишу <Del>.
Таблицы могут быть связаны отношениями один-к-одному, один-ко-многим и многие-к-многим. Access позволяет использовать только отношения первых двух типов.
При установлении связи нужно определить, какая таблица является главной, а какая - подчиненной.
Отношение один-к-одному означает, что одной записи подчиненной таблицы соответствует только одна запись в главной таблице. Такие отношения встречаются очень редко, т.к. требуют неоправданно много места в БД. Вместо них можно просто добавить поля подчиненной таблицы к полям главной.
Наиболее часто используются отношения один-ко-многим. В этом случае одной записи в главной таблице соответствует несколько записей в подчиненной таблице.
Для создания отношений необходимо указать поля в двух таблицах, которые содержат одни и те же данные. Обычно такое поле в одной из таблиц (главной) является ключевым. Имена связывающих полей могут отличаться, но типы и свойства должны совпадать. Возможна связь между полем типа Счетчик и полем типа Число с форматом Длинное целое.
Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу. Удаление таблицы из схемы данных не означает удаление ее из базы данных, просто она не присутствует в схеме.
Чтобы вновь добавить в эту схему свернутую таблицу ("Список рассылки оповещений") или таблицу, у которой связи еще не установлены, необходимо:
1. Щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу.
2. В диалоговом окне Добавление таблицыраскрыть вкладку Таблицы, выбрать из списка таблицу "Список рассылки оповещений", и нажать кнопку Добавить
Ms Access может осуществлять проверку данных, вводимых в поле или запись таблицы. Чтобы проверить значение, вводимое в поле или запись, необходимо задать условие на значение. Кроме того, можно указать текст сообщения, которое должно появиться на экране, если введенные данные не соответствуют данному условию. Существует два типа условий на значение:
условия на значение поля и условия на значения записи.
Очень важно, что оба типа условий вводятся в систему на уровне таблицы. Это означает, что проверка вводимых данных на соответствие этим условиям будет выполняться независимо от способа ввода данных, будь то прямое редактирование записей в режиме Таблицы, или импорт (копирование) из другой таблицы, или редактирование записи в форме (на странице доступа к данным). Это позволяет надежно защищать данные от ошибок ввода.
Условие на значение поля позволяет обеспечить ввод корректных данных в поле записи. Проверка введенного значения осуществляется при переходе к другому полю или другой записи. Если введенное значение не соответствует заданному условию, на экран выводится сообщение, указанное пользователем, или стандартное сообщение, если пользователь не определил свое. Чтобы определить условие на значение поля, необходимо:
1. Открыть таблицу в режиме Конструктора.
2. В верхней части окна выбрать нужное поле.
3. Открыть на панели свойств поля вкладку Общиеи выбрать свойство Условие на значение, а затем ввести необходимое условие. Задать условие на значение можно при помощи Построителя выражений, нажав на кнопку Построителя справа. Выражения, используемые в условиях, возвращают значения Истина, и в этом случае данные корректны, или Ложь — данные некорректны. Одним из самых простых выражений, которое может встретиться в условии, является > 0 ( в поле могут вводиться только положительные числа). Для ввода более сложных выражений нужно знать правила построения выражений.