
- •1. Общие сведения
- •2. Запуск программы
- •3. Главное окно ms Access
- •4. Окно базы данных
- •5. Этапы проектирования базы данных
- •6. Создание новой базы данных
- •7. Создание таблицы
- •7.1. Определение структуры таблицы
- •7.1.1. Присвоение имен полям и выбор типа данных
- •7.1.2. Установка первичного ключа
- •7.1.3. Добавление, удаление и перемещение полей
- •7.1.4. Сохранение структуры таблицы
- •7.2. Ввод записей
- •7.2.1. Переход на нужное поле или запись
- •7.2.2. Быстрый путь ввода данных
- •7.2.3. Сохранение данных
- •7.2.4. Добавление и удаление записей
- •7.2.5. Вставка в запись рисунка или объекта
- •8. Работа с данными таблицы
- •8.1. Просмотр данных в виде формы
- •8.2. Добавление записей с помощью формы
- •8.3. Поиск и замена данных
- •8.4. Сортировка данных
- •8.5. Фильтрация данных
- •8.6. Удаление с экрана лишних данных
- •9. Фиксация столбцов
- •10. Создание простого отчета
- •11. Завершение работы ms Access
- •12. Установление связей между таблицами
- •13. Создание запроса
- •13.1. Запрос на выборку
- •13.1.1. Сортировка блоков данных в запросе
- •13.1.2. Запрос с параметром (параметрический запрос)
- •13.1.3. Вычисляемые поля в запросах
- •13.1.4. Итоговые запросы
- •13.2. Перекрестный запрос
- •13.3. Запрос на создание таблицы
- •13.4. Запрос на обновление
- •13.5. Запрос на добавление записей
- •13.6. Запрос на удаление записей
- •14. Создание форм и отчетов
- •14.1. Создание формы
- •14.1.1. Формы для связанных таблиц
- •14.2. Создание отчета
- •14.2.1. Создание почтовых наклеек
- •14.3. Создание элементов формы или отчета
- •14.4. Добавление вычисляемых выражений к форме и отчету
- •15. Макросы
- •15.1. Создание макросов
- •15.2. Выполнение макросов
- •16. Обмен данными
- •16.1. Экспорт данных
- •16.2. Импорт данных
- •16.3. Связь с таблицами
- •Индивидуальные варианты заданий на лабораторные работы
- •Библиографический список
12. Установление связей между таблицами
Сформировав таблицы и определив ключевое поле для каждой таблицы, между таблицами можно установить взаимосвязи, которые будут поддерживаться при создании форм, отчетов и запросов и задать условия целостности данных этих таблиц.
При определении связи ключ в одной таблице содержит ссылки на конкретные записи в другой таблице. Ключ, на который имеется ссылка в другой таблице, называют внешним ключом. Поле внешнего ключа определяет способ связывания таблиц. Содержимое поля внешнего ключа (тип данных и размер) должно совпадать с содержимым ключевого поля. Эти поля также могут иметь одинаковые имена.
1. Выберите команду Сервис > Схема данных.
2. Используя команду Связи > Добавить таблицу, укажите имена таблиц, которые должны быть связаны. Названия каждой из таблиц со списками полей появятся в соответствующем окне.
3. Установите курсор в любую из таблиц на поле, по которому будет установлена связь, и «перетащите» это поле на связующее поле другой таблицы.
4. Активизируйте флажок Обеспечение целостности данных. Данное действие позволит предотвратить случайное удаление или изменение связанных данных, т.е.:
- в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
- в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
- изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
При попытке пользователя нарушить эти условия в операциях обновления или удаления данных в связанных таблицах Access не допускает выполнение операции. Отметим, что для установление параметров целостности данных возможно только при следующих условиях: а) связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными; б) обе таблицы сохраняются в одной базе данных Access; в) главная таблица связывается с подчиненной по первичному простому или составному ключу (или уникальному индексу) главной таблицы.
Если требуется установить более чем одну связь, в диалоговом окне Связи необходимо определить связующие поля, щелкнув в правой части клетки поля на стрелке, указывающей вниз, и выбрав нужное имя поля из открывшегося списка. От полей, указанных при определении связи, зависит тип создаваемой связи, который отображается в этом же окне.
1. Отношение «один-к-одному» (1:1) означает, что каждая запись одной таблицы соответствует только одной записи в другой таблице.
Отношение «один-к-одному» (1:1) создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.
2. Отношение «один-ко-многим» означает, что каждая запись одной таблицы соответствует более одной записи в другой таблице.
Отношение «один-ко-многим» (1:М) создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс. В отношении «один-ко-многим» главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в этом отношении. Таблица со стороны «много» является подчиненной таблицей. Связующее поле (или поля) в ней с таким же типом информации, как в первичном ключе главной таблицы, является полем внешнего ключа.
3. Отношение «многие-ко-многим» (М:М) возникает между двумя таблицами в тех случаях, когда одна запись из первой таблице соответствует более одной записи во второй таблице, а одна запись из второй таблице соответствует более одной записи в первой таблице.
Связь с фактически представляет две связи с отношением «один-ко-многим» через третью таблицу, ключ которой состоит, по крайней мере, двух полей, которые являются полями внешнего ключа двух других таблицах.
В случае, если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношения отображается текст: «Hе определено».
Для удаления связи: в окне Схема данных выделите ненужную связь и нажмите клавишу <Delete> или в контекстном меню команда Удалить.
Если для выбранной связи разрешен режим обеспечения поддержки целостности, то в этом случае можно задействовать механизм каскадного обновления и удаления связанных записей. Этот механизм при изменении значения в поле связи главной таблицы обеспечит автоматическое изменение значения в соответствующем поле в подчиненных записях. В случае каскадного удаления связанных записей при удалении записи из главной таблицы выполняется удаление подчиненных записей на всех уровнях.