Определение связей

Определение в базе данных связей между таблицами

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

Связи, устанавливаемые между таблицами в БД, могут определять отношения следующих типов: «один-ко-многим», «многие-ко-многим» и «один-к-одному».

Отношение «один-ко-многим»

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

В создаваемой БД такая связь существует между таблицами РАЗДЕЛЫ и КНИГИ, так как к одному и тому же разделу может относиться множество книг.

Отношение «многие-ко-многим»

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B - несколько записей в таблице A. Такая схема реализуется только с помощью третьей связывающей таблицы, ключ которой состоит, по крайней мере, из двух полей, которые являются полями первичных ключей в таблицах A и B. Таблицы А и В связываются с этой таблицей отношением «один-ко-многим».

Так, например, в создаваемой БД между таблицами АВТОРЫ и КНИГИ, существует отношение «многие-ко-многим», так как у одного автора может быть несколько книг, а у одной книги может быть несколько авторов. Для установления этой связи введена связующая таблица КНИГИ_АВТОРЫ, с которой каждая из двух таблиц должна быть связана отношением «один-ко-многим».

Отношение «многие-ко-многим» существует также между таблицами КЛИЕНТЫ и КНИГИ, так как один клиент может купить несколько разных книг, а каждая книга может быть куплена разными клиентами. Эта связь устанавливается с помощью таблицы ПОКУПКИ, с которой каждая из двух таблиц также связывается отношением «один-ко-многим».

Отношение «один-к-одному»

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: