
- •Типы данных access
- •Связи между таблицами Одно-многозначные (1:м) или одно-однозначные (1:1) связи
- •Обеспечение целостности данных
- •Лабораторная работа №2
- •Воспользуемся новым способом создания таблицы Группы – режимом Таблица.
- •Последовательность выполнения работы:
- •Последовательность выполнения работы:
- •Последовательность выполнения работы:
- •Последовательность выполнения работы:
- •Последовательность выполнения работы:
- •1 2 3 4 5 6 7
Связи между таблицами Одно-многозначные (1:м) или одно-однозначные (1:1) связи
В СУБД Access процесс создания реляционной базы данных включает создание схемы данных. Схема данных наглядно отображает логическую структуру базы данных: таблицы и связи между ними, а также обеспечивает использование установленных в ней связей при обработке данных.
Для нормализованной базы данных, основанной на отношениях 1:М и 1:1 между таблицами, в схеме данных для связей таких таблиц по первичному ключу главной таблицы или по уникальному индексу могут устанавливаться параметры обеспечения связной целостности.
При поддержании целостности взаимосвязанных данных не допускается наличия записи в подчиненной таблице, если в главной таблице отсутствует связанная с ней запись. Соответственно при первоначальной загрузке базы данных, а также корректировке, добавлении и удалении записей система допускает выполнение операции, если она не приводит к нарушению целостности.
При построении схемы данных Access автоматически определяет по выбранному полю связи тип отношения между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в одной, так и в другой таблице, Access выявляет отношение один-к-одному. Если поле связи является уникальным ключом одной таблицы (главной таблицы связи), а в другой таблице (подчиненной таблице связи) оно является неключевым или входит в составной ключ, Access выявляет отношение один-ко-многим между записями главной и подчиненной таблицы.
Обеспечение целостности данных
При создании схемы данных пользователь включает в нее таблицы и уставливает связи между ними. Если связываемые таблицы находятся в отношении типа 1:1 и 1:М, для организации связи можно установить флажок обеспечения связной целостности данных, а также автоматического каскадного обновления и удаления связанных записей, рис.1.
Флажок для включения
механизма обеспечения целостности
данных Включение механизмов
каскадного обновления и удаления
связанных записей Тип
отношений
Рис.1.
Обеспечение связной целостности означает, что при корректировке базы данных Access обеспечивает для связанных таблиц контроль за соблюдением следующих условий:
в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
нельзя изменить значения ключа связи в записи главной таблицы, если в подчиненной таблице имеются связанные с ней записи.
При попытке пользователя нарушить эти условия в операциях добавления или удаления записей Access выводит соответствующее сообщение и не допускает выполнения операции.
Установление между двумя таблицами связи типа 1:М или 1:1 и задание для нее параметров целостности данных возможно только при следующих условиях:
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
обе таблицы сохраняются в одной базе данных Ассеss;
главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности, то при выполнении операции добавления или удаления записей и изменении ключевые полей Access автоматически отслеживает целостность этой связи. При выполнении (пользователем) действий, нарушающих целостность связей таблиц, выводится предупреждающее сообщение. Access не позволяет установить флажок обеспечения целостности связи для таблиц, если ранее введенные в таблицы данные не отвечают требованиям целостности.
Каскадное обновление и удаление связанных записей
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного обновления связанных полей и режимкаскадного удаления связанных записей, рис.1.
В режиме каскадного обновления связанных полей при изменении значения поля связи в записи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записи из главной таблицы выполняется каскадное удаление подчиненных записей на всех уровнях, где задан этот режим.
При удалении записей непосредственно в таблице или через форму выводится предупреждение о возможности удаления связанных записей.