모델링

[Oracle Admin]/modeling 2014. 12. 4. 10:13 |

모델링이란?

: 현업 또는 고객이 요구하는 추상적인 요구사항을 찾아내서 분석 및 검증한 후 적절한 기호를 사용해서 객관적으로 표현하고 물리적으로 구현하는 전체 과정을 의미합니다. 모델링의 종류에는 업무를 기준으로 진행하는 프로세스 모델링, 데이터를 중심으로 진행하는 데이터모델링이 있고, 이 두가지를 함께 진행하는 상관관계 모델링이 있습니다. 프로세스 모델링의 장점은 업무만 잘 분석이 되면 비교적 쉽게 진행할 수 있으나, 단점은 해당 업무가 변경되면 모델링의 결과도 문제가 될 수 있다는 점입니다. 데이터모델링의 장점은 업무가 변경되어도 결과에 크게영향을 주지 않지만, 단점은 조금 더 진행하기 어렵다는 점입니다.

 

*데이터 모델링의 과정

데이터모델링은 개념데이터모델링 -> 논리 데이터모델링 -> 물리데이터모델링 이렇게 3가지 과정으로 진행됩니다. 개념데이터 모델링 과정에서 추상적인 요구사항을 분석하고 정리하면서, ERD(Entity Relationship Diagram)라는 결과물이 만들어지고, 이렇게 분석된 데이터를 객관적인 검증단계를 거치는 것이 논리 데이터 모델링 과정입니다. 이 단계에서 데이터 정규화가 진행됩니다. 그리고나서 물리데이터모델링 과정에서는 실제 데이터베이스 제품에 맞도록 구현합니다.

 

* 정규화란 ?

 우선 정규화를 설명하기에 앞서, 모델링에 대해 간략하게 설명해보면, 모델링의 종류에는 프로세스 모델링, 데이터모델링, 상관관계 모델링이 있습니다. 이 중 데이터모델링은 업무보다는 데이터를 중심으로 진행하는데, 이 과정이 개념데이터 모델링 -> 논리데이터 모델링 -> 물리데이터 모델링의 3가지 과정으로 진행됩니다. 개념데이터모델링 과정에서 추상적인 요구사항을 분석하고 정리하여 산출된 entity들이 있는데요, entity들이 가지고 있는 속성들을 다양한 검사를 통해 점검해서 Anomaly아노말리(기형,변칙)를 없애고, 중복된 데이터가 없도록 만들어 가는 과정을 정규화라고 합니다.

(1) 1차 정규화

: 1차 정규화는 여러 개의 속성값을 가진 속성이 있을 경우 각자 1개의 개별 속성을 가지도록 분리를 하는 것을 말합니다. 즉 중복 속성을 가진 값을 분리해서 상위 테이블로 생성하게 됩니다. 문제점은 한 테이블에서 어떤 주식별자인 속성이 삭제될 경우, 그 해당 속성에 종속되어 있던 남은 속성들도 같이 삭제되는 문제가 발생하게 됩니다. 이런 경우 2차정규화를 통해 해결할 수 있습니다.

(2) 2차 정규화

 : 2차 정규화는 주 식별자가 복합 식별자인 경우에만 적용이 되는데, 주 식별자 전체에 종속적이지 않는 속성을 분리하여 다른 테이블로 생성하는 것을 말합니다. 문제점은 나눠진 테이블 안에서도, 주 식별자인 속성이 삭제될 경우 그 주식별자에 속해있던 다른 속성들도 같이 삭제되는 문제가 발생하게 됩니다. 이런 경우 3차 정규화를 통해 해결할 수 있습니다.

(3) 3차 정규화

 : 3차 정규화는 주 식별자가 아닌 다른 속성에 종속적인 속성을 분리하여 또 테이블을 나눠 생성하는 것을 말합니다.

(4) BCNF ( 보이스-코드 정규화 )

 : 1,2,3차 정규화는 모두 테이블에 주 식별자가 1 개만 존재할 경우를 대상으로 한 것인데, 3차 정규화까지 마친 후에도 주 식별자가 여러 개 존재할 경우 식별자가 중복되는 현상을 제거하기 위해 주 식별자가 되는 칼럼을 분리시켜 서로 다른 테이블에 존재하도록 정규화를 수행하는 방법입니다.

(5)4차정규화 : 다 치 (Multi value )속성을 분리하는 정규화를 말합니다.

(6) 5차정규화 : 결합종속일경우 두 개 이상의 값으로 분리하는 정규화를 말합니다.

Print Friendly and PDF Posted by JJ*
: