변수의 기록

(데이터베이스)관계형 데이터 모델 (Relational Data Model) 정리 본문

CS지식/데이터베이스 (Database)

(데이터베이스)관계형 데이터 모델 (Relational Data Model) 정리

불광동 물주먹 2025. 5. 7. 01:56

관계형 데이터 모델 (Relational Data Model) 정리

관계형 데이터 모델은 1970년 Edgar F. Codd가 제안한 데이터베이스 모델로, 현재 대부분의 데이터베이스 시스템이 채택하고 있는 구조이다. 이 모델은 수학의 관계(Relation) 개념을 기반으로 하며, 데이터를 테이블(릴레이션) 형태로 표현한다.


 

1. 수학에서의 Relation 개념

  • 수학적으로 관계(Relation)는 **카르테지안 곱(Cartesian Product)**의 부분집합이다.
  • 즉, 여러 도메인(Domain, 속성의 값 집합)의 곱에서 특정 조건을 만족하는 튜플들의 집합.
Relation ⊆ Domain1 × Domain2 × ... × DomainN

 

2. 릴레이션(Relation)의 구성 요소

🔹 도메인(Domain)

  • 하나의 **속성(attribute)**이 가질 수 있는 값의 집합.
  • 예: 성별 속성의 도메인은 {M, F}

🔹 애트리뷰트(Attribute)

  • 테이블의 **열(Column)**에 해당.
  • 각 애트리뷰트는 특정 도메인을 기반으로 값이 정의된다.

🔹 튜플(Tuple)

  • 테이블의 **행(Row)**에 해당.
  • 한 릴레이션에서 튜플들은 모두 같은 속성 구조를 가진다.
  • n개의 속성으로 구성된 튜플은 n-튜플이라고 부른다.

사진 출처 - 유튜브 쉬운코드

 

 


 

3. 릴레이션 스키마 (Relation Schema)

  • 릴레이션의 구조를 정의한 것으로, 릴레이션 이름과 애트리뷰트 리스트로 구성됨.
  • 예:
  •  
  • 스키마에는 각 애트리뷰트의 도메인과 제약조건까지 포함될 수 있다.
STUDENT(id, name, major)

🔹 디그리(Degree)

  • 릴레이션의 속성(컬럼) 개수

🔹 카디널리티(Cardinality)

  • 릴레이션의 튜플(행) 수

 

4. 릴레이션 데이터베이스 스키마

  • 전체 데이터베이스는 여러 릴레이션 스키마들과 무결성 제약조건(Integrity Constraints)의 집합으로 구성됨.

 

5. 릴레이션의 주요 특징

  1. 중복된 튜플 허용 X: 릴레이션은 수학적 집합 개념을 따르므로 중복된 행이 없다.
  2. 튜플 식별을 위한 키 존재: 튜플을 유일하게 식별하기 위해 키(Primary Key 등) 설정 필요.
  3. 튜플 순서 무관: 행의 순서는 의미가 없다.
  4. 애트리뷰트 이름 중복 X: 하나의 릴레이션 안에서 열 이름은 고유해야 한다.
  5. 애트리뷰트 순서도 무관: 열의 순서 자체는 의미가 없다.
  6. 원자성(Atomicity): 각 애트리뷰트는 더 이상 나눌 수 없는 단일 값이어야 한다. (복합/다중 값 속성 불가)

 

6. NULL 값의 의미

  1. 값이 존재하지 않음
  2. 값이 존재하지만 알 수 없음
  3. 속성 자체가 해당 없음 (irrelevant)

→ SQL에서 NULL은 위 세 가지 상황을 포괄하는 특별한 상태이며, 연산 시 주의가 필요하다.


 

7. 키(Key)의 종류

🔹 슈퍼키(Super Key)

  • 튜플을 유일하게 식별할 수 있는 속성 집합

🔹 후보키(Candidate Key)

  • 슈퍼키 중에서 불필요한 속성을 제거한 최소 키
  • 여러 개 존재할 수 있음

🔹 기본키(Primary Key)

  • 후보키 중에서 대표로 선택된 키
  • NULL을 가질 수 없음, 유일성 보장

🔹 대체키(Alternate Key)

  • 기본키가 아닌 나머지 후보키들

🔹 외래키(Foreign Key)

  • 다른 릴레이션의 기본키를 참조하는 속성
  • 두 릴레이션 간의 관계를 표현

 

8. 무결성 제약조건 (Integrity Constraints)

릴레이션 간 일관성과 정확성을 보장하기 위한 제약조건. 다음과 같이 분류된다.

🔹 1. 암묵적 제약조건 (Implicit Constraints)

  • 릴레이션 모델이 기본적으로 가지는 제약
    • 튜플 중복 불가
    • 애트리뷰트 이름 중복 불가

🔹 2. 스키마 기반 제약조건 (Schema-based Constraints)

  • DDL을 통해 명시적으로 정의하는 제약
    • 예: PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY 등

🔹 3. 도메인 제약조건 (Domain Constraints)

  • 애트리뷰트의 값은 반드시 정의된 도메인 범위에 속해야 함
    • 예: age INT CHECK (age > 0)

 

추가로 알아두면 좋은 제약조건

▪ Key Constraint

  • 릴레이션 내 모든 튜플은 기본키 값이 고유해야 한다.

▪ Entity Integrity

  • 기본키는 NULL을 가질 수 없다.

▪ Referential Integrity

  • 외래키는 참조 대상 릴레이션의 기본키 값과 일치하거나, NULL이어야 한다.

 

마무리

관계형 데이터 모델은 데이터 구조를 엄격하고 명확하게 정의하는 데 초점을 맞춘다. 릴레이션과 그에 따른 다양한 제약조건은 데이터의 무결성과 정합성을 보장하기 위한 핵심적인 요소이다. 실무에서는 테이블 설계 단계에서 이 모델을 기반으로 논리적 스키마를 정하고, 이를 바탕으로 물리적 DB 설계를 진행한다.