Beny's Study

04. 논리 모델링(정규화) 본문

[DB]/02. DB모델링

04. 논리 모델링(정규화)

76beny 2022. 5. 9. 21:59

논리적 모델링 단계

 

정규화

■  논리 데이터 모델 상세화 과정에 대표적인 활동으로 관계형 데이터베이스에서 데이터를 구조화하는 작업
   (일관성 확보 및 중복 제거 → 엔티티에 적절한 속성을 배치하여 신뢰성 있는 데이터 구조를 얻음)


■ 일반적으로 정규화를 수행하면 입력, 수정, 삭제 등 종합적인 성능이 향상되지만
   조회의 경우 처리 조건에 따라 성능이 향상 또는 저하될 수도 있음

 

 

정규화 목적

■ 데이터 중복을 방지하고 보다 효율적으로 데이터를 저장하기 위해
■ 자료의 손실이나 불필요한 정보의 도입 없이 데이터의 일관성, 데이터 중복을 최소화
■ 최대의 데이터 안정성 확보를 위하여 안정적인 자료구조로 변환 (하나의 테이블을 둘 이상으로 분리)
■ 하나의 엔티티에는 하나의 의미만 존재하도록 분해하는 작업

 

이상(Anomaly)

■ 갱신, 삽입, 삭제 이상을 통틀어 ‘변경 이상’이라고 함
■  정규화를 미 진행하거나 제대로 진행되지 않은 엔티티를 대상으로 갱신, 삽입, 삭제 시 이상이 발생할 개연성을 가짐
     → 신뢰할 수 없는 데이터로 채워질 수 있음 (데이터의 일관성 및 무결성 침해)

 

1) 삭제 이상(delete) : 유용한 정보를 함께 삭제하지 않는 이상 어떤 정보를 삭제 불가능 (자료 손실)

 

2) 삽입 이상(insert) : 불필요한 정보를 함께 저장하지 않고는 어떤 정보를 저장 불가능 (불필요한 정보 도입)

 

3) 갱신 이상(update) : 반복된 데이터 중 일부만 수정하면 데이터의 불일치 발생 (데이터의 일관성 침해

 

정규화의 단점

■ 정규화를 통해 테이블이 많아질수록 join이 더 많이 일어남
■ 조회의 경우 처리 조건에 따라 성능이 향상 또는 저하될 수 있음
■ 저하되는 경우 반정규화를 통해 해결이 가능하지만 반정규화가 무조건적인 답은 아님

 

 

 

 

제 1정규화

■  엔티티에서 하나의 속성이 복수의 값을 갖도록 설계되었을 때  하나의 속성이 단일 값을 갖도록 하는 것

제 2정규화

■  주식별자가 아닌 속성 중에서 주식별자 전체가 아닌 일부 속성에 종속된 속성을 찾아 제거하는 것

제 3정규화

■  주식별자가 아닌 속성들 중에서 종속 관계에 있는 속성을 찾아 제거하는 것

 

 

정규화가 필요없는 설계기법

■ 원칙1  : 장부나 전표에서 머리부와 서술부는 별도의 엔티티로 저장한다.

 

■ 원칙2 : 코드-코드 값의 관계에 있는 속성들은 별도의 엔티티로 구성한다.

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."

 

'[DB] > 02. DB모델링' 카테고리의 다른 글

06. 반정규화(De-Nomalization)  (0) 2022.05.09
05. 물리적 모델링  (0) 2022.05.09
03. 개념 모델링(엔티티 도출 및 ERD 설명)  (0) 2022.05.09
02. 도메인  (0) 2022.05.09
01. 모델링(UML)의 개요 및 DB모델링 개념  (0) 2022.05.09