정규화
→ 데이터 베이스 이상현상의 원인이 되는 데이터 중복성을 제거하여 데이터의 무결성을 보존하는 기법
* 정규화 단계
- 제1정규화(1NF)
→ 릴레이션 R의 모든 속성 값이 원자값을 가지는 릴레이션
- 제2정규화(2NF)
→ 릴레이션 R이 제1정규형이고 기본키가 아닌 속성이 기본키에 완전함수 종속일때
- 제3정규화(3NF)
→ 릴레이션R이 제2정규형이고 기본키가 아닌 속성이 기본키에 비이행적 nontransitive으로 종속할때 (직접종속)
- 보이스/코드 정규화(BCNF)
→ 릴레이션 R에서 함수 종속성 X → Y가 성립할 때 모든 결정자 X가 후보키일 때
- 제 4정규화(4NF)
→ 릴레이션 R에서 MVD A → B가 존재할 때 R의 모든 속성들이 A에 함수종속(FD)이면 R은 4NF(즉 R의 모든 속성X에 대해 A → X이고 A가 후보키)
- 제 5정규화(5NF)
→ 릴레이션 R에 존재하는 모든 조인종속(Join Dependency)이 R의 후보키를 통해 성립되면 R은 5NF
*
- 완전 함수 종속
→ 일반 속성이 식별자 전부에 종속
- 부분 함수 종속
→ 일반 속성이 식별자 일부에 종속
→ 제2 정규화 필요
- 이행 함수 종속
→ 일반속성 간 함수적 종석
→ 제 3정규화 필요
- 결정자 함수종속
→ 결정자가 후보키가 아닌 경우 존재, 후보키에 종속자 존재
→ BCNF 정규화 필요
* 정규화의 무손실 과정
비정규 릴레이션
→ 원자값이 아닌 도메인을 분해 → 1NF
→부분함수 종속제거 → 2NF
→ 이행함수 종속제거 → 3NF
→ 결정자가 후보키가 아닌 함수종석(FD) 제거 → BCNF
→ 함수종속이 아닌 다치종속(MVD) 제거 → 4NF
→ 후보키를 통하지 않은 조인종속(JD) 제거 → 5NF
* 비정규화
- 개념
→ 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위를 말함
→ 정규화된 엔티티,속성,관계를 시스템의 성능 향상, 개발과 운영을 단순화하기 위해 데이터 모델을 통합
→ 데이터 정합성과 데이터 무결성을 우선으로 할지 데이터 구성의 단순화와 성능을 우선으로 할지 결정
데이터베이스 키
'Software 공부 > Software Database Knowledge' 카테고리의 다른 글
[Database][SQL Query] 데이터 조작어 (0) | 2022.07.18 |
---|---|
[Database][SQL Query] 데이터 정의어 (0) | 2022.07.18 |
[Database][SQL Query][데이터베이스 이상] (0) | 2022.07.17 |
[Database][기본] Data의 종류, Database의 종류 (0) | 2022.07.17 |