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

При создании схемы данных пользователь включает в неё таблицы и устанавливает связи между ними. Для связей типа 1:1 и 1:М можно задать параметр обеспечения связной целостности данных, а также автоматическое каскадное обновление и удаление связанных записей.

Обеспечение связной целостности данных означает, что Ассеss при коррек­тировке базы данных обеспечивает для связанных таблиц контроль за соблюдением следующих условий:

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

 В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице

 Изменение значений ключа связи в записи главной таблицы невозможно, если в подчиненной таблице имеются связанные с ней записи

При попытке пользователя нарушить эти условия в операциях добавления и удаления записей или обновления ключевых данных в связанных таблицах

Ассеss выводит соответствующее сообщение и не допускает выполнения операции.

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

 Связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными

 Обе таблицы сохраняются в одной базе данных Ассеss

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

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

Каскадное обновление и удаление связанных записей

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

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

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

Создание схемы данных

Создание схемы данных начинается в окне Базы данных с вкладки Работа с базой данных и нажатия кнопки Схема данных на панели инструментов.

Включение таблиц в схему данных

После нажатия кнопки Схема данных открывается окно Добавление таблицы, в котором можно выбрать таблицы и запросы, включаемые в схему данных. Для размещения таблицы в окне Схема данных надо выделить ее в окне Добавление таблицы и нажать кнопку Добавить. Для выделения нескольких таблиц надо, удерживая клавишу <С1г1>, щелкнуть мышью на каждой из этих таблиц. Включив все нужные таблицы в схему данных, нажать кнопку Закрыть.

Создание связей между таблицами

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

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

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

При составном ключе связи в окне Изменение связей необходимо для каждого поля ключа в главной таблице ТАБЛИЦА/ЗАПРОС выбрать соответствующее поле подчиненной таблицы, названной СВЯЗАННАЯ ТАБЛИЦА/ЗАПРОС.

Рисунок 5


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: