본문 바로가기

SQL

SQLD 관계(Relationship) 완벽 정리, 개념부터 기출 문제까지 한 번에 이해하기

728x90
반응형
SMALL

관계(Relationsip)란?

관계(Relationship)는 데이터 모델에서 엔터티(Entity) 간의 연관성을 의미한다. 관계를 정의하면 데이터 간의 연관성을 효과적으로 표현할 수 있으며 데이터의 일관성을 유지하는 데 필수적이다. SQLD 시험에서는 관계의 개념, 유형, 무결성 제약 조건 등을 이해하는 것이 중요하다.

 

 

관계의 특징

관계는 두 개 이상의 엔터티 간에 존재하며 관계가 존재하는 경우 하나의 엔터티는 다른 엔터티와 특정 규칙에 따라 연결된다. 관계는 방향성을 가질 수도 있고 필요에 따라 관계 자체를 엔터티로 변화할 수도 있다. 관계를 적절하게 정의하면 데이터베이스의 무결성과 일관성을 보장할 수 있다.

 

 

관계의 유형

  • 1:1 관계(Ono-to-One) : 한 개체가 다른 개체와 오직 하나의 관계를 가지는 경우이다. 예를 들어, 한 직원(Employee)이 한 개의 사원증(Badge)만 가질 경우 1:1 관계가 된다.
  • 1:N 관계(One-to-Many) : 한 개체가 여러 개체와 연결될 수 있는 경우이다. 예를 들어 한 고객(Customer)이 여러 개의 주문(Order)을 할 수 있다면 1:N 관계가 성립한다.
  • N:M 관계(Mony-to-Many) : 여러 개의 개체가 서로 여러 개의 개체와 연결될 수 있는 경우이다. 예를 들어 학생 (Student)이 여러 과목(Course)을 수강하고 하나의 과목을 여러 학생이 수강할 수 있는 경우 N:M 관계가 형성된다.

 

 

관계와 외래키(Foreign Key)

관계를 정의할 때는 외래키(FK, Foreign Key)를 사용하여 연결해야 한다. 외래키는 한 테이블에서 다른 테이블의 기본키(Primary Key, PK)를 참조하는 속성으로 관계의 무결성을 보장하는 역할을 한다. 1:N 관계에서는 외래키가 "N" 측 테이블에 포함되며 N:M 관계에서는 별도의 관계 테이블이 필요하다.

 

 

관계와 무결성 제약 조건

  • 참조 무결성(Referentail Integrity) : 외래키 값은 반드시 참조하는 기본키 값과 일치해야 한다.
  • 삭제·수정 무결성(Delete/Update Integrity) : 부모 테이블의 데이터가 삭제되거나 변경될 경우 자식 테이블의 데이터도 적절하게 수정 는 삭제해야 한다.
  • 카디널리티(cardinality) : 엔터티 간 관계의 개수를 의미하며, 1:1, 1:N, N:M 관계에서 사용된다.

 

 

관계의 구현 방식

  • 1:1 관계 : 하나의 테이블에 외래키를 추가하거나 별도의 테이블을 생성하여 연결할 수 있다.
  • 1:N 관계 : 외래키를 "N" 측 테이블에 포함하여 관계를 설정한다.
  • N:M 관계 : 중간 관계 테이블을 생성하여 두 테이블을 연결하며 두 개의 외래키를 사용한다.

 

 

 

 

 

 

 

 

 

 

 

 

관계(Relationship)는 데이터 모델에서 필수적인 개념으로 엔터티 간의 연관성을 정의하고 데이터의 무결성을 유지하는 역할을 한다. 관계의 유형(1:1, 1:N, N:M)과 외래키의 역할을 명확히 이해하고 적절한 무결성 제약 조건을 설정하는 것이 중요하다. SQLD 시험에서는 관계의 개념뿐만 아니라 무결성 제약 조건과 관계 구현 방식이 중요한 출제 범위이므로 철저한 이해가 필요하다.

 

 

728x90
반응형
LIST