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

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

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

Связи между таблицами в базе данных можно классифицировать на три основных типа: один-к-одному (one-to-one),
один-ко-многим (one-to-many), и многие-ко-многим (many-to-many).

Один-к-одному (One-to-One):

В этом типе связи каждая запись в одной таблице соответствует только одной записи в другой таблице, и наоборот.
Пример: таблица «Пользователь» может иметь связь один-к-одному с таблицей «Профиль», где каждому пользователю
соответствует только один профиль, и каждому профилю соответствует только один пользователь, или, например,
у каждого человека может быть только один паспорт, и каждый паспорт принадлежит только одному человеку.
Связь между этими таблицами будет один-к-одному:



Таблица "Человек"



+----+-------+---------+

| ID | Имя   | Возраст |

+----+---------+-------+

| 1  | Иван  | 25      |

| 2  | Мария | 30      |

+----+-------+---------+



Таблица "Паспорт"



+--------+-------------+-----------+

| Номер  | Дата выдачи | Владелец  |

+--------+-------------+-----------+

| 123    | 2022-01-01  | 1         |

| 456    | 2022-02-01  | 2         |

+--------+-------------+-----------+

Один-ко-многим (One-to-Many):

В этом типе связи каждая запись в одной таблице может иметь несколько соответствующих записей в другой таблице,
но каждая запись во второй таблице соответствует только одной записи в первой таблице.
Пример: таблица «Категория» может иметь связь один-ко-многим с таблицей «Продукты»,
где каждой категории соответствуют множество продуктов, но каждый продукт относится только к одной категории.



Таблица "Категории"



+----+-------------+

| ID | Название    |

+----+-------------+

| 1  | Электроника |

| 2  | Одежда      |

+----+-------------+



Таблица "Продукты"



+----+--------------+-------------+

| ID | Название     | Категория   |

+----+--------------+-------------+

| 1  | Смартфон     | 1           |

| 2  | Футболка     | 2           |

| 3  | Ноутбук      | 1           |

+----+--------------+-------------+

Многие-ко-многим (Many-to-Many):

В этом типе связи множество записей в одной таблице может соответствовать множеству записей в другой таблице, и наоборот.
Для реализации связи многие-ко-многим обычно используется промежуточная таблица, которая содержит связи между
записями двух связанных таблиц. Пример: таблицы «Студенты» и «Курсы» могут иметь связь многие-ко-многим через промежуточную
таблицу «Запись», где каждый студент может записаться на несколько курсов, и каждый курс может иметь несколько студентов.



Таблица "Студенты"



+----+------------+

| ID | Имя        |

+----+------------+

| 1  | Александр  |

| 2  | Елена      |

+----+------------+



Таблица "Курсы"



+----+------------------+

| ID | Название         |

+----+------------------+

| 1  | Математика       |

| 2  | История          |

+----+------------------+



Таблица "Запись" (промежуточная таблица)



+-----------+-------------+

| Студент   | Курс        |

+-----------+-------------+

| 1         | 1           |

| 1         | 2           |

| 2         | 1           |

+-----------+-------------+

Важно правильно выбирать тип связи в зависимости от структуры данных и требований приложения.
Корректное определение связей между таблицами обеспечивает эффективное хранение и извлечение данных.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий