Здесь у нас есть одна таблица для клиентов, вторая — для заказов, а третья — для файлов cookie.
Проблема здесь в том, что простое разделение данных на несколько таблиц не поможет понять, как данные из одной таблицы связаны с данными в другой таблице. Чтобы соединить данные в нескольких таблицах, мы должны добавить внешние ключи в таблицу
Orders .
Определение отношенийСвязь работает путем сопоставления данных в ключевых столбцах, обычно столбцах с одинаковыми именами в обеих таблицах. В большинстве случаев отношение соответствует первичному ключу из одной таблицы, которая предоставляет уникальный идентификатор для каждой строки, с записью во внешнем ключе в другой таблице. Существует три типа отношений между таблицами. Тип создаваемой связи зависит от того, как определены соответствующие столбцы.
Давайте теперь посмотрим на три типа отношений —
Отношения один ко многимОтношения «один ко многим» являются наиболее распространенным типом отношений. В этом типе отношений строка в таблице A может иметь много совпадающих строк в таблице B, но строка в таблице B может иметь только одну соответствующую строку в таблице A.
Например, таблицы «Клиенты» и «Заказы» имеют отношение «один ко многим»: каждый клиент может разместить много заказов, но каждый заказ поступает только от одного клиента.
Отношения многие ко многимВ отношении «многие ко многим» строка в таблице A может иметь много совпадающих строк в таблице B, и наоборот.
Вы создаете такую связь, определяя третью таблицу, называемую
Соединительной таблицей , первичный ключ которой состоит из внешних ключей из таблицы A и таблицы B.
Например, таблица «Клиенты» и таблица «Cookies» имеют отношение «многие ко многим», которое определяется отношением «один ко многим» из каждой из этих таблиц к таблице «Заказы».
Индивидуальные отношенияВ отношении «один к одному» строка в таблице A может иметь не более одной совпадающей строки в таблице B, и наоборот. Отношение один к одному создается, если оба связанных столбца являются первичными ключами или имеют уникальные ограничения.
Этот тип отношений не распространен, потому что большая часть информации, связанной таким образом, будет находиться в одной таблице:
- Разделите таблицу на множество столбцов.
- Из соображений безопасности изолируйте часть стола.
- Храните данные, которые недолговечны и могут быть легко удалены простым удалением таблицы.
- Хранить информацию, которая относится только к подмножеству основной таблицы.