본문 바로가기
강의 실습/비전공자도 이해할 수 있는 DB 설계 입문 실전

[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 5

by jint 2026. 2. 23.

1. N:M 관계의 특징
법칙 : 중간 테이블을 만들어 두 테이블의 FK가 들어가고, 1:N 관계로 바꿔 표현

 

N대M 관계


예시 1)
# Before
- students (학생)

id 이름 수강 과목
1 송진성 수학, 과학
2 김땡땡 국어, 수학
3 이땡땡 국어, 과학


#1 엔티티 간에 어울리는 동사 찾기
학생은 수강 과목을 "듣는다."
수강 과목은 학생에 의해 "들어진다."

#2 찾은 동사를 활용해 적절한 단어(하나의 or 여러 개의) 찾기
하나의 학생은 "여러 개의" 수강 과목을 듣는다.
하나의 수강 과목은 "여러 명의" 학생에 의해 들어진다.

#3 관계 판단
학생 : 수강 과목 = N : M

# After
- students (학생)

id 이름
1 송진성
2 김땡땡
3 이땡땡


- courses (수강 과목)

id 수강 과목
1 국어
2 수학
3 과학


- course_registrations (수강 과목 등록)

id 학생 id (FK) 수강 과목 id (FK)
1 1 2
2 1 3
3 2 1
4 2 2
5 3 1
6 3 3


예시 2)
# Before
- movies (영화)

id 이름 출연 배우
1 베테랑 황정민, 오달수
2 신세계 황정민, 이정재
3 관상 이정재, 송강호


#1 엔티티 간에 어울리는 동사 찾기
영화는 배우를 "출연시킨다."
배우는 영화에 의해 "출연된다."

#2 찾은 동사를 활용해 적절한 단어(하나의 or 여러 개의) 찾기
하나의 영화는 "여러 명의" 배우를 출연시킨다.
한 명의 배우는 "여러" 영화에 의해 출연된다.

#3 관계 판단
영화 : 배우 : N : M

# After
- movies (영화)

id 이름
1 베테랑
2 신세계
3 관상


- actors (배우)

id 이름
1 황정민
2 오달수
3 이정재
4 송강호

 

- castings (캐스팅)

id 영화 id (FK) 배우 id (FK)
1 1 1
2 1 2
3 2 1
4 2 3
5 3 3
6 3 4



참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-db-%EC%84%A4%EA%B3%84-%EC%9E%85%EB%AC%B8?cid=335049

 

비전공자도 이해할 수 있는 DB 설계 입문/실전| JSCODE 박재성 - 인프런 강의

현재 평점 4.9점 수강생 1,503명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 'DB 설계 입문/실전' 강의를 만들어봤습니다! 복잡한 개념을 몰라도

www.inflearn.com

댓글