728x90

정규화 2

정규화와 반정규화

정규화란 ? 데이터의 중복성의 제거하여 여러 엔티티의 조인이 발생하는 데이터베이스 환경에서 성능을 향상시키기 위한 데이터 구조화 프로세스 정규화의 방법 - 낮은 차수의 정규화를 만족한 상태로 높은 차수의 정규화를 진행 정규화 단계 1) 제1정규화 - 중복되는 컬럼제거 2) 제2정규화 - 종속되는 값 제거 3) 제3정규화 - 엔티티(테이블명)에 맞는 데이터로 분리 반정규화란 ? 정규화로 인해서 테이블의 수가 증가하게 되면, 다수의 JOIN이 발생함에 따라 성능 저하가 발생할 수 있음. 이 문제를 해결하고자 정규화 과정이 모두 마무리 한 다음 반정규화를 실시한다. 단, 테이블을 합치는 것만이 반정규화는 아니다. 1) 그룹에 대한 합계 같은 값을 미리 계산하여 테이블에 저장 (기존 테이블을 Sum 하여 확인하..

Database 2020.10.29

★ 027 논리 데이터베이스 설계[정규화(Nomalization)]

1. 정규화의 개요 - 정규화 : 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정 - 즉, 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정 - 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어남 - DB의 논리적 설계 단계에서 수행되며, 논리적 처리 및 품질에 큰 영향을 준다. - 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장한다. - 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고, 데이터 정확성이 높아지는 반면, 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하된다. ​ 2. 정규화 목적 - 데이터 구조의 안정성 및 무결성을 유지한다. - 어..

정보처리기사 2020.06.05
728x90