[Site Map]  [데이터베이스목차]

 

연관토픽

  1. [하위] 개념적 데이터 모델링(conceptual data modeling)
  2. [하위] 논리적 데이터 모델링(Logical Data Modeling)
  3. [연관] 데이터베이스 설계(Database Design)
  4. [연관] 데이터베이스 구축

 



기출문제

회차 문제
관리133-4  4. RDBMS를 적용하기 위한 데이터 모델링에 대하여 다음을 설명하시오. 
가. 데이터 모델링의 개념 및 모델링 단계별 수행내용
나. 데이터 관계 모델링 시 식별(Identification)과 비식별(Non Identification)에 대하여 비교
다. 데이터 모델링 시 고려사항

 

 

 

개념 : 데이터베이스 설계의 핵심 과정

  • 사용자 요구 사항을 분석하고 필요한 데이터 요소를 도출하여 적절한 데이터 구조를 정의하는 방법(데이터베이스 설계 과정 핵심 기법)
  • 기업 업무와 사용자의 요구사항에 대한 종합적인 이해를 바탕으로 기업 데이터에 대한 구조와 행동을 명세화하여 데이터베이스로 구축하는 틀을 제공하는 활동
  • 업무 프로세스를 추상화하여 데이터베이스의 데이터로 표현하기 위한 설계 과정
  • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
  • 개념적 모델링과 논리적 모델링을 명확히 구분하지 않고, 합쳐서 데이터 모델링이라고 함

 

 

 

데이터 모델링 기본 원칙

 

 

 

좋은 데이터베이스 설계의 특징

특징 설명
완전성(Completeness)
  • 필요한 모든 데이터 요소들이 도출되고 정의
비중복성(Nonredundancy)
  • 데이터 요소의 중복 저장을 최소화하여 데이터 일관성 문제와 저장공간 낭비를 방지
업무 규칙 적용성
(Enforcement of Business Rules)
  • 업무 요건(규칙)이 정확하게 반영되고, 이를 통해 업무가 올바르게 수행될 수 있도록 하고 업무 규칙이 부정확하게 반영되면 후에 바로 잡는 것은 매우 어려움
데이터 재사용성
(Data Reusability)
  • 데이터가 특정 애플리케이션에 무관하도록 설계되어야 다른 목적으로 사용하는 것이 가능하고, 그만큼 데이터의 활용성이 높아짐
의사전달성
(Communication)
  • 다양한 이해관계자(Stakeholders) 간에 정확한 의사 소통을 지원
  • 사용자나 업무 전문가들에게 업무 내용이 정확하게 이해되고 전달될 수 있도록 표현되고 정의개발자들이 정확하게 이해하여 애플리케이션에 반영
안정성 및 유연성
(Stability and Flexibility)
  • 데이터베이스 설계 결과가 향후의 업무 변화로 인한 변경 요구를 수용하기 용이하도록 유연성을 확보하고 업무 변경이 모델 변경 없이 데이터 추가만으로 수용할 수 있도록 영향 범위를 최소화
통합성
(Integration)
  • 특정 조직에 국한되지 않고 전사적 관점에서 표준화된 데이터 요소가 정의되어 모든 사용자가 동일한 개념으로 데이터를 이해하고 사용
균형적 조화
(Balancing)
  • 너무 많은 업무 규칙을 내포하고 정밀하게 설계된 모델은 규칙 변경 발생 시 불안정하게 하므로 적절한 균형이 필요

 

 

 

 

데이터 모델링의 3가지 관점

관점 설명
데이터 관점
  • 업무가 어떤 데이터와 관련이 있는지, 데이터간의 관계는 무엇인 지에 대해 모델링하는 방법
프로세스 관점
  • 업무를 통해 어떤 일을 처리하는지, 무엇을 해야 하는지를 모델링하는 방법
데이터와 프로세스
상관 관점
  • 업무에서 일을 처리하는 방법에 따라 데이터가 어떻게 영향을 받는지 모델링하는 방법(상관모델링, CRUD Matrix 기법)

 

 

 

 

데이터 모델링 단계(4단계)

  • 사용자 요구 분석에서 개념적, 논리적, 물리적 모델링 과정을 통해 특정 DBMS에 최적화된 DDL 까지 도출
  • 설계단계 이후 데이터 구조 변경은 파급효과를 고려해야 하므로 데이터 모델링 시 객관적 품질 요소 확보 및 검증 필요

구분 개념 데이터모델링 논리 데이터모델링 물리 데이터모델링
내용
  • 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링
  • 전사적 데이터 모델링, EA 수립시 활용
  • 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현
  • 재사용율을 높임
  • 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
Task
  • 주제영역 도출
  • 핵심 엔티티 정의
    • 속성 정의
    • 식별자 정의
    • 관계 정의
  • 모든 엔터티 정의
    • 속성 정의
    • 식별자 정의
    • 관계 정의
  • 정규화
  • 모든 엔터티를 테이블로 변환
    • 칼럼 정의
    • PK 정의
    • FK 정의
  • 반정규화
추상화 수준 추상적   구체적

 

 

 

데이터 모델링 단계별 활동

관점 설명
엔티티 정의 엔티티 후보 선정, 엔티티 검증 및 확정
관계정의 관계(Relationship) 파악 관계 명칭 확정
개념모델작성 핵심 엔티티 배치, 키 앤티티 연결, 엔티티 간 관계 확정
속성 정의 최소단위 분할, 단일 값 검증, 가공속성 제거
식별자 정의 의미상 주어 확인, 상속 및 단절 전략, 식별자 확정
데이터 모델 상세화 정규화(1, 2, 3 정규화), M:M 관계 해소
데이터 모델 통합 엔티티 통합(수직, 수평, 차원적 통합), 엔티티간 관계 통합
이력관리 결정 이력관리 대상 선정, 이력관리 형태 결정, User Review

 

 

 

데이터 요구사항 분석

단계 설명
요구사항 도출 - 구축대상 프로젝트 범위기준으로 조사범위를 결정, 업무관계자 인터뷰, 외부자료 수집 분석
요구사항 분석 - 도출된 요구사항의 명확성, 완전성, 모호성 검증, 불완전한 요구사항 도출단계 재수행
요구사항 명세 - 요구사항 정리 및 관리자 승인 문서와

 

 

 

개념 모델링

  • 조직 전체 정보의 요구사항 표현, 상위 수준의 모델링으로 논리 모델링을 위한 정보로 사용됨

단계 설명
주제영역 도출 - 데이터의 최상위 집합을 구분하는 단계
- 전사적 관점에서 데이터 분류 수행
핵심 데이터 집합 도출 - Entity가 될 가능성이 있는 후보 수집(문서, 인터뷰, 관련서적, 전문가 경험)
관계설정, 핵심속성 도출,
식별자 도출
- 관련이 있는 Entity간의 연관성을 정의(1:1, 1:M, M:N)
- 후보 데이터 집합 중 핵심 Entity 선별, 식별자, 서브타입 등 정의

 

 

 

논리 모델링

  • 업무요건을 명확히하는 상세한 모델, Entity Type을 도출하고, 관계, 식별자 등 상세설계를 수행하고 물리 모델링을 수행하여 DB의 객체로 생성됨

단계 설명
속성 상세화 - Entity 속성 검증 및 확정, 속성 값 나열
개체 상세화 - 식별자 확정, 정규화, M:N 관계 해속, 무결성 규칙 정의
이력관리 - 정보로서의 활용성 추적성 확보
- 시점, 선분(발생이력, 변경이력, 진행이력)

 

 

 

물리 모델링

  • 데이터 모델링 수행 시 데이터의 무결성, 일관성 및 확장성을 보장 위해, 데이터의 중복, 비일관성, 모델링의 유연성 측면의 고려가 필요함

 

단계 설명
환경분석 - DBMS 종류와 버전, 운영체계에 대한 분석
논리/물리 변환 - 논리모델을 물리영역으로 변환(DB에 생성 가능한 SQL문으로 변환)
반정규화 - 시스템 성능, 유지보수성을 고려한 데이터 모델통합(테이블 분할, 중복, 병합 수행, 테이블/컬럼/관계 반정규화)

 

 

 

데이터 모델링 3요소

요소 설명
엔터티(Entity) 업무가 다루는 사물(대상)
관계(Relation) 업무가 다루는 사물들 사이에 존재 하는 연관 관계
속성(Attribute) 각 사물이 가지고 있는 상세한 특성

 

 

 

데이터 모델링의 무결성, 일관성, 확장성 보장을 위한 고려사항

  • 데이터 무결성 보장을 위해 데이터의 중복 최소화하여 이상현상을 방지함.
    데이터 모델링시 데이터와 데이터간 상호연관 관계에 대한 명확한 정의를 통해 비일관성 문제를 사전에 예방함
  • 데이터 모델과 프로세스 모델을 분리하여, 업무 프로세스 변경에 따른 애플리케이션과 데이터 모델의 변경을 최소화하여 모델링의 유연성을 확보함.

 

+ Recent posts