Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Просто с компа / Лабораторная работа №6

.doc
Скачиваний:
68
Добавлен:
19.06.2017
Размер:
30.72 Кб
Скачать

Лабораторная работа №6. Система управления базами данных MS Access

Тема: Проектирование многотабличных баз данных

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

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

Один-к-одному (каждая запись в одной таблице соответствует только одной записи в другой таблице

Один-ко-многим (каждая запись в одной таблице соответствует многим записям в другой таблице)

Много-к-одному (аналогична записи «один-ко-многим)

Много-ко-многим ( одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы либо одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы )

Тип отношения «один-ко-многим» является наиболее общим

Рассмотрим на конкретном примере, для чего может понадобиться связь между таблицами.

Допустим Вы уже по всем группам заполнили таблицы «Экзамен», и «Зачет» полностью и выяснилось, что одна из дисциплин в таблице «дисциплины» названа неверно, что в свою очередь отразилось на заполнении таблиц «Зачет», либо «Экзамен». Аналогичная ситуация может случиться с фамилией студента и.т.д…..

Как сделать, чтобы исправив название дисциплины в таблице «Дисциплины», либо, изменив фамилию студента в таблице «Анкета», таблицы « Зачет» и «Экзамен» были бы исправлены автоматически. Для этого надо установить связи между таблицами:

Задание 1

Установите связь между таблицами «Зачет» –[ «Дисциплины», «Анкета» ]

Отношение «один-ко-многим» создается в том случае, когда поле , по которому устанавливается связь ( со стороны отношения «один») должно иметь свойство:

Индексированное поле - Да, совпадения не допускаются»

Это относится к полю «фамилия» в таблице «анкета»

и полю «дисциплина» - в таблице «дисциплины»

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

  1. Для этого выполните следующие действия:

  • Перейти в режим «Таблицы»

  • Если у вас есть открытые таблицы, или формы - закройте их.

  • Нажмите кнопку «Схема данных» на панели управления.

  • Пользуясь «правой мышкой» добавьте в схему все таблицы «Зачет» ,«Анкета», «Дисциплины»

  • Закройте окно «Добавление таблицы» В схеме данных должны появиться три схемы выше указанных таблиц.

  • Поместите указатель мыши на поле «Дисциплины» таблицы «Зачет» и, нажмите левую кнопку и, не отпуская ее, перетащите появившийся значок поля на поле «Дисциплина» таблицы «Дисциплины». Появится диалоговое окно «Связи»

  • Поставьте флажок «Обеспечение целостности данных»

  • Поставьте флажок «Каскадное обновление связанных полей»

  • Нажмите кнопку Обьединение.

  • Выберете опцию 3, OK.

  • Нажмите кнопку Создать. , чтобы подтвердить создание связи.

  • Перейдите в окно « Схема данных», Вы должны увидеть появившуюся связь «один-ко-многим»

  1. Аналогично создайте связь между полем «фамилия» таблицы «анкета» и полем «студент» таблицы «Зачет». (последовательность действий та же, что и при установлении связи между таблицами «Дисциплины» – «Зачет», только связываются другие поля)

Задание 2

Если Вы правильно выполнили задание 1, то:

После установления связи изменение полей «фамилия» и «дисциплина» соответственно в таблицах «анкета» «дисциплины» автоматически повлечет связанных с этими полями полей «дисциплина» и «студент»в таблице «Зачет». В свою очередь Вы не сможете ввести в таблицу « Зачет» новые фамилии, или дисциплины, если они отсутствуют в таблицах «Анкета» и «Дисциплины»

Проверьте это!!!!!…

Задание 3

  1. Установите связь между таблицами «Экзамен» -Анкета», «Дисциплины»] Проверьте, как работают связи!!! СОХРАНИТЬ!!!!!!