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

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

1. Один-к-одному. Одной записи таблицы А соответствует одна запись таблицы Б, и наоборот. Этот тип связи применяется достаточно редко. Единственный случай, когда применение этого типа связи оправданно – разбиение таблицы, содержащей очень большое количество полей, на несколько частей.

2. Один-ко-многим. Одной записи таблицы А (главной) соответствует несколько записей таблицы Б (или ни одной). В свою очередь каждой записи таблицы Б (подчиненной) может соответствовать только одна запись таблицы А. Наиболее употребительный вид связи.

3. Многие-ко-многим. При этом типе связи многим записям из таблицы А может соответствовать много записей из таблицы Б (и наоборот). Такую связь в реляционных БД можно организовать только при помощи третьей вспомогательной таблицы. По сути связь «многие-ко-многим» представляет собой две связи типа «один-ко-многим». При этом таблицы А и Б расположены со стороны «один», а вспомогательная таблица со стороны – «многие».

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.