Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 3.doc
Скачиваний:
0
Добавлен:
18.08.2019
Размер:
2.37 Mб
Скачать

Лабораторная работа №3. Файл открыт пользователем User Дата открытия 15.11.2020 2:17:06 стр. 2

Министерство образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Географический факультет

В.В. Горячкин, Е.Д. Рафеенко,

Т.В. Соболева

Геоинформатика

Лабораторный практикум

Методические указания к лабораторной работе

для студентов географических специальностей

Лабораторная работа №3

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

Понятие целостности в СУБД MS Access 2003

МИНСК

2012

Содержание

Содержание 2

1 Краткий справочный материал 3

1.1 Связывание таблиц 3

1.2 Удаление связей 6

1.3 Редактирование связей 6

1.4 Связывание таблиц из другой базы данных  6

2 Контрольное задание 9

2.1 Задание 1 9

2.2 Задание 2 9

2.3 Задание 3 9

2.3.1 Задание 4 9

2.3.2 Задание 5 9

2.4 Задание 6 9

2.5 Задание 7 10

 2.6 Задание 8 10

 2.7 Задание 9 10

2.8 Задание 10 10

1 Краткий справочный материал

1.1 Связывание таблиц

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

Все задания этой лабораторной работы будем выполнять над объектами базы данных УЧЕБНАЯ_Lab03, файл которой лежит в папке LAB_03.

1. Откройте базу данных УЧЕБНАЯ_Lab03 (Эта БД вам знакома. Она является урезанной частью базы данных ДЕМОГРАФИЯ_Lab03). Рассмотрим, как связать две таблицы СТРАНЫ и КОНТИНЕНТЫ в базе данных УЧЕБНАЯ_Lab03. Таблица КОНТИНЕНТЫ очевидно таблица-предок, а таблица СТРАНЫ - таблица-потомок. Тип связи - один-ко-многим. Действительно, существует, по крайней мере, один континент, на котором может располагаться несколько стран.

2. Чтобы определить связи, рекомендую закрыть все открытые таблицы и вернуться в окно базы данных, а затем открыть окно Схема данных. Один из вариантов открытия этого окна с помощью кнопки Схема данных рассмотрен в лабораторной работе №2. Активировать окно Схема данных можно также командой Сервис  Схема данных (Tools  Relationships).

3. В рабочем поле окна Схема данных правой кнопкой мышки вызываем контекстное меню (рисунок 1) и с его помощью переходим в окно Добавить таблицу ( Рисунок 2 ).

Рисунок 1 – Контекстное меню.

Перейти в окно Добавить таблицу можно также командой Связи Добавить таблицу.

Рисунок 2 – Команда выхода на окно диалога Добавление таблицы

4. В этом окне выделим таблицы Страны и Континенты и воспользуемся кнопкой Добавить (Рисунок 3).

Рисунок 3 – Окно диалога Добавление таблицы

После этого окно Схема данных должно выглядеть, так как показано на рисунке 4.

Рисунок 4 – Таблицы БД в окне Схема данных

5. Ясно, что существует, по крайней мере, один континент, на котором расположено несколько стран. Это означает, что континенты связаны со странами отношением один-ко-многим. Как вы можете убедиться, для первичного ключа ID_Континент таблицы КОНТИНЕНТЫ (главная) существует соответствующий ему внешний ключ Код_Континента таблицы СТРАНЫ (подчиненная).

6. Чтобы установить нужный нам тип связи между таблицами, кликните на поле ID_Континент таблицы КОНТИНЕНТЫ, перетащите и опустите его на поле соответствующего внешнего ключа Код_Континента таблицы СТРАНЫ. Когда отпустите кнопку мышки, Access откроет окно диалога Изменение Связей (рисунок 5).

Рисунок 5 – Окно диалога для уточнения связи

7. Поскольку не имеет смысла хранить данные для несуществующих стран, установите флажок Обеспечение целостности данных. В этом случае Access не позволит добавить в таблицу СТРАНЫ запись с неверным кодом ID_Континент. Access также не разрешит удалить из таблицы КОНТИНЕНТЫ запись, для которой имеются страны в таблице СТРАНЫ.

Отметим, что если выбран этот режим, то порядок заполнения таблиц не может быть произвольным: из двух связанных таблиц сначала должна заполняться таблица-потомок.

8. После установки флажка Обеспечение целостности данных Access делает доступными еще два флажка: Каскадное обновление связанных полей и Каскадное удаление связанных записей.

9. При установленном флажке Каскадное обновление связанных полей Access обновляет все значения внешних ключей в таблицах-потомках при изменении значения первичного ключа в таблице-предка, расположенного на стороне отношения один.

Заметим, что поле ID_Континент в таблице КОНТИНЕНТЫ является счетчиком, и поэтому его значения не могут быть изменены пользователем после первоначального присвоения. Если ключевое поле не счетчик, то изменение значения ключевого поля возможно.

10. Если установите флажок Каскадное удаление связанных записей, то при удалении строки из таблицы-предка Access также удалит все связанные соответствующие строки из таблицы-потомка.

Удаление строк из таблицы-потомка происходит обычным образом. Например, если вы удалите строку Европа из таблицы КОНТИНЕНТЫ, то это вызовет автоматическое удаление всех европейских стран в таблице СТРАНЫ. Если вы удалите из таблицы СТРАНЫ строку со страной Литва, то будет удалена только эта строка и только в одной таблице СТРАНЫ.

11. Нажмите кнопку Создать для возврата в окно Схема данных. Установленная связь будет отмечена линией между связанными полями. Заметим, что когда вы задали режим Обеспечение целостности данных, то Access изображает на конце линии у таблицы, находящейся на стороне отношения один цифру 1, а на другом конце, у таблицы со стороны отношения многие символ бесконечности (смотри на рисунке 6).

Рисунок 6 – Установленная связь отмечена линией

12. Откройте главную таблицу КОНТИНЕНТЫ (рисунок 7) и обратите внимание на символы плюс, которые появились левее поля Континент. Кликните по этому символу, разберитесь, в том, что вы получили на экране дисплея.

Рисунок 7