상세 컨텐츠

본문 제목

[CS] 엔터티 연관관계: 1:1, 1:N, N:M 관계의 이해와 데이터베이스 설계

CS 과제 정리

by thisnorm 2025. 2. 2. 17:42

본문

📌엔터티 연관관계에 대해서

1:1 관계 (One-to-One)

  • 정의: 한 엔티티의 각 인스턴스가 다른 엔티티의 정확히 하나의 인스턴스와 관련되는 관계이다.
  • 예시: 예를 들어, 사용자사용자 프로필 간의 관계에서, 각 사용자는 하나의 프로필만 가질 수 있으며, 각 프로필은 하나의 사용자에게만 속한다.

 

 

1:N 관계 (One-to-Many)

  • 정의: 한 엔티티의 각 인스턴스가 다른 엔티티의 여러 인스턴스와 관련될 수 있는 관계이다.
  • 예시: 한 고객이 여러 주문을 할 수 있는 경우이다. 각 주문은 하나의 고객에게만 속한다.

 

 

N:M 관계 (Many-to-Many)

  • 정의: 한 엔티티의 여러 인스턴스가 다른 엔티티의 여러 인스턴스와 관련될 수 있는 관계이다.
  • 예시: 학생과 수업 간의 관계에서, 한 학생은 여러 수업을 들을 수 있고, 한 수업에는 여러 학생이 등록할 수 있다.

 

 

N:M 관계를 미들 테이블과 1:N으로 구성하는 이유

  1. 정규화: N:M 관계를 직접적으로 구현하면 데이터 중복과 무결성 문제가 발생할 수 있다. 미들 테이블을 사용하면 이러한 문제를 방지하고 데이터베이스를 정규화할 수 있다.
  2. 관계의 명확성: 미들 테이블을 사용하면 각 관계의 속성을 명확하게 정의할 수 있다. 예를 들어, 학생이 수업에 등록한 날짜나 성적과 같은 추가 정보를 저장할 수 있다.
  3. 유연성: 미들 테이블을 사용하면 두 엔티티 간의 관계를 더 유연하게 관리할 수 있다. 예를 들어, 학생과 수업 간의 관계를 관리하는 등록 테이블을 생성하여 학생과 수업 각각에 대한 추가 정보를 저장할 수 있다.
  4. 성능 최적화: 데이터베이스 쿼리 성능을 최적화할 수 있다. 미들 테이블을 통해 필요한 데이터만 조인하여 가져올 수 있으므로, 불필요한 데이터 로드를 줄일 수 있다.

 


 

결론

Oracle 데이터베이스에서 1:1, 1:N, N:M 관계는 데이터 모델링의 기본 요소이다. N:M 관계를 미들 테이블과 1:N 관계로 구성하는 것은 데이터의 무결성을 유지하고, 관계를 명확하게 정의하며, 성능을 최적화하는 데 중요한 방법이다. 이러한 구조는 데이터베이스 설계의 효율성을 높이고, 유지보수를 용이하게 한다.

관련글 더보기