MySQL

[MySQL] 50. 정규화(4) -제 3 정규화(3NF)

Song hyun 2024. 7. 8. 15:11
728x90
반응형

[MySQL] 50. 정규화(4) -제 3 정규화(3NF)

 

 

1. 제 3 정규형이란?

-제 3 정규형은 데이터베이스 테이블이 제 2 정규형을 만족하며, 추가적으로 모든 비기본 키 속성이 기본키에만 종속되고, 기본 키가 아닌 다른 속성에는 종속적이지 않아야 한다.

=> 이를 '이행적 종속성이 없어야 한다' 라고 한다.

=> 이행적 종속= A->B, B->C의 종속 관계에서 A가 B에 종속되고, B가 C에 종속될 때, 간접적으로 A가 C에 종속되게 된다.

 

 

2. 정규화의 장점

(1) DB 수정 시 이상 현상(Anomaly)이 제거된다.

(2) DB 구조 확장 시, 디자인 최소화가 가능하다. (데이터 구조의 안전성 및 무결성 유지)

(3) 정규화된 DB 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 된다.

(4) 이는 데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 미치게 되고, 응용 프로그램의 생명을 연장 시킨다.

(5) 사용자에게 데이터 모델을 더욱 의미있게 제공된다.

(6) 정규화된 테이블들과 정규화된 테이블들간의 관계들은 현실세계에서의 개념들과 그들간의 관계들을 반영한다.

(7) 저장 공간의 최소화 가능

(8) 효과적인 검색 알고리즘 생성 가능

(9) 데이터 삽입 시 릴레이션 재구성의 필요성 감소

 

 

3. 정규화의 단점

(1) 조인의 증가

(2) 성능 저히

(3) 응답 시간의 지연

=>위와 같은 단점, 또는 조회하는 SQL 문장에서 조인이 많이 발생하여 이로 인한 성능 저하가 나타나는 경우, 반 정규화를 적용하는 전략이 필요할 수도 있다.

728x90
반응형