Установление связей
В Microsoft Access связываемые поля не обязательно должны иметь одинаковые имена, но они должны иметь одинаковые типы данных и одинаковый смысл. Кроме того, связываемые поля числового типа должны иметь одинаковые значения свойства Размер поля.
Существует особые требования для связывания поля счетчика: единственный тип данных, соответствующий типу Счетчик, это Числовой размером Длинное целое. Поэтому если внешний ключ связующей таблицы, созданной для реализации отношения «многие-ко-многим», содержит поля счетчика связываемых таблиц, в связующей таблице их необходимо описать как Числовые размером Длинное целое.
Перед установлением связей необходимо закрыть все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя.
Связи между таблицами определяются в окне Схема данных.Это окно можно открыть из окна БД,нажав кнопку Схема данных на панели инструментов или выбрав команду Схема данных из контекстного меню. Контекстное меню вызывается щелчком правой кнопки мыши. Если в базе данных не определено никаких связей, то на экран автоматически будет выведено окно Добавление таблицы, в котором нужно выбрать таблицы или запросы для отображения их в схеме данных.
Если это окно не выводится автоматически, то надо щелкнуть правой кнопкой мыши и из контекстного меню выбрать команду Добавить таблицу или нажать кнопку Добавить таблицу на панели инструментов.
В окне Добавление таблицы нужно выделить нужную таблицу или запрос и нажать кнопку Добавить. Список полей этой таблицы появится в верхней части окна Схема данных. Подобные манипуляции выполняются для каждой из таблиц, после чего окно Добавление таблицы следует закрыть.
Для связывания двух таблиц надо выбрать ключевое поле в одной таблице и, не отпуская левую кнопку мыши, перетащить его на соответствующее поле во второй таблице. В открывшемся диалоговом окне Связи можно проверить имена полей, представленные в двух колонках. В случае необходимости можно внести изменения в имена полей. Для создания связи надо нажать кнопку Создать. Для каждой пары таблиц, которые необходимо связать, следует выполнить такие же действия. В окне Схема данных отобразятся все установленные связи, однако тип этих связей останется неопределенным.
В диалоговом окне Связи можно установить несколько флажков.
Флажок Обеспечение целостности данных не позволит добавить в подчиненную таблицу, находящуюся на стороне отношения "многие", запись с неправильным кодом. Access также не разрешит удалить из "родительской" таблицы, находящейся на стороне отношения "один", запись, для которой имеются связанные записи в подчиненной таблице.
После установления флажка Обеспечения целостности Access делает доступными еще два флажка: Каскадное обновление связанных полей и Каскадное удаление связанных записей. При установлении первого из флажков Access будет обновлять значения внешних ключей в подчиненной таблице при изменении значения первичного ключа в родительской таблице. Установленный второй флажок означает, что при удалении строки из родительской таблицы будут удалены все дочерние строки.
После установления флажков тип связи будет определен, и на схеме появятся соответствующие изображения.
При закрытии окна схемы данных на экран будет выведено сообщение, нужно ли сохранять макет схемы. Независимо от того, будет он сохранен или нет, связи, созданные в базе данных, будут сохранены.
Макет связей можно в любой момент просмотреть, перейдя в окно БД и нажав кнопку Схема данных на панели инструментов.
С помощью кнопки Очистить макет можно очистить окно Схема данных. Установленные связи при этом не разрушатся.
Можно устанавливать связи и между не ключевыми полями таблиц. В этом случае создается неопределенное отношение. Access по умолчанию создает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
Для связывания таблицы самой с собой или для связывания поля таблицы с другим полем той же таблицы следует дважды добавить таблицу. Такая ситуация возникает при определении поля с подстановкой значений из той же таблицы.
Допускается определение связей не только для таблиц, но и для запросов. Однако для запросов целостность данных вовсе не обязательна.
Установленные связи можно удалить, перед этим надо закрыть все открытые таблицы. Удалять связи между открытыми таблицами нельзя. Для удаления связи ее следует выделить щелчком мыши и из контекстного меню выбрать команду Удалить. Вызывая контекстное меню, надо щелкать правой кнопкой мыши по линии связи.
При создании полей подстановок Мастер подстановок устанавливает между таблицами неопределенные связи. Созданная мастером схема отображается в окне Схема данных. Для определения типа связи необходимо выделить связь щелчком левой кнопки мыши и из контекстного меню выбрать команду Изменить связь. Откроется окно Связи, в котором можно установить флажки, обеспечивающие целостность данных и определяющие тип связи.
В результате выполнения некоторых операций в схеме БД могут появиться лишние таблицы – копии уже существующих таблиц. Их надо удалить из схемы. Выполнить это можно с помощью команд контекстного меню. Вначале командой Удалить надо удалить все связи, ведущие к лишним таблицам, а затем удалить сами таблицы командой Скрыть таблицу.
Дата добавления: 2015-08-20; просмотров: 744;