5장: 관계 데이터 모델(Relational Data Model) 완전 정리
데이터베이스의 논리적 설계를 이해하려면 관계 데이터 모델(Relational Data Model)에 대한 이해가 필수입니다. 이 장에서는 릴레이션(Relation)의 기본 구성 요소부터 다양한 키의 역할, 무결성 제약 조건까지 체계적으로 정리합니다.
1. 관계 데이터 모델이란?
관계 데이터 모델은 현실 세계의 개념적 구조를 논리적인 구조로 표현한 데이터베이스 모델입니다. 주요 특징은 모든 데이터를 릴레이션(Relation), 즉 2차원 테이블의 형태로 저장한다는 점입니다.
각 릴레이션은 하나의 개념 또는 엔터티를 표현하며, 해당 릴레이션의 각 행(투플)은 실제 데이터를 의미합니다.
2. 관계 데이터 모델의 기본 용어
- 속성(Attribute) : 테이블의 열(Column), 하나의 특성
- 투플(Tuple) : 테이블의 행(Row), 하나의 레코드
- 도메인(Domain) : 속성이 가질 수 있는 값들의 집합 (예: 성별 → {남, 여})
- 널(Null) : 값이 존재하지 않음을 의미
- 차수(Degree) : 릴레이션이 가진 속성(열)의 개수
- 카디널리티(Cardinality) : 릴레이션에 저장된 투플(행)의 수
3. 릴레이션의 구성 요소
- 릴레이션 스키마: 릴레이션의 구조(속성명, 도메인 등) → 정적
- 릴레이션 인스턴스: 실제 저장된 데이터 집합(투플) → 동적
→ 데이터베이스 스키마는 릴레이션 스키마들의 모음이고,
데이터베이스 인스턴스는 그 시점에 저장된 데이터들의 집합입니다.
4. 릴레이션의 특성
- 투플의 유일성: 동일한 투플(행)이 존재할 수 없음
- 투플의 무순서: 테이블의 행 순서에는 의미 없음
- 속성의 무순서: 열의 순서도 의미 없음
- 원자성(Atomicity): 각 속성에는 더 이상 나눌 수 없는 원자 값만 저장
원자성이 깨지면 정규화 과정에서 문제가 발생할 수 있습니다. 예: "주소"에 시/구/동이 함께 저장되어 있으면 정규화를 어렵게 만듭니다.
5. 키(Key)의 개념과 종류
키는 릴레이션 내에서 각 투플을 유일하게 식별하기 위해 사용됩니다. 키는 다음과 같은 조건을 만족해야 합니다.
- 유일성: 모든 투플을 고유하게 식별해야 함
- 최소성: 불필요한 속성을 포함하지 않아야 함
키의 종류
- 슈퍼키(Super Key): 유일성만 만족하는 속성의 집합
- 후보키(Candidate Key): 유일성과 최소성 모두 만족
- 기본키(Primary Key): 후보키 중 대표로 선택된 키 (밑줄로 표시)
- 대체키(Alternate Key): 기본키로 선택되지 않은 후보키
- 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 키
기본키의 조건
- 고유한 값
- NULL 값 불가
- 자주 변경되지 않음
- 최대한 적은 수의 속성으로 구성
외래키는 동일 릴레이션 안의 기본키를 참조할 수도 있으며, NULL 값이 허용되기도 합니다.
6. 무결성 제약조건
데이터의 정확성과 신뢰성을 유지하기 위해 무결성 제약조건(Integrity Constraints)이 필요합니다. 이 조건들은 데이터 입력, 수정, 삭제 시 데이터의 일관성을 유지합니다.
① 개체 무결성 제약(Entity Integrity)
기본키에 대한 제약
- 삽입: 기본키 값은 반드시 존재하고 중복되지 않아야 함
- 수정: 기존 기본키를 NULL 또는 중복된 값으로 수정 불가
- 삭제: 삭제는 자유롭게 가능
② 참조 무결성 제약(Referential Integrity)
외래키에 대한 제약
- 삽입: 외래키 값은 참조하는 릴레이션의 기본키 값 중 하나여야 함
- 수정: 외래키 값을 변경할 경우 참조 릴레이션에 존재하는 값이어야 함
- 삭제: 기본키를 삭제할 경우 이를 참조하는 외래키가 존재하면 오류 발생하거나 CASCADE 처리가 필요
무결성 제약조건이 없다면 잘못된 데이터가 저장될 수 있으며, 이는 시스템 전반의 오류로 이어질 수 있습니다.
🔍 핵심 요약
- 관계형 데이터 모델은 데이터를 2차원 테이블 형태로 표현
- 릴레이션은 속성, 투플, 도메인 등으로 구성되며 고유성과 원자성 등의 특성을 가짐
- 키는 투플을 고유하게 식별하기 위해 필수적이며 여러 종류가 있음
- 무결성 제약조건은 데이터의 일관성과 신뢰성을 보장
다음 장에서는 정규화(Normalization)를 통해 데이터 중복을 제거하고, 관계형 데이터 구조를 최적화하는 기법을 살펴보겠습니다!
반응형
'과목공부 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] DB DDL (데이터 정의어) 정리 (0) | 2025.06.15 |
---|---|
[데이터베이스] DB 관계 데이터 연산(Relational Data Operations) 완전 정리 (0) | 2025.06.15 |
[데이터베이스] DB 데이터 모델링 및 관계형 모델 (3) | 2025.06.14 |
[데이터베이스] DB 데이터베이스 시스템 이해와 구성 (0) | 2025.06.14 |
[데이터베이스] DB 데이터베이스 개요와 DBMS의 필요성 (0) | 2025.06.14 |