[데이터 모델링] 데이터모델링 이해 (단계, ER 다이어그램, 데이터베이스 정규화)

 

데이터모델링의 단계와, ERD 다이어그램, 데이터베이스 정규화에 대한 내용을 구분하여 알아보고자 한다.

 

데이터 모델링의 단계 :

데이터 모델링은 현실세계의 기업 업무에서 발생하는 데이터를 물리적 으로 데이터베이스화하기 위한 과정

 

데이터 모델링 단계
데이터 모델링 단계

개념 데이터 모델링, 논리 데이터 모델링, 물리 데이터 모델링의 3단계 로 나눌 수 있으며 물리 데이터 모델링은 물리적 설계라고도 함


― 개념 데이터 모델링 : 조직 또는 사용자의 데이터 요구사항을 찾아 분석하며 핵심 엔티티와 그들 간의 관계를 발견
― 논리 데이터 모델링 : 개념 데이터 모델링 단계에서 정의한 핵심 엔 티티와 관계를 기반으로 하여 상세 속성을 정의하고 식별자를 확정 하는 등 정규화와 같은 상세화 과정을 수행
― 물리 데이터 모델링 : 논리 데이터 모델을 기반으로 목표 DBMS의 특성과 구현 환경 등을 감안한 데이터 구조를 도출하고 컬럼의 데 이터 타입과 크기를 정의

 

 

ERD(Entity Relationship Diagram) 정의 :

ERD(Entity Relation Diagram)는 엔티티와 이들 간의 관계를 알기 쉽게 약속된 도형을 사용하여 일목요연하게 그림으로 표현

ER모델의 구성요소는 엔티티(Entity), 관계(Relationship), 속성(Attribute) 을 기본으로 하여 관게수, 식별자, 서브타입 등으로 세분화 할 수 있음

 

― 문장 형식의 업무 처리 규정을 약속된 도형 형태로 나타내어 전체 업무 및 데이터의 구조를 쉽게 파악할 수 있음
― 문장으로 기술하지 않고 공통적인 약속을 통해 표현함으로써 업무의 파악과 이해가 용이함
― 데이터베이스를 구현할 때 정규화(Normalization)된 테이블을 만들기 위한 근거 자료로 활용

 

엔티티(Entity)

 

의미 있는 유용한 정보를 제공하기 위하여 기록‧관리하고자 하는 데이 터의 유형으로 사람, 사물, 장소, 개념 또는 사건 등을 표현

 

    ― 현업에서 관리하고자 하는 데이터를 엔티티라고 하며, 특징을 표현 하기 위한 하나 이상의 속성이 있어야 함

 

관계(Relationship)

 

엔티티 간에 존재하는 업무의 상호연관성으로 해당 엔티티와 관련된 업무가 수행되는 규칙을 의미

 

    ― 업무가 변경됨에 따라 관계는 변할 수 있음

    ― 두 엔티티 사이의 관계에 따라 1:N, 1:1, M:M 관계로 분류

 

속성(Attribute)

 

엔티티와 관계의 성질을 나타내는 쪼갤 수 없는 정보의 단위로 엔티 티에 저장되는 개체 집합의 특성을 설명하는 항목

 

    ― 속성은 식별자와 설명자로 구분할 수 있음

 

데이터베이스 정규화 :

이상발생요인인 데이터의 중복을 최소화하기 위하여 속성들간의 관계인 함수적 종속성을 기반으로 일정한 조건을 만족하는 형태로 엔티티 를 분해해가는 과정

이상(Anomaly) 현상은 데이터 입력시 발생하는 입력이상, 데이터 수정 시 발생하는 수정이상, 데이터 삭제시 발생하는 삭제이상 등이 있음 

 

 

― 정규화되지 않은 스키마의 경우 중복에 따른 이상현상을 비롯하여 특 정 정보의 표현 불가현상, 널(NULL) 값의 보유 등의 문제점을 내포

 

― 삽입 이상 : 입력시 불필요한 데이터가 같이 입력되는 현상

― 수정 이상 : 일부 데이터 갱신시 특정 속성값이 불일치 되는 현상

― 삭제 이상 : 데이터 삭제시 유지해야할 정보가 같이 삭제되는 현상

 

데이터베이스 정규화 절차 :

함수 종속성을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되 도록 분해해서 이상현상이 발생하지 않도록 Step By Step Approach 로 수행

기본 정규형으로는 제 1‧2‧3‧보이스/코드 정규형이 있으며, 제 4‧5 정규형 은 고급 정규형으로 분류

 

― 제 1차 정규형 : 반복 또는 복수 값을 갖는 속성을 제거(반복 그룹 제거)하며 모든 속성은 반드시 하나의 값을 가져야 함

― 제 2차 정규형 : 기본 키(Primary Key)에 종속되지 않는 속성을 제거하며 모든 속성은 반드시 기본 키 완전 함수 종속이어야 함

― 제 3차 정규형 : 기본 키가 아닌 일반 속성에 종속적인 속성을 제 거하며 기본 키가 아닌 모든 속성 간에는 서로 종속될 수 없음(이행종속성 제거)

+ Recent posts