Технология создания схемы данных
Схема данных определяет связи между таблицами базы данных и графически отображает ее структуру. Таблицы, используемые в схеме данных, должны отвечать требованиям нормализации. В этом случае Access автоматически определяет по выбранному полю связи тип связи между таблицами. Между нормализованными таблицами могут быть установлены связи типа один - к - одному или один ‑ ко ‑ многим, позволяющие обеспечить целостность базы данных. Связь типа один ‑ ко ‑ многим может быть установлена в случае, если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице оно является частью составного ключа.
Установление между двумя таблицами связи типа один - к - одному или один ‑ ко ‑ многим и задание параметров целостности данных возможно только при выполнении следующих условий:
· Связываемые поля двух таблиц должны иметь один и тот же тип данных.
· Поля, с помощью которых устанавливаются связи между двумя таблицами, должны иметь различные имена.
· Обе таблицы должны хранится в одной базе данных Access.
Обеспечение целостности данных означает, что при корректировке взаимосвязанных таблиц накладываются следующие ограничения:
· В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи.
· В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице.
Если при выполнении операций обновления или удаления данных в связанных таблицах будет предпринята попытка нарушить эти условия, то Access выведет соответствующее сообщение и не позволит выполнить операцию.
Для определения связей между таблицами необходимо выполнить следующие действия:
В окне базы данных активизируйте команду Схема данныхменю Сервис или щелкните кнопку Схема данныхна панели инструментов. в результате выполнения команды появится пустое окно для создания схемы данных.
Добавьте в окно схемы данных все таблицы базы. С этой целью дайте команду Добавить таблицу меню Связи или щелкните кнопку Добавить таблицуна панели инструментов.
Рис. 2.16. Окно диалога для добавления таблиц базы данных
В открывшемся окне диалога (рис.2.16), используя клавиши [Shift] или [Ctrl], выделите все таблицы базы данных и нажмите кнопку Добавить, а затем - Закрыть.
В результате выполнения этих действий все выделенные таблицы добавляются в окно схемы данных, показанное на рис 2.17.
Рис. 2.17. Окно схемы данных, отображающее добавленные таблицы
Для связывания двух таблиц, например Клиенты и Заказы, выберите ключевое поле Код клиента в таблице Клиенты, которая является главной по отношению к подчиненной таблице Заказы, и переместите его принажатой кнопке мыши на соответствующее поле подчиненной таблицы.
В открывшемся окне диалога Связи (рис. 2.18) выберите флажок Обеспечение целостности данных и затем флажки каскадное обновление связанных полейикаскадное удаление связанных полей.
Рис. 2.18. Окно для объявления отношения между таблицами
При выборе этих параметров в режиме обеспечения целостности данных Access выполняет изменения в связанных таблицах таким образом, чтобы сохранить целостность данных, даже если вы удаляете запись в главной таблице или изменяете значения ключевых полей.
Врежиме каскадного обновлениясвязанных записейизменение значения в ключевом поле главной таблицы приводит к автоматическому обновлению значения в соответствующем поле в подчиненных записях. А в режиме каскадного удалениясвязанных записейудаление записи в главной таблице приводит к автоматическому удалению всех связанных записей в подчиненных таблицах.
Затем, выделив ключевое поле Код отделки в главной таблице Тип отделки и перетащив его на поле связи Отделка таблицы Каталог, установите связь один-ко-многим между этими таблицами, выбрав параметры обеспечения целостности данных.
Аналогичным образом установите связь один - ко - многим между таблицами Поставщики (главная) и Поступления на склад (подчиненная).
Устанавливая связи по составному ключу, необходимо выделить все поля, образующие составной ключ главной таблицы и перетащить их на одно из полей подчиненной таблицы. Для примера рассмотрим технологию создания связи один-ко-многим по составному ключу между таблицами Заказы и Состав заказа. Выделив в таблице Заказы поля Код клиента и Код заказа, образующие составной ключ, перетащите их на поле Код клиента таблицы Состав заказа.
В результате этой операции появится диалоговое окно Связи, внизу которого в поле Тип отношенияавтоматически установится тип один - ко - многим. В этом окне для каждого поля составного ключа таблицы Заказы нужно выбрать из раскрывающегося списка в столбце Связанная таблица/запрос (см. рис.2.19) соответствующее поле подчиненной таблицы Состав заказа. После задания параметра Обеспечение целостности данных нужно выбрать флажки каскадное обновление связанных полейикаскадное удаление связанных полей.Выбрав параметры связи, нажмите кнопку Создать.
Рис 2.19. Окно диалога для задания параметров связи
Если же таблицы уже содержат данные, не отвечающие требованиям целостности, связь не устанавливается и выдается сообщение о невозможности установления связи, которое может быть представлено, например, в виде (рис.2.20).
Рис. 2. 20. Об отсутствии уникального индекса
Определив отношения (связи) между остальными таблицами базы, схема данных принимает вид, показанный на рис 2.21.
Рис. 2.21. Схема данных БД Товарная база.
Как видно из схемы данных, таблицы Каталог и Остаток на складе имеют одинаковые первичные составные ключи, поэтому эти объекты связаны отношением один-к-одному. Однако, их объединение в одну общую таблицу нецелесообразно, так как они хранят данные, которые характеризуют разные параметры объекта Товарная база. Таблица Каталог отражает ассортимент и характеристики товаров, реализуемых товарной базой. В тоже время, таблица Остаток на складе хранит информацию о наличии товаров на базе в текущий момент времени.
Дата добавления: 2016-01-03; просмотров: 1041;