Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Правила нормализации логической модели. Целостность БД



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

 обязательные данные (для некоторых полей требуется наличие в каждой записи

конкретного и допустимого значения);

 ограничения для доменов полей (определяется область допустимых значений данного поля);

 корпоративные ограничения целостности (требования конкретного предприятия);

 целостность сущностей (первичный ключ таблицы должен иметь уникальное непустое значение в каждой записи);

 ссылочная целостность.

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

Одно-однозначная связь (1:1) устанавливается, когда каждому экземпляру одной таблицы соответствует только один экземпляр другой и наоборот.

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

Access автоматически определяет тип связи. Если поле связи является уникальным ключом как в главной таблице так и в подчиненной, устанавливается связь 1:1. Если поле связи является уникальным ключом в главной, а в подчиненной является не ключевым или входит в составной ключ, устанавливается связь 1:М (рис. 3.1).

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

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

 обе таблицы сохраняются в одной базе данных Access;

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

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

Обеспечение целостности данных означает выполнение следующих условий корректировки базы данных:

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

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

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

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

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

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

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





Дата публикования: 2015-02-03; Прочитано: 921 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...