DB 모델링 과정에서 N:N관계가 생길 수 있다
한 테이블에 있는 여러 레코드가 다른 테이블에 있는
여러 레코드와 연관되어 있는 경우가 발생한다.
[학생테이블]
| 학번 | 이름 | 학과 | 과목코드 |
|---|---|---|---|
| 1 | 홍길동 | 컴공과 | S1 |
| 1 | 홍길동 | 컴공과 | S2 |
| 1 | 이길동 | 토목과 | S2 |
| 1 | 이길동 | 토목과 | S3 |
| 1 | 삼길동 | 컴공과 |
[과목테이블]
| 과목코드 | 과목명 | 담당교수 | 수강학생 |
|---|---|---|---|
| S1 | 데이터베이스 | 김철수 | 1 |
| S2 | 파이썬 | 김영희 | 1 |
| S2 | 파이썬 | 김영희 | 2 |
| S3 | 알고리즘 | 박주문 | 3 |
해결방법
-N:M 관계를 각각 1:N, 1:M으로 풀어 줄 수 있는 연관 테이블을 추가해주는 것
[수강 테이블]
| 수강번호 | 학번 | 과목코드 |
|---|---|---|
| 1 | 1 | S1 |
| 2 | 1 | S2 |
| 3 | 2 | S2 |
| 4 | 2 | S3 |
다음과 같은 테이블을 추가해 관계를 풀어준다.