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