🔖Contents
🔥학습목표
1. 데이터베이스 설계 과정에서 발생할 수 있는 이상현사으이 종류와 원인을 알아본다.
2. 함수 종속성의 개념을 이해하고 관련 규칙을 알아본다.
3. 함수 종속성을 이용한 정규화 과정을 알아본다.
PREVIEW
데이터베이스 설계 과정을 거쳐 테이블이 생성되지만, 잘못 설계된 테이블로 데이터 조작 작업을 하면 이상현상이 발생할 수 있다. 이상현상은 데이터베이스의 일관성을 손상시켜 데이터의 무결성을 깨뜨리는 현상을 의미한다. 이 문제를 해결하려면 속성 간의 함수 종속성을 파악하여 테이블올 몇 가지 규칙에 따라 분해해야 한다. 이러한 과정을 정규화라고 한다. 정규화는 잘못 설계된 테이블을 수정하여 데이터의 일관성과 무결성을 회복시키는 프로세스다. 정규화를 통해 테이블을 분해하면 데이터의 중복성과 종속성을 제거하여 데이터베이스의 효율성과 유지보수성을 향상시킬 수 있다. 정규화는 데이터베이스 설계에서 매우 중요한 단계로, 데이터의 논리적 구조를 개선하고 데이터베이스의 성능을 최적화하는 데 도움이 된다. 이 장에서는 이상현상, 함수 종속성, 정규화 등의 개념에 대해 알아보고, 실제 사례를 통해 정규화의 원리와 방법을 학습한다.
01 이상현상
잘못 설계된 테이블로 삽입, 삭제, 수정 같은 작업을 했을 때 생기는 현상으로 데이터베이스의 일판성을 훼손하여 데이터의 무결성을 깨뜨린다.
- 삭제이상: 투플 삭제 시 하나의 정보를 삭제함으로써 같이 저장된 다른 정보가 연쇄적으로 삭제되는 현상이다.
- 삽입이상: 투플 삽입 시 제공되지 못하는 속성값을 NULL 값으로 입력해야 하는 현상이다.
- 수정이상: 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치가 일어나는 현상이다.
02 함수 종속성
릴레이션 R과 R에 속하는 속성의 집합 X. Y가 있을 때, X 각각의 값이 Y 값 한 개와 대응되면 X는 Y를 함수적으로 결정한다'라고 하고 X → Y로 표기한다.
03 정규화
릴레이션을 분해하여 이상현상을 제거하는 과정이다.
- 제1정규형(1NF): 어떤 릴레이션 R의 모든 속성값이 원자값을 가지면 제1정규형을 만족한다.
- 제2정규형(2NF): 어떤 릴레이션 R이 제1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제2정규형이라고 한다.
- 제3정규형(3NF): 어떤 릴레이션 R이 제2정규형이고 기본키가 아닌 속성이 기본키에 비이행적으로 종속할 매(직접 종속) 제3정규형이라고 한다.
- BCNF(Boyce Codd Normal Form): 함수 종속성 X → Y가 성립할 때 모든 결정자 X가 후보키이면 BNCF다.
04 무손실 분해
릴레이션 R을 릴레이션 R1과 R2로 분해했을 빼, R1D<R2 = R이면 무손실 분해라고 한다. 무손실 분해가 되려면 R1 ∩ R2 →R1이나 R1 ∩ R2 →R2 중 한 가지 조건만 만족하면 된다.




'📚Read' 카테고리의 다른 글
| MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 08 트랜잭션, 동시성 제어, 회복 (0) | 2025.11.25 |
|---|---|
| MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 06 데이터 모델링 (0) | 2025.11.25 |
| MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 05 데이터베이스 프로그래밍 (0) | 2025.11.24 |
| MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 04 SQL 고급 (0) | 2025.11.24 |
| MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 03 SQL 기초 (0) | 2025.11.24 |