데이터베이스 - Chapter 02. 관계 데이터 모델

2coconut·2025년 9월 29일

1. 관계 데이터 모델의 핵심 개념

릴레이션(Relation)

  • 정의: 행(row)과 열(column)로 구성된 테이블
  • 수학적 의미: 카티션 프로덕트의 부분집합
  • 예시: 도서(도서번호, 도서이름, 출판사, 가격)

릴레이션 스키마 (Schema)

  • 정의: 릴레이션의 데이터 구조 (= 테이블의 설계도)
  • 구성 요소:
    • 속성(Attribute): 열(column)
    • 도메인(Domain): 속성이 가질 수 있는 값의 집합
    • 차수(Degree): 속성의 개수
  • 표기법: 릴레이션이름(속성1, 속성2, 속성3, ...)
  • 예시: 도서(도서번호: integer, 도서이름: char(40), 출판사: char(40), 가격: integer)

릴레이션 인스턴스 (Instance)

  • 정의: 스키마에 실제로 저장된 데이터의 집합
  • 구성 요소:
    • 투플(Tuple): 행(row)
    • 카디널리티(Cardinality): 투플의 수

릴레이션 용어 정리

릴레이션 용어같은 의미파일 시스템 용어
릴레이션(Relation)테이블(Table)파일(File)
스키마(Schema)내포(Intension)헤더(Header)
인스턴스(Instance)외연(Extension)데이터(Data)
투플(Tuple)행(Row)레코드(Record)
속성(Attribute)열(Column)필드(Field)

릴레이션의 특징 (중요!)

  1. 속성은 단일 값을 가짐
  2. 속성은 서로 다른 이름을 가짐
  3. 한 속성의 값은 모두 같은 도메인
  4. 속성의 순서는 상관없음
  5. 중복된 투플은 허용 안 됨
  6. 투플의 순서는 상관없음

2. 키(Key)

키의 종류와 관계

슈퍼키 (투플을 식별할 수 있는 속성의 집합)
  ├─ 후보키 (최소성을 만족하는 슈퍼키)
  │   ├─ 기본키 (후보키 중 선정된 대표 키)
  │   └─ 대체키 (선정되지 않은 후보키)
  └─ 외래키 (다른 릴레이션의 기본키를 참조)

1) 슈퍼키 (Super Key)

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

2) 후보키 (Candidate Key)

  • 투플을 유일하게 식별할 수 있는 속성의 최소 집합
  • 최소성 + 유일성

3) 기본키 (Primary Key, PK)

  • 여러 후보키 중 대표로 선정한 키
  • 표기법: 속성에 밑줄
  • 선정 기준:
    • NULL 값 불가
    • 고유한 값
    • 값의 변동이 적을 것
    • 최대한 적은 수의 속성

4) 외래키 (Foreign Key, FK)

  • 다른 릴레이션의 기본키를 참조하는 속성
  • 릴레이션 간의 관계를 표현
  • 특징:
    • NULL 값과 중복값 허용
    • 참조하는(FK)와 참조되는(PK)의 도메인은 같아야 함
    • 자기 자신의 기본키를 참조 가능

3. 무결성 제약조건

1) 도메인 무결성 제약조건

  • 속성값은 정의된 도메인의 값만 가져야 함

2) 개체 무결성 제약조건 (기본키 제약)

  • 기본키는 NULL 값을 가질 수 없음
  • 릴레이션 내에 오직 하나의 값만 존재해야 함

3) 참조 무결성 제약조건 (외래키 제약)

  • 외래키 값은 참조되는 릴레이션의 기본키 값이어야 함
  • 부모 릴레이션 삭제 시 옵션:
    • RESTRICTED: 삭제 거부
    • CASCADE: 관련 투플 함께 삭제
    • DEFAULT: 기본값으로 변경
    • NULL: NULL로 설정

4. 관계대수 (Relational Algebra)

기본 연산자 (5개)

1) 셀렉션 (Selection) σ

  • 목적: 조건에 맞는 투플(행) 선택
  • 예시: σ가격<=8000(도서)

2) 프로젝션 (Projection) π

  • 목적: 원하는 속성(열) 선택
  • 예시: π이름,주소,핸드폰(고객)

3) 합집합 (Union) ∪

  • 두 릴레이션의 모든 투플

4) 차집합 (Difference) −

  • 첫 번째 릴레이션에만 있는 투플

5) 카티션 프로덕트 (Cartesian Product) ×

  • 정의: 두 릴레이션의 모든 가능한 조합
  • 결과: |R| × |S| 개의 투플 생성
  • 예시:
    • 고객(3개 투플) × 주문(4개 투플) = 12개 투플
    • 모든 속성이 합쳐짐
  • 중요: 조인 연산의 기초

유도 연산자

1) 조인 (Join) ⋈

  • 정의: 공통 속성을 기준으로 두 릴레이션을 결합
  • 공식: R⋈S = σc(R × S) (카티션 프로덕트 + 셀렉션)

조인의 종류:
1. 세타조인 (θ): 비교 연산자 사용 (=, ≠, ≤, ≥, <, >)
2. 동등조인: = 연산자 사용
3. 자연조인: 동등조인 + 중복 속성 제거
4. 외부조인:

  • 왼쪽 외부조인 ⟕
  • 오른쪽 외부조인 ⟖
  • 완전 외부조인 ⟗

2) 디비전 (Division) ÷

  • 정의: 속성값의 집합으로 연산
  • 공식: R ÷ S = πA(R) − πA((πA(R) × S) − R)
  • 의미: "모든 S의 값을 가진 R의 A 값"
profile
컴공학생

0개의 댓글