본문 바로가기
개발자 기술 면접/데이터베이스

[DB] 데이터베이스 1:1, 1:N, N:M 관계

by se-black 2024. 1. 1.
1:1 관계
1:1 관계란 어느 엔티티 쪽에서 상대 엔티티를 보더라도 반드시 단 하나의 관계를 가지는 것을 말합니다.

Ex) 결혼 관계
남자는 한 여자와, 여자는 한 남자와 결혼을 할 수밖에 없습니다.

 

1:N 관계
1:N 관계란 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 말합니다.
이 관계는 매우 흔한 방식이며, 실제 DB를 설계할 때 자주 쓰이는 방식입니다.
부모 테이블의 PK를 자식 테이블의 FK로 넣음으로써 1:N 관계를 표현합니다.

Ex) 부모와 자식 관계
부모는 자식을 1명, 2명 그 이상도 낳을 수 있습니다.
DB에서는 이를 부모가 자식을 소유한다고 표현합니다. → has a 관계
반대로 자식 입장에서는 부모(어머니, 아버지의 한 쌍)를 하나만 가질 수밖에 없습니다.

 

N:M 관계
N:M 관계는 관계를 가진 양쪽 엔티티 모두에서 1:N의 관계를 가지는 것을 말합니다.
즉, 서로가 서로를 1:N 관계로 보고 있는 것입니다.

Ex) 학원과 학생의 관계
한 학원에는 여러 명의 학생이 수강할 수 있으므로 1:N의 관계를 가집니다.
반대로 학생도 여러 개의 학원을 수강할 수 있으므로, 이 사이에도 1:M의 관계를 가집니다.
따라서 학원과 학생은 N:M의 관계를 가진다고 할 수 있습니다.

 

 

[참고]

https://victorydntmd.tistory.com/30

728x90