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

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

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

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

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

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

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

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

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

- главная таблица связывается с подчиненной по первичному простому или

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

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

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

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

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

Модификация структуры базы данных

Понятие "модификация структуры базы данных" включает изменение структуры отдельных таблиц, добавление и удаление таблиц, а также изменение схемы данных.

Изменение структуры таблиц

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

Изменение полей, которые не являются ключами или полями связи

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

Изменение или удаление ключевого поля

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

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

Изменение схемы данных

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

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

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

Для внесения изменений в схему данных перед ее открытием надо закрыть все таблицы. Команда Схема данных  на вкладке Работа с базами данных  в группе Показать или скрыть откроет схему данных. При этом открывается вкладка ленты Работа со связями | Конструктор.


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



double arrow
Сейчас читают про: