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

9.О связях между таблицами

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

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

Рассмотрим ситуации, в результате которых информация в базе данных может оказаться неверной.

Вы удалили из одной таблицы базы данных данные о клиенте, а затем обнаружили, что этот клиент еще имеет заказы на поставку товаров. Что теперь случится с этими заказами? Будет ли эта информация о них по-прежнему храниться в таблице, не соответствуя ни одному из клиентов?

Вы вводите данные о заказе нового клиента, но данные о самом клиенте перед этим не внесены. Нельзя ли просто ввести любой незанятый номер для этого клиента?

Ответ на оба поставленных вопроса будет «нет».

И оба эти вопроса связаны с понятием целостности данных в базе данных.

Целостность данных - это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешенными операциями в отношении связанных таблиц.

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

Что такое отношение? Отношение в Access - это связь между двумя таблицами, которая показывает, как относятся друг к другу данные в этих таблицах. При создании отношения указывают поля в двух разных таблицах, которые содержат одни и те же данные. Например, можно создать отношение между таблицами «Клиент» и «Заказы», используя в качестве связующего поля идентификатор клиента. Обычно одно из полей, указываемое при создании отношения, является первичным ключом. Оба связующих поля должны содержать данные одинакового типа. Таким образом, нельзя создать отношения, используя в качестве связующих полей числовое поле в одном таблице и текстовое - в другое.

Типы отношений между таблицами. Между таблицами в базе данных Access можно установить отношения одного из следующих 3-х типов:

  • один-ко-многим;

  • один-к-одному;

  • многие-к-многим.

Один-ко-многим. Один клиент может иметь много заказов. Один заказ может быть на много товаров.

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

Многие-ко-многим. Этот тип отношений самый популярный из всех трех. Хорошим примером отношения «многие-ко-многим» является система регистрации факультативных курсов. В этой системе 3 таблицы.

Факультативы. Здесь хранится информация такого рода: номер факультатива, его название и описание.

Студенты. Содержит данные о студентах: их имена и кодовые номера.

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