스물두줄

정보관리기술사 · 개념서 · 데이터베이스

데이터 모델링

설명 영상 데이터 모델링 · 2:57

왜 배우는가: 데이터 모델링은 업무 요구사항을 RDBMS 구조로 바꾸는 설계의 출발점이라 실무에서 설계 품질을 좌우한다. 개념·논리·물리 모델의 단계 구분과 식별·비식별 관계는 정보관리기술사 시험에서 용어형과 논술형 모두에 반복해서 나온다.

출제 이력: 제133회 4교시 4번, 제118회 1교시 3번

1. 한 줄 정의와 핵심 키워드

데이터 모델링은 업무 요구사항을 개념·논리·물리 단계를 거쳐 RDBMS의 테이블·키·관계 구조로 변환하는 설계 활동이다.

핵심 키워드는 다음과 같다.

  • 데이터 모델링
  • 개념 데이터 모델(CDM)
  • 논리 데이터 모델(LDM)
  • 물리 데이터 모델(PDM)
  • ERD
  • 식별 관계
  • 비식별 관계
  • 정규화

2. 개념 풀이

쉽게 말하면 데이터 모델링은 현실 업무를 컴퓨터가 저장할 수 있는 데이터 구조로 옮기는 일이다. 업무에서 어떤 대상(고객, 주문, 계좌)이 있고 그 대상들이 어떻게 얽히는지를 먼저 그린 뒤, 그것을 테이블과 컬럼으로 바꾼다.

정식으로는 데이터 모델링을 데이터 모델링 기법을 사용해 데이터 모델을 생성하는 프로세스로 정의한다. 데이터 모델은 엔티티 유형, 속성, 관계, 무결성 규칙으로 구성되며 데이터베이스 설계의 시작점이 된다.

데이터 모델링 단계는 추상화 수준에 따라 세 가지로 나눈다. 개념 단계에서는 기술과 무관하게 업무 개념과 관계를 정의한다. 논리 단계에서는 특정 데이터 모델(관계 데이터 모델)에 맞춰 엔티티, 속성, 식별자, 정규형을 정한다. 물리 단계에서는 DBMS의 기능과 제약을 반영해 테이블, 데이터 타입, 인덱스, 저장 구조를 정한다.

엔티티(Entity) 는 업무에서 데이터로 관리할 대상이다. 속성(Attribute) 은 엔티티가 가지는 데이터 항목이다. 관계(Relationship) 는 엔티티 사이의 연결이며, 관계의 종류에 따라 식별 관계와 비식별 관계로 나뉜다.

주식별자(Primary Identifier) 는 엔티티의 인스턴스를 유일하게 구분하는 속성의 집합이다. 주식별자는 NULL일 수 없고, 변하지 않는 값이어야 한다.

모델은 현실 세계를 단순화해 표현한 것이다. 모델링은 그 모델을 만드는 변환 과정이며, 데이터베이스 설계의 핵심이다. 추상화는 현실의 복잡한 상황에서 필요한 특징만 골라 표현하는 일이다.

3. 등장 배경과 필요성

초기 파일 기반 처리에서는 같은 데이터가 여러 파일과 프로그램에 중복 저장되었다. 이로 인해 갱신 이상, 삽입 이상, 삭제 이상이 생기고 데이터 일관성을 지키기 어려웠다. 데이터를 조직 자원으로 관리하려면 업무 단위의 데이터 구조를 먼저 정의하고 공유하는 방식이 필요해졌다.

관계형 데이터 모델은 테이블과 키로 데이터를 표현해 구조가 단순하고 통일적이다. 그러나 테이블 구조가 업무와 맞지 않으면 조인이 늘어나고 성능과 유지보수가 나빠진다. 따라서 업무 개념에서 출발해 단계별로 정제하는 모델링이 필요하다.

모델링은 개발 기간과 비용을 줄이는 효과도 있다. 개념·논리 모델은 비즈니스 이해관계자와 개발자, 테스터가 같은 구조를 보고 합의하는 공통 언어가 된다. 데이터 요소를 재사用하고 여러 정보 시스템을 통합하는 기반도 된다.

[[WARN]]

4. 구성요소·원리·절차

데이터 모델링은 엔터티, 속성, 관계, 식별자의 네 요소로 업무 데이터를 표현한다. 각 요소는 물리 단계에서 테이블, 컬럼, 키로 대응된다.

구성요소정의예시물리 대응
엔터티(Entity)관리 대상이 되는 사물·사건의 집합고객, 주문테이블
속성(Attribute)엔터티가 가진 데이터 항목고객명, 주문일자컬럼
관계(Relationship)엔터티 사이의 연결고객과 주문, 1:N외래키(FK)
식별자(Identifier)인스턴스를 유일하게 구분하는 속성주문번호기본키(PK)

엔터티는 두 개 이상의 인스턴스를 가져야 하며, 속성은 식별자를 포함해 업무 의미를 설명해야 한다. 관계는 참여도와 선택성(필수·선택)을 함께 표기한다. 식별자는 한 엔터티에서 값이 중복되지 않는 속성 또는 속성 집합이다.

원리는 정규화(Normalization)와 무결성 제약이다. 정규화는 함수 종속을 분해해 중복과 이상(Anomaly) 현상을 줄인다. 무결성 제약은 기본키의 유일성, 외래키의 참조 일치, 도메인 규칙으로 데이터 정합성을 지킨다. 데이터 모델링의 핵심은 중복을 줄이고 제약으로 정합성을 지키는 것이다.

데이터 모델링 단계

수행 절차는 다음과 같다.

  • 업무 요구사항을 수집하고 핵심 업무 프로세스를 정의한다.
  • 개념 ERD로 주요 엔터티와 관계를 도출한다.
  • 논리 ERD에서 속성, 식별자, 관계의 식별 여부를 정하고 정규화한다.
  • 물리 모델에서 테이블, 데이터 타입, 인덱스, 파티션을 설계한다.
  • DDL로 구현하고 질의 성능과 무결성을 검증한다. 결과가 나쁘면 논리 단계로 되돌아가 반정규화를 검토한다.

5. 관련 법령·기준·표준

데이터 모델링 자체를 규정하는 법령 기준은 없다. 다만 공공 분야 데이터 표준과 개인정보 처리에 관한 법령이 모델 설계에 영향을 준다. 「공공데이터의 제공 및 이용 활성화에 관한 법률」은 공공데이터의 표준화와 품질 관리를 요구한다. 「개인정보 보호법」은 개인정보처리자에게 개인정보의 안전성 확보에 필요한 조치를 취하도록 요구한다. 두 법은 모델의 속성 수준에서 민감정보 분리와 마스킹을 설계에 반영하게 한다.

정규화와 식별자 설계에는 실무 수험서에서 널리 쓰는 기준이 있다.

기준값·조건적용 단계근거
정규화 적용 범위제3정규형까지 수행 을 일반적 기본으로 함논리 모델링정규화 해설 자료
식별 관계의 자식 주식별자부모 키를 받으므로 NULL 불가논리 모델링식별자 관계 해설 자료
복합 주식별자 구성속성 수를 최소화 하도록 제한논리 모델링식별자 설계 자료
모델링 단계 수개념·논리·물리 3단계전 단계데이터 모델 개요(위키백과)
민감정보 처리마스킹·접근 통제 적용 대상 식별논리·물리개인정보 보호법

표의 첫 행은 정규화를 어디까지 할지 정하는 기준이다. 제3정규형은 실무 기본이며, 성능 요구가 크면 반정규화를 추가한다. 식별 관계 행은 부모 키가 자식 키에 포함되므로 NULL을 허용하지 않는다는 점을 보여준다. 복합 키는 속성이 늘수록 자식 엔터티의 키가 계속 커지므로 구성을 제한한다.

민감정보 행의 법령 요구는 개념 수준에서만 확인했다. 필요한 경우 6절의 식별·비식별 비교와 함께 본다.

6. 유형과 비교

데이터 모델은 추상화 수준에 따라 개념·논리·물리 모델로 나뉘고, 논리 모델은 다시 표현 방식에 따라 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델로 구분된다. 답안에서는 먼저 추상화 수준 기준 비교표로 단계를 구분하고, 이어서 관계 표현 방식 기준 비교표로 RDBMS 적용 근거를 설명한다.

구분개념적 모델(CDM)논리적 모델(LDM)물리적 모델(PDM)
추상화 수준가장 높음중간가장 낮음
주요 요소엔티티, 관계엔티티, 속성, 식별자, 정규형테이블, 컬럼, 데이터타입, 인덱스
기술 독립성기술 독립적DBMS 종류와 무관한 구조DBMS 기능·제약 반영
주 사용자업무 분석가, 이해관계자모델러, 설계자DBA, 개발자

위 표처럼 개념 모델은 업무 의미를, 논리 모델은 구조와 규칙을, 물리 모델은 저장과 성능을 다룬다. 단계가 내려갈수록 구체성이 커지며, 프로젝트에서는 세 단계를 한꺼번에 수행하는 경우가 많다.

구분관계 데이터 모델계층 데이터 모델네트워크 데이터 모델
구조테이블(행·열)트리 구조그래프 구조
관계 표현키 값의 일치(외래키)부모-자식 포인터다중 부모 포인터
장점단순하고 통일적, 독립성 높음계층 질의가 빠름복잡한 관계 표현 가능
단점복잡한 조인 비용다대다 관계 표현 어려움구조가 복잡하고 변경이 어려움

이어지는 내용

로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기