Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RABOTA_V_SUBD_MICROSOFT_ACCESS_Metod_ukaz_k.doc
Скачиваний:
11
Добавлен:
17.11.2018
Размер:
496.64 Кб
Скачать

Связи между таблицами

Данные в различных таблицах должны быть взаимосвязаны. Логическая взаимосвязь может быть установлена путем определения связей между соответствующими таблицами. Структура связей сохраняется в специальном объекте – схеме базы данных.

Связь между таблицами устанавливается путем определения соответствия между полем в подчиненной таблице и ключевым полем в главной таблице. При этом поля должны иметь одинаковый тип данных. Программа свяжет записи, содержащие в заданном поле одинаковые значения.

При установке связи между таблицами могут возникнуть отношения двух типов:

  • тип отношения один-ко-многим, при котором одному значению ключа в каждой записи главной таблицы могут соответствовать несколько значений в связанном поле подчиненной таблицы;

  • тип отношения один-к-одному, при котором одному значению ключа в каждой записи главной таблицы может соответствовать только одно значение в связанном поле подчиненной таблицы. Такая связь может быть установлена только через ключевые поля обеих таблиц.

Целостность данных

При создании связи между таблицами можно задать учет правил, обеспечивающих целостность данных, т.е. чтобы при вводе или удалении данных не нарушались связи между таблицами:

  1. в подчиненной таблице нельзя вводить записи, которые не связаны с записью главной таблицы;

  2. в главной таблице нельзя изменить данные, если это приведет к появлению в подчиненной таблице записей, не связанных с главной таблицей;

  3. в главной таблице нельзя удалить записи, если это приведет к появлению в подчиненной таблице записей, не связанных с главной таблицей.

При нарушении одного из правил программа выведет на экран сообщение об ошибке и изменить данные будет невозможно.

Установление связей

Установление связей между таблицами производится следующим образом.

  1. Подается команда Сервис/Схема данных..., которая приводит к открытию специального окна Схема данных. Одновременно с ним появляется окно Добавление таблицы, в котором содержится список таблиц базы данных. Если такое окно не отображено в рабочей области программы, его можно вызвать командой меню Связи/Добавить таблицу....

!! Закройте все таблицы и вызовите на экран окно схемы данных.

  1. Выделяются в окне Добавление таблицы те таблицы, между которыми будет устанавливаться связь и нажать кнопку Добавить. В результате в окне схемы данных отобразятся таблицы со списками определенных в них полей.

!! Добавьте в окно схемы данных все созданные в ходе работы таблицы.

  1. Устанавливаются связи между выбранными таблицами. В этом случае для каждой пары таблиц необходимо выполнять следующие действия:

  • перетащить ключевое поле главной таблицы на соответствующее поле подчиненной таблицы.

!! Поместите ключевое поле таблицы Группы на одноименное поле таблицы Список.

В результате откроется диалоговое окно Изменение связей, предназначенное для редактирования связей;

  • уточнить имена полей главной и связанной таблиц;

  • установить необходимые флажки параметров.

Флажок Обеспечение целостности данных, как правило, используется в связанных таблицах. В результате его выбора становятся доступными два следующих флажка.

Флажок Каскадное обновление связанных полей устанавливается, если тип отношения определен, как один-ко-многим. В этом случае при изменении данных в ключевом поле главной таблицы будут изменены соответствующие значения полей подчиненной таблицы.

Флажок Каскадное удаление связанных записей обеспечивает удаление записей в связанной таблице при удалении соответствующих записей в главной таблице.

!! Установите все три флажка параметров обеспечения целостности данных.

  • нажать кнопку Создать в окне Изменение связей.

В результате в окне Схема данных между именами полей двух таблиц будет отображена линия связи с информацией о типе отношения (один-ко-многим или один-к-одному).

!! Нажмите на кнопку Создать и просмотрите полученный результат. При необходимости переместите таблицы так, чтобы линия связи была отчетливо видна.

Примечание. Между двумя отображенными в окне таблицами можно установить только одну связь. Для установки дополнительных связей подчиненную таблицу необходимо повторно добавить в окно схемы данных.

!! Установите связь один-к-одному между главной таблицей Список и подчиненной таблицей Личные данные, переместив ключевое поле Код на поле Код студента. При этом следует установить два флажка: Обеспечение целостности данных и Каскадное удаление связанных записей.

!! Установите связь один-к-одному между главной таблицей Список и подчиненной таблицей Успеваемость, переместив ключевое поле Код на поле Код студента. При этом следует установить два флажка: Обеспечение целостности данных и Каскадное удаление связанных записей.

!! Сохраните схему данных, закройте окно схемы данных и проверьте действие связи. Для этого откройте таблицу Группы и увеличьте номера групп на 100 (например, было М-192, стало М-292). Затем откройте таблицу Список и убедитесь в том, что названия групп автоматически изменились на новые.

!! Удалите из таблицы Список запись №3, на подтверждение удаления ответьте положительно. Откройте подчиненные таблицы Успеваемость и Личные данные и убедитесь в том, что запись №3 в них отсутствует.