Создание схемы данных
После создания структур таблиц БД следует создать схему данных. Предварительно все таблицы БД должны быть закрыты. Создавать или изменять связи между открытыми таблицами нельзя.
Создание схемы данных начинается в окне База данных с выбора команды Сервис ► Схема данных. После выполнения указанной команды открывается два окна: Схема данных и Добавление таблицы,при этом активным является окно Добавление таблицы(рис. 12), в котором можно выбрать включаемые в схему данных таблицы.
Рис. 12. Два окна: Схема данных и Добавление таблицы
После выбора нужных таблиц в окне Схема данныхбудут представлены соответствующие таблицы со списком своих полей. При необходимости размеры окон таблиц можно изменить, чтобы список полей был виден полностью. Далее можно приступать к определению связей между таблицами.
При определении связей в схеме данных удобно использовать информационно-логическую модель, по которой легко определить главную и подчиненную таблицу каждой одно-многозначной связи, так как в такой модели главные объекты всегда размещены выше подчиненных. Одно-многозначные связи являются основными в реляционных базах данных.
Для создания связи типа 1:М между парой таблиц нужно выделить в главной таблице ключевое поле (название этого поля на схеме данных отображается полужирным шрифтом), по которому устанавливается связь и, удерживая нажатой кнопку мыши переместить указатель мыши на соответствующее поле подчиненной таблицы.
После выполнения указанных действий откроется окно Изменение связей (рис. 13). При этом в поле Тип отношения автоматически установится значение один-ко-многим.
Рис. 13. Окно Изменение связей
При создании связи по составному ключу нужно выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице. При этом в окне Изменение связейнеобходимо для каждого поля составного ключа в главной таблице – Таблица/запрос выбрать соответствующее поле подчиненной таблицы, названной в данном окне – Связанная таблица/запрос.
Затем можно установить флажок Обеспечение целостности данных. После установки этого флажка можно установить флажки каскадное обновление связанных полей и каскадное удаление связанных записей. Если флажок Обеспечение целостности данныхне установлен, то при добавлении или удалении записей и изменении значений ключевых полей пользователь должен сам отслеживать непротиворечивость данных и целостность связей, что при больших объемах данных выполнить крайне трудно.
Обеспечение связной целостности данных означает, что при корректировке базы данных Access обеспечивает для связанных таблиц контроль за соблюдением следующих условий:
q В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
q В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
q Нельзя изменить значение ключа связи в записи главной таблицы, если в подчиненной таблице имеются связанные с ней записи.
Если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности, то при выполнении операции добавления и удаления записей и изменении значений ключевых полей Access автоматически отслеживает целостность этой связи. При попытке пользователя нарушить эти условия Access выводит соответствующее сообщение и не допускает выполнения операции. Так, например, если установлен только флажок Обеспечение целостности данных, то удалять данные из ключевого поля главной таблицы нельзя.
Установление между двумя таблицами связи типа 1:М или 1:1 и задание для этой связи параметров целостности данных возможно только при следующих условиях:
q Связываемые поля имеют одинаковый тип данных;
q Обе таблицы сохраняются в одной базе данных;
q Главная таблица связывается с подчиненной таблицей по первичному простому или составному ключу главной таблицы.
Access не позволяет установить флажок обеспечения целостности данных для связи таблиц, если ранее в таблицы были введены данные не отвечающие требованиям целостности.
Если для выбранной связи обеспечивается поддержание целостности, то можно задать режим каскадного обновления связанных полей и режим каскадного удаления связанных записей.
В режиме каскадного обновления связанных полей при изменении значения данных в поле связи главной таблицы Access автоматически изменит значения данных в соответствующем поле в подчиненных таблицах.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записей непосредственно в таблице или через форму выводится предупреждение о возможности удаления связанных записей.
Образовавшаяся межтабличная связь отображается в окне Схема данных в виде линии, соединяющей два поля разных таблиц. При этом на линии связи у главной таблицы отображается символ - 1, у подчиненной таблицы символ – бесконечность (¥) (рис. 14).
Рис. 14. Схема данных. Связь двух таблиц по ключевому полю Код поставщика.
Таким образом, смысл создания реляционных связей между таблицами состоит, с одной стороны, в защите данных, а с другой стороны - в автоматизации внесения изменений сразу в несколько таблиц при изменениях в одной таблице.
Если теперь открыть главную таблицу из двух связанных таблиц, то левее каждой записи появляется символ , как показано на рис. 15. При нажатии на этот крестик, появляется окно, показывающее связанные с ней записи из подчиненной таблицы. Этим самым появляется возможность увидеть все товары, поставляемые соответствующим поставщиком (рис. 16).
Рис. 15. Таблица ПОСТАВЩИКИ является главной таблицей. Символы слева от записей указывают на наличие связанных записей в подчиненной таблице.
Рис. 16. Таблица ПОСТАВЩИКИ. Показаны записи в подчиненной таблице ТОВАРЫ, поставляемые формой Кардинал (символ преобразовался в символ )
Дата добавления: 2015-12-22; просмотров: 4702;