Каждая таблица должна иметь уникальный ключ, состоящий из одного или более полей (до 10). Для определения ключа выделяются поля, составляющие ключ и на панели элементов нажимается кнопка Ключевое поле. Для ключевого поля автоматически строится индекс, который можно просмотреть нажатием кнопки Индексы на панели Инструментов. Индексы строятся для осуществления быстрого поиска записей.
Совет!Следите за тем, чтобы в таблицах не использовались одни и те же имена первичныхключей.
Схема Данных
После формирования таблиц создается схема данных, в которой устанавливаются связи между таблицами. Access запоминает эти связи и использует при заполнении таблиц и обработке данных. При создании схемы данных необходимо задать параметры целостности БД и каскадное обновление и удаление данных.
Схема Данныхграфически отображается в своем окне, где таблицы представлены списками полей (ключевые поля выделены жирным шрифтом) , а связи линиями между полями таблиц. Просмотреть схему данных можно при помощи команды меню Сервис - Схема Данных или соответствующей кнопки на панели Инструментов.
Пример 1.
Пусть были созданы таблицы, соответствующие Схеме1 без использования Подстановок. В этом случае после нажатия кнопки Схема Данных открывается окно Добавления таблицы.
ü Выделите таблицу или таблицы, включаемые в схему данных. Для выделения нескольких таблиц используйте клавишу <Ctrl>
ü Нажмите кнопку Добавить
ü Далее кнопку Закрыть
В результате в окне Схемы данных будут представлены все включенные таблицы со списком своих полей. Ключевые поля будут выделены. Таблицы можно перемещать в окне или изменять их размер придерживаясь правил работы с окнами в Windows. Обычно главные таблицы располагают вверху окна Схемы данных, а подчиненные чуть ниже.
Для создания связи необходимо
ü Выделить в главной таблице первичный ключ
ü При нажатой клавиши мыши перетащить курсор в соответствующее поле подчиненной таблицы
ü В открывшемся окне, включить флажок Обеспечение целостности данных, и при необходимости включить флажки обеспечить каскадного обновление связанных полей и/или каскадного удаление связанных записей
Если установлен только флажок Обеспечение целостности данных, то из родительской(главной) таблицы нельзя удалить запись, если в дочерней(подчиненной) таблице есть связанная с ней запись. Кроме того, в дочернюю таблицу нельзя добавлять “детей-сирот”. Если установлен еще флажок каскадное обновление связанных полей, то при изменении значения поля связи в родительской таблице соответствующим образом изменится значение поля связи и в дочерней таблице. Если установлен флажок каскадное удаление связанных записей, то при удалении записи из родительской таблицы будут удалены все связанные с ней записи из всех дочерних таблиц
Удалить связьможно , выделив связь одинарным щелчком мыши на линии связи и затем нажав клавишу <Dtl>. Открыть окно Связи: можно при помощи двойного щелчка мыши на линии связи
.
Готовая схема данных, соответствующая Схеме1, назовем ее СД1.
Внимание! При создании связи по составному ключу необходимо выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице. Для выделения всех полей входящих в составной клюя, необходимо отмечать поля, удерживая нажатой клавишу <Ctrl>. После этого откроется окно изменения связи, где автоматически установится тип один – ко – многим. Далее необходимо для каждого поля ключа в главной таблице выбрать соответствующее поле в подчиненной таблицы, а затем установить параметры целостности и каскадного обновления/удаления.
Окно изменения связи , при использовании составного ключа
Пример 2.
Пусть были созданы таблицы, соответствующие Схеме1 с использованием Подстановок,описанных в предыдущей главе. В этом случае после нажатия кнопки Схема Данных открывается окно уже не пустое окно Схемы данных. Видны две таблицы и связь между ними. Такая связь называется объединением.
Данную связь необходимо доработать
ü Выделите связь
ü Из контекстного меню выберите изменить связь
ü Укажите целостность и при необходимости каскадное удаление и добавление данных
Так как Подстановка создавалась без помощи мастера таблица Клиенты в окне не отобразилась. Необходимо воспользоваться кнопкой Добавления и добавить недостающую таблицу, а далее вручную создать связь В результате получим аналогичную предыдущему примеру схему данных, назовем ее СД2
Внимание! Иногда на схеме данных отображаются сразу несколько таблиц, например Товары, Товары1, Товары2. Такое возможно, когда Мастером Подстановок воспользовались несколько раз. Простое удаление таблиц как правило не помогает. Необходимо сначала удалить связи , а затем сами таблицы.
Совет! Подстановку лучше создавать без помощи мастера.