- •31. Интернет и базы данных. Часть 02. Нормализация базы данных.
- •32. Схема данных. Виды связей между таблицами базы данных.
- •Введение
- •Типы связей между таблицами
- •Зачем создавать связи между таблицами?
- •Понятие о целостности данных
- •Просмотр связей между таблицами
- •Вызов окна "Схема данных"
- •Создание связи между таблицами
- •Создание связи между таблицами с помощью окна "Схема данных"
- •Создание связи между таблицами с помощью области "Список полей"
- •Открытие таблицы в режиме таблицы
- •Открытие области "Список полей"
- •Добавление поля и создание связи из области "Список полей"
- •Удаление связи между таблицами
- •Изменение связи между таблицами
- •Внесите изменения в диалоговом окне Изменение связей.
- •Указание типа соединения
- •Указание типа соединения
- •Изменения в диалоговом окне Параметры соединения
- •Обеспечение целостности данных
- •Включение и отключение обеспечения целостности данных
- •Задание каскадных параметров
- •Включение и отключение каскадного обновления и каскадного удаления
- •33. Объекты базы данных Access (запросы, формы, отчеты).
- •Основные сведения о базе данных Access
- •Файлы баз данных Microsoft Access
- •Запросы
- •Просмотр подробных сведений об объектах в базе данных
- •Изучение таблицы в режиме конструктора
- •Просмотр связей между таблицами
- •Просмотр взаимодействия объектов
- •Использование области Зависимости объектов
- •34. Перспективные направления развития технологий баз данных. Базы данных в грид-технологиях
- •Сверхбольшие базы данных
- •Управление потоками данных
32. Схема данных. Виды связей между таблицами базы данных.
Одной из целей создания хорошей структуры базы данных является устранение избыточности (повторов) данных. Для этого нужно распределить их по нескольким отдельным тематически организованным таблицам, чтобы каждый факт был представлен только один раз. Затем в приложении Access необходимо задать порядок совместного использования распределенных данных, для чего следует создать общие поля в связанных таблицах. Однако чтобы сделать это правильно, нужно сначала понять связи между таблицами и описать их в базе данных.
Дополнительные сведения см. в статье Основные сведения о создании баз данных.
В этой статье не рассматриваются связи в веб-базе данных. В таких базах отсутствует окно «Схема данных». Для создания связей в веб-базе данных используются поля подстановок. Дополнительные сведения см. в статье Создание базы данных для совместного использования в Интернете.
В этой статье
Введение
Типы связей между таблицами
Зачем создавать связи между таблицами?
Понятие о целостности данных
Просмотр связей между таблицами
Создание связи между таблицами
Удаление связи между таблицами
Изменение связи между таблицами
Обеспечение целостности данных
Введение
После создания таблицы для каждой темы в базе данных нужно предоставить приложению Access средства, с помощью которых можно будет при необходимости объединять сведения. Это делается путем создания общих полей в связанных таблицах и настройки связей между таблицами. После этого можно создавать запросы, формы и отчеты, одновременно отображающие сведения из нескольких таблиц. Например, приведенная ниже форма содержит сведения из нескольких таблиц.
Эта
форма содержит данные из таблицы
клиентов,
заказов,
товаров
и
сведений о заказах.
Имя клиента в поле Плательщик получено из таблицы "Клиенты", значения кода заказа и даты заказа — из таблицы "Заказы", наименование товара — из таблицы "Товары", а цена и количество — из таблицы "Заказано". Чтобы можно было передать данные в форму, эти таблицы связаны друг с другом несколькими способами.
В приведенном примере поля в таблицах должны быть согласованы таким образом, чтобы отображать сведения об одном и том же заказе. Это согласование осуществляется путем установления связей между таблицами. Связь между таблицами устанавливает отношения между значениями в ключевых полях — часто между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с первичным ключом одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, для связывания сотрудников с заказами, за которые они отвечают, можно создать связь между полями "Код сотрудника" в таблицах "Сотрудники" и "Заказы".
Поле "Код сотрудника" отображается в двух таблицах: как первичный ключ...
и как внешний ключ.
К
началу страницы
Типы связей между таблицами
Существует три типа связей между таблицами.
Связь "один-ко-многим"
Рассмотрим базу данных для учета заказов, содержащую таблицы "Клиенты" и "Заказы". Клиент может оформить любое количество заказов. Следовательно, у любого клиента, представленного в таблице "Клиенты", может быть много заказов, представленных в таблице "Заказы". Поэтому связь между таблицами "Клиенты" и "Заказы" — это связь "один-ко-многим".
Чтобы создать связь "один-ко многим" в структуре базы данных, добавьте первичный ключ на стороне "один" в таблицу на стороне "многие" в виде дополнительного поля. В данном примере необходимо добавить новое поле — поле "Код" из таблицы "Клиенты" — в таблицу "Заказы" и назвать его "Код клиента". После этого Access сможет использовать номер "Код клиента" из таблицы "Заказы" для поиска клиента, оформившего тот или иной заказ.
Связь "многие-ко-многим"
Рассмотрим связь между таблицей "Продукты" и таблицей "Заказы". Один заказ может включать несколько продуктов. С другой стороны, отдельный продукт может содержаться в нескольких заказах. Следовательно, для каждой записи таблицы "Заказы" может существовать несколько записей в таблице "Продукты" и наоборот. Такой тип связи называется связью "многие-ко-многим", поскольку каждому продукту может соответствовать много заказов и наоборот. Обратите внимание, что для обнаружения существующей связи "многие-ко-многим" между таблицами важно рассмотреть обе ее стороны.
Чтобы представить связь "многие-ко-многим", нужно создать третью (связующую) таблицу, в которой она разбивается на две связи "один-ко-многим". Первичные ключи двух таблиц вставляются в третью таблицу. В результате в третьей таблице сохраняются все экземпляры связи. Например, таблицы "Заказы" и "Продукты" имеют связь "многие-ко-многим", определяемую путем создания двух связей "один-ко-многим" в таблице "Заказано". В одном заказе может быть много продуктов, и каждый продукт может быть указан во многих заказах.
Связь "один-к-одному"
При связи "один-к-одному" каждая запись в первой таблице может иметь не более одной связанной записи во второй таблице и наоборот. Связи этого типа используются нечасто, поскольку обычно сведения, связанные таким образом, хранятся в одной таблице. Связь "один-к-одному" используется для разделения таблицы, содержащей много полей, с целью отделения части таблицы по соображениям безопасности, а также с целью сохранения сведений, относящихся к подмножеству записей в главной таблице. При определении такой связи у обеих таблиц должно быть общее поле.
К началу страницы
