TGViewer
В мире больших данных В мире больших данных @big_data_systems_analysis · 301 subscribers
Post #144 210
Связи между данными: один-к-одному, один-ко-многим, многие-ко-многим

Захватим ещё немного основ (хотя, кажется, пора заканчивать с очевидным 😁).

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

Есть три основных типа связей: один к одному, один ко многим и многие ко многим. Давайте разберемся с каждым из них.

Cамый простой тип связи — один к одному (1:1), то есть каждая запись в одной таблице соответствует только одной записи в другой таблице.
Например, есть таблица Сотрудники и таблица Паспортные данные. Каждый сотрудник имеет только один паспорт и каждый паспорт принадлежит только одному сотруднику.

Связь один-ко-многим (1:N) используется, когда одна запись в первой таблице может быть связана с несколькими записями во второй таблице. Например, в одном отделе может работать много сотрудников, но каждый сотрудник может работать только в одном отделе.

Связь многие-ко-многим (M:N) — самый сложный тип связи. Он используется, когда несколько записей из одной таблицы могут быть связаны с несколькими записями из другой таблицы. Обычно для реализации связи M:N используется промежуточная таблица.То есть такая связь разбивается на две связи "один ко многим" через промежуточную таблицу.

Классический пример — студенты и курсы. Один студент может посещать несколько курсов, и на одном курсе учится много студентов.

Таблица students:

student_id | name
------------------
1 | Анна
2 | Борис


Таблица courses:

course_id | name
----------------------
101 | Математика
102 | Физика


Таблица students_courses:

student_id | course_id
-----------------------
1 | 101
1 | 102
2 | 101

Промежуточная таблица students_courses как раз и содержит комбинации ключей из обеих связанных таблиц.

Cтоит отметить, что в хранилищах данных мы иногда отходим от строгой реляционной модели и иногда можем хранить данные в более свободном формате😎. Но понимание этих базовых типов связей помогает нам правильно организовать данные для эффективного анализа.

#dwh
  • 👍 2
  • ❤ 1
  • 🎄 1
More from @big_data_systems_analysis
  1. Jul 28, 2026Продолжая тему тех самых SQL-скриптов на 1200 строк, хочу напомнить одну важную вещь, кото…
  2. Jul 15, 2026Борьба с ветряными мельницами Думаю, многим из вас уже набили оскомину разговоры об ИИ. Мн…
  3. Mar 8, 2026В этот день желаю женской части аудитории верить в себя и позволять быть себе любой без ог…
  4. Mar 6, 2026Этот мем — точная копия одного рабочего дня, который я, кажется, прожила уже раз двести 😄…
  5. Mar 4, 2026Знаете, какая фраза чаще всего дорого обходится компании? "Работает — и ладно" 🥂 Результа…
  6. Feb 26, 2026Дисциплина, конечно, прошла мимо меня 😄 в черновиках 1000 и 1 пост, но ни один из них не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →