Связь «Один к одному».
Связь один к одному наблюдается тогда, когда одной записи из таблицы соответствует строго одна запись из другой таблицы. Пример такой связи можно увидеть в зависимости «Пользователи» и «Пароли». В данном случае одному пользователю соответствует только один пароль и 1 пароль относится только к одному пользователю.
Несмотря на то, что можно было бы пароли поместить в одну таблицу с пользователями, все же данные такой конфиденциальности лучше разделять, чтобы доступ к подобного рода информации имелся только у ограниченных количества лиц.
Связь «Один ко многим».
В данном типе связей одной записи из таблицы соответствует несколько записей из другой таблицы. В качестве примера можно привести зависимость студента от принадлежности к группе. Т.е. одной конкретной группе соответствует несколько учащихся в ней студентов. Если же рассматривать зависимость в обратную сторону, то одному студенту соответствует только одна группа.
Связь «Многие ко многим».
Связь многие ко многим организовать посредством двух таблиц тяжело либо вовсе невозможно. Например, каким образом можно реализовать зависимость продаваемого товара на торговых точках?
Если мы добавим ID торговой точки в таблицу товары, то в результате нам необходимо будет повторить запись конкретного товара столько раз, сколько торговых точек могут им торговать.
Если мы добавим ID товара в таблицу торговые точки, то аналогичная ситуация повториться с дублированием записей торговых точек.
Ни один из данных вариантов нас не устраивает, т.к. это создает проблемы работы с базой данных при обновлении, подсчетах и других возможных задачах. Для сохранения целостности данных необходимо создать связующую таблицу, состоящую только из идентификаторов (ключей) записей двух таблиц.