데이터 모델링의 이해
🧩 모델링데이터 모델과 SQL★★★★★거의 매회

관계는 곧 조인이다

모델에서 그린 관계선은 SQL 에서 조인 조건이 된다. 관계를 제대로 잡지 않으면 조인할 길이 없거나, 엉뚱한 행이 곱해진다.

관계조인외래키교차 엔터티M:N

왜 그런지까지

부모의 식별자가 자식으로 내려가 외래키가 되고, 그 두 열을 견주는 것이 조인이다. 그래서 모델의 관계는 나중에 어떤 SQL 을 쓸 수 있는지를 미리 정해 버린다.

1:M 관계를 조인하면 부모 한 줄이 자식 수만큼 늘어난다. M:N 관계는 그대로는 데이터베이스에 만들 수 없어, 가운데에 교차 엔터티를 두어 1:M 둘로 풀어야 한다. 관계가 없는 두 엔터티를 억지로 조인하면 곱집합이 되어 행 수가 폭발한다.

돌려 보기

관계선이 그대로 조인 조건이 된다. 부서 한 줄이 사원 수만큼 늘어나는 것을 확인해 보자.

헷갈리는 것

1:M 관계 vs M:N 관계

1:M 은 자식에 외래키를 두어 그대로 구현하지만, M:N 은 가운데에 교차 엔터티를 두어 1:M 두 개로 풀어야 한다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다