Создание и связывание таблиц

Создание и связывание таблиц

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

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

Группа связанных таблиц называется схемой данных. Пример схемы данных показан на рис. .

Рис. 1.2. Фрагмент схемы данных базы данных Товарная база

Типы связей между таблицами

Тип связи определяет правила сопоставления строк между двумя таблицами. Существуют следующие виды связей или отношений.

Один — к — одному (1:1). Такое отношение означает, что каждой строке первой таблицы соответствует только одна строка во второй таблице и, наоборот, каждой строке второй таблицы соответствует только одна строка в первой таблице. Таблицы. связанные отношением один к одному можно объединить в одну общую таблицу, состоящую из полей обоих таблиц. Отношение один к одному может использоваться для разделения таблиц, состоящих из большого числа полей. Такое разбиение может потребоваться, если некоторые поля таблицы содержат конфиденциальную информацию или требуется создать условия для ускоренного просмотра данных.

Один — ко — многим (1:оо). Такая связь определяет отношение между таблицами, когда одна из них является главной, а другая подчиненной. При этом каждой строке главной таблицы может соответствовать несколько строк в подчиненной таблице, а каждой строке в подчиненной таблице соответствует только одна в главной таблице. Примером такого отношения является связь между таблицами Клиенты и Заказы, устанавливаемая между полями Код клиента и Код клиента (см., например, схему данных базы данных Товарная база). В отношении один ‑ ко ‑ многим главной таблицей является таблица, которая содержит первичный ключ, который составляет часть один в отношении один ‑ ко ‑ многим (Код клиента в таблице Клиенты). Каждый клиент может иметь или один заказ, или несколько заказов, или не иметь их совсем. Каждый заказ в подчиненной таблице Заказы должен принадлежать только одному клиенту, разместившему этот заказ.

Читайте также:  Езда в пробках на механике

Многие — ко — многим. При такой связи каждой строке первой таблицы может соответствовать несколько строк во второй таблице и наоборот. Примером такой связи является связь между таблицами Заказы и Каталог. Один заказ может содержать много моделей мебели и каждая конкретная модель может быть включена во множество заказов. Такая связь может быть реализована только через третью таблицу, с которой исходные таблицы будут иметь связи один ‑ ко ‑ многим.

Для рассматриваемого примера такой таблицей является таблица Состав заказа, которая имеет внешние ключи, образованные из составных первичных ключей таблиц Заказы и Каталог (см. схему данных на рис ).

Урок 53

Тема: «Связывание данных».

Теоретическая часть.

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

Установление связей в Access дает возможность автоматически соединять данные из разных таблиц, таким образом, обеспечивается целостность базы данных.

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

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

Пример.Рассмотрим связь между двумя таблицами «Покупатель» и «Заказы» в базе данных Trade.mdb. Структура каждой таблицы представлена на рис. 4.10.

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

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

В этом случае тип связи, установленной между первичным и внешним ключом, называют связью один к одному. Этот тип связи представлен на рисунке 4.11

Если в таблице «Заказы» один покупатель имеет право сделать несколько заказов, то поле Код покупателяуже не будетуникальным, так как может повторяться многократно. В этом случае тип данных в этом поле может принимать числовые значения, а ключевым полем с уникальными значениями может быть определено поле Номер заказа.В этом случае тип связи, установленной между одноименными полями Код покупателя в обеих таблицах, называют связью один ко многим, как показано на рисунке 4.12.

Читайте также:  В каких единицах измеряется скорость передачи данных

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

Для создания Схемы данныхв СУБД Access необходимо выполнить следующее:

1. Откройте многотабличную базу данных, для которой между таблицами устанавливаются связи, например базу данных trade.mdb.

2. Щелкните мышью по значку Схема данных или выполните цепочку команд Сервис®Схема данныхна панели Стандартная.

3. Выделите первую таблицу, для которой устанавливается связь в окне Добавление таблицы. Для примера эта таблица — «Покупатель».

4. Щелкните мышью на кнопке Добавить.На экране будет отображена таблица, которую мы добавили, как показано на рисунке 4.13. Затем таким же образом требуется добавить в Схему данныхостальные связываемые таблицы, например «Заказы» и щелкнуть мышью по кнопке Закрыть.

5. В окне первой таблицы щелкните мышью на поле, которое будете использовать для установки связи, например Код покупателя и перетащите его на совпадающее поле второй таблицы.

6. В окне Изменение связейубедитесь, что связаны необходимые поля и установите флажок Обеспечение целостности данных, затем нажмите кнопку Создать(Рис. 4.14).

В результате выполненных действий в окне Схема данныхдва связанных поля соединятся линией, как показано на рисунках 4.11 и 4.12.

В дальнейшем для сохранения созданных связей необходимо щелкнуть мышкой по кнопке Сохранитьи закрыть окно Схема данных.

Созданные связи в дальнейшем можно удалить в окне Схема данных, щелкнув мышью по линии связи, чтобы выделить ее, а затем нажать клавишу Delete (Удалить). Двойной щелчок мышью по линии связи приведет к открытию окна Изменение связей, в котором связи могут быть отредактированы.

Практическая часть.

Упражнения

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

При проектировании реальных БД информацию обычно размещают в достаточно большом количестве таблиц. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания.

Читайте также:  Tvoc норма mg m3

Для чего необходимо связывание таблиц? Многие СУБД при связывании таблиц автоматически выполняют контроль целостности вводимых в базу данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации.

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

Основные виды связи таблиц

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

При связывании двух таблиц выделяют основную и дополнительную (подчиненную) таблицы. Логическое связывание таблиц производится с помощью ключа связи.

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

В зависимости от того, как определены поля связи основной и дополнительной таблиц (как соотносятся ключевые поля с полями связи), между двумя таблицами в общем случае могут устанавливаться следующие четыре основных вида связи (табл. 2):

  • один — один (1:1);
  • один — много (1:М);
  • много — один (М: 1);
  • много — много (М:М или M:N).

Таблица 2. Характеристика видов связей таблиц.

Характеристика полей связи по видам 1:1 1 :М М:1 М:М
Поля связи основной таблицы являются ключом являются ключом не являются ключом не являются ключом
Поля связи дополнительной таблицы являются ключом не являются ключом являются ключом не являются ключом

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

Ссылка на основную публикацию
Сколько человек сидит в одноклассниках
Mail.Ru Group исследовала и сравнила аудитории самых популярных в России социальных сетей — «Одноклассники», «Мой Мир», «ВКонтакте», Facebook и Twitter....
Сигнал flash в телефоне panasonic
● 19.12.08 13:08 - krepsky - 9 / 19.12.08 Два дня ломаю голову… Такая ситуация - купили партию телефонов Panasonic...
Сигналы материнской платы при загрузке
BIOS (Basic Input/Output System – базовая система ввода-вывода). Программа системного уровня, предназначенная для первоначального запуска компьютера, настройки оборудования и обеспечения...
Сколько четырехзначных чисел можно составить из нечетных
Условие Решение 1 Решение 2 Решение 3 Поиск в решебнике Популярные решебники Издатель: Н. Я. Виленкин, В. И. Жохов, А....
Adblock detector