Технология создания схемы данных
Схема данных определяет связи между таблицами базы данных и графически отображает ее структуру. Таблицы, используемые в схеме данных, должны отвечать требованиям нормализации. В этом случае 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; просмотров: 1110;
