1. 정규화의 개요
- 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
- 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
- 정규형의 종류 : 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형 - 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어남
- 데이터베이스의 논리적 설계 단계에서 수행
- 논리적 처리 및 품질에 큰 영향을 미침
- 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장
- 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지는 반면 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하됨
2. 정규화의 목적
- 데이터 구조의 안정성 및 무결성을 유지
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듦
- 효과적인 검색 알고리즘 생성
- 데이터 중복을 배제하여 이상의 발생 방지 및 자료 저장 공간의 최소화가 가능
- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
- 데이터 모형의 단순화가 가능
- 속성의 배열 상태 검증이 가능
- 개체와 속성의 누락 여부 확인이 가능
- 자료 검색과 추출의 효율성을 추구
3. 이상 Anomaly 의 개념 및 종류
- 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생
- 이상의 종류
- 삽입 이상 Insertion Anomaly : 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
- 삭제 이상 Deletion Anomaly : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
- 갱신 이상 Update Anomaly : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
4. 정규화의 원칙
- 정보의 무손실 표현, 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안 됨
- 분리의 우너칙, 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현
- 데이터의 중복성이 감소되어야 함
5. 정규화 과정
- 1NF (제1정규형)
- 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 정규형
- 릴레이션의 모든 속성 값이 원자 값으로만 되어 있는 정규형
- 릴레이션의 모든 속성이 단순 영역에서 정의
- 2NF (제2정규형)
- 릴레이션 R이 1NF이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
- 함수적 종속 / 완전/부분 함수적 종속 및 이해
- 함수적 종속 functional Dependency
- 함수적 종속은 데이터들이 어떤 기준값에 의해 종속되는 것을 의미
- 완전 함수적 종속
- 어떤 테이블 R에서 속성 A가 다른 속성 집합 B 전체에 대해 함수적 종속이지만 속성 집합 B의 어떠한 진부분 집합 C 에는 함수적 종속이 아닐 때 속성 A는 속성 집합 b에 완전 함수적 종속이라고 함
- 부분 함수적 종속
- 어떤 테이블 R에서 속성 A가 다른 속성 집합 B 전체에 대해 함수적 종속이면서 속성 집합 B의 어떠한 진부분 집합에도 함수적 종속일 때, 속성 A는 속성 집합 B에 부분 함수적 종속이라고 함
- 완전/부분 함수적 종속의 이해
- 완전 함수적 종속은 어떤 속성이 기본키에 대해 완전히 종속적일 때를 말함
- 함수적 종속 functional Dependency
- 함수적 종속 / 완전/부분 함수적 종속 및 이해
- 릴레이션 R이 1NF이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
- 3NF (제3정규형)
- 릴레이션 R이 2NF이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
- 이행적 종속 관계 : A → B이고 B → C 일 때 A → C를 만족하는 관계를 의미
- 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF 설계를 얻을 수 없음
- 릴레이션 R이 2NF이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
- BCNF (Boyce-Codd 정규형)
- 릴레이션 R에서 결정자가 모두 후보키인 정규형
- 결정자 / 종속자
- 결정자 : 속성 간의 종속성을 규명할 때 기준이 되는 값
- 종속자 : 결정자의 값에 의해 정해지는 값을 의미
- 결정자 / 종속자
- 3NF에서 후보키가 여러 개 존재하고 서로 중첩되는 경우에 적용하는, 강한 제3정규형이라고도 함
- 모든 BCNF가 종속성을 보존하는 것은 아님
- BCNF의 제약 조건
- 키가 아닌 모든 속성은 각 키에 대하여 완전 종속해야 함
- 키가 아닌 모든 속성은 그 자신이 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야 함
- 어떤 속성도 키가 아닌 속성에 대해서는 완전 종속할 수 없음
- 릴레이션 R에서 결정자가 모두 후보키인 정규형
- 4NF (제4정규형)
- 릴레이션 r에 다치 종속 A ↠ B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
- 다치 종속 (다기 종속) : 릴레이션 R에서 어떤 복합 속성(A, C)에 대응하는 B 값의 집합이 A 값에만 종속되고 C값에는 무관하면, B는 A에 다치 종속이라 하고, ' A ↠ B'로 표기
- 릴레이션 r에 다치 종속 A ↠ B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
- 5NF (제5정규형, PJ/NF)
- 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
- 조인 종속 : 릴레이션 R이 자신의 프로젝션을 모두 조인한 결과가 자신과 동일한 경우 릴레이션 R은 조인 종속을 만족한다고 함
- 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 데이터베이스 설계 - 069. 시스템 카탈로그 (1) | 2025.02.14 |
---|---|
[정보처리기사 필기] 데이터베이스 설계 - 068. 반정규화 Denormalization (0) | 2025.02.14 |
[정보처리기사 필기] 데이터베이스 설계 - 066. 관계 대수 및 관계 해석 (0) | 2025.02.14 |
[정보처리기사 필기] 데이터베이스 설계 - 065. 관계형 데이터베이스의 제약 조건 - 무결성 (0) | 2025.02.13 |
[정보처리기사 필기] 데이터베이스 설계 - 064. 관계형 데이터베이스의 제약 조건 - 키 Key (0) | 2025.02.13 |