Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

데이터 모델의 이해* 본문

SQLD

데이터 모델의 이해*

d5ngs 2019. 8. 8. 13:08

모델링


  • 정의
    - 복잡한 '현실세계'를 단순화시켜 표현
    - '현실세계'의 추상화된 반영
    - 즉, '현실세계'를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법

    * 정보시스템 구축에서의 모델링
    > 계/분/설 : 업무를 분석하고 설계의 목적
    > 구/운영 : 변경과 관리의 목적
  • 특징
    - 추상화
    "현실세계, 다양한 현상을 일정한 양식의 표기법에 의해 표현"

    - 단순화
    "복잡한 현실세계를 표기법, 언어로 쉽게 표현하여 이해할 수 있도록 하는 개념"

    - 명확화
    "누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거하여 정확하게 기술"

  • 3가지 관점
    - 데이터 관점
    "업무가 어떤 데이터와 관련이 있지?"
    "데이터간의 관계는 무엇이지?"

    - 프로세스 관점
    "실제로 업무가 하는 일은 무엇이지?"
    "업무에서 무엇을 해야 하지?"

    - 데이터와 프로세스의 상관관점
    "업무의 일 처리방법에 따라 데이터는 어떻게 영향을 받고 있지?"



데이터 모델링


  • 정의
    - 정보시스템을 구축하기 위해 데이터 3가지 관점의 업무 분석 기법
    - DB를 구축하기 위한 분석/설계의 과정

    * 정보시스템 구축에서의 데이터 모델링
    > 정보시스템 구축 대상이 되는 업무 내용을 정확하게 분석
    > 분석된 모델을 가지고 실제 DB를 생성하여 사용하기 위한 것
    > 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 의미가 있음

  • 기능
    - 시스템의 모습을 가시화
    - 시스템의 구조와 행동을 명세화
    - 시스템 구축의 구조화된 틀을 제공

  • 중요성
    - 파급효과(Leverage)
    "데이터 모델의 변경이 불가피하다면 전체 시스템 구축 프로젝트에서 큰 위험요소로 작용할 수 있음"

    - 복잡한 정보 요구사항의 간결한 표현(Conciseness)
    "요구사항과 한계를 가장 간결하게 표현하는 도구"

    - 데이터 품질(Data Quality)
    "DB의 데이터는 기업의 중요한 자산이고 기간이 오래되면 활용 가치가 높아짐"

  • 유의점
    - 중복
    "DB가 여러 장소에 같은 정보를 저장하는 것을 유의"

    - 비유연성
    "사소한 업무 변화에 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움"

    - 비일관성
    "데이터의 중복이 없어도 비일관성이 발생할 수 있다."

  • 3단계 진행
    1. 개념적 모델링
    "추상화 수준이 높음"
    "EA수립시 많이 이용"

    2. 논리적 모델링
    "업무에 대한 Key, 속성, 관계 등을 정확하게 표현"
    "재사용성이 높음"

    3. 물리적 모델링
    "구체적 수준이 높음"
    "DB에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계"

  • 프로젝트 생명주기(Life Cycle)에서 데이터 모델링
    - 계획/분석 단계에서 개념적 데이터 모델링
    - 분석 단계에서 논리적 데이터 모델링
    - 설계 단계에서 물리적 데이터 모델링

    * 현실 프로젝트에서는 개념적 데이터 모델이 생략된 개념/논리 데이터 모델링이 분석단계 때 대부분 수행

  • 데이터 독립성의 필요성
    - 유지보수 비용 증가
    - 데이터 중복성 증가
    - 요구사항 대응 저하

  • DB 3단계 구조
    1. 외부적 단계
     - 사용자와 가까운 단계
     - 개개인이 보는 자료에 대한 관점과 관련 있음
    2. 개념적 단계
     - 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인
    3. 내부적 단계
     - 데이터가 물리적으로 저장된 방법에 대한 스키마 구조

  • 데이터 독립성 요소
    - 외부 스키마
    "View 단계, 개개인의 사용자가 보는 개인적 DB 스키마"
    "DB의 개별 사용자나 응용프로그래머가 접근하는 DB정의"
    - 개념 스키마
    "하나의 개념적 스키마로 구성"
    "모든 응용시스템, 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB"
    "데이터와 그들간의 관계를 표현한 스키마"
    - 내부 스키마
    "DB가 물리적으로 저장된 형식"
    "물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현"

  • 두 영역의 데이터 독립성
    - 논리적 독립성
    "개념스키마가 변경되어도 외부스키마에는 영향X"
    "논리적 구조가 변경되어도 응용프로그램에 영향X"
    "사용자 특성에 맞는 변경, 통합 구조 변경 가능"
    - 물리적 독립성
    "내부스키마가 변경되어도 외부/개념스키마에는 영향X"
    "저장장치 구조 변경은 응용프로그램, 개념스키마에 영향X""
    "물리적 구조 영향 없이 개념구조 변경, 개념구조 영향 없이 물리적 구조 변경 가능"

  • 사상 (Mapping)
    - 논리적 사상 (외부적/개념적 사상)
    "외부적 뷰와 개념적 뷰의 상호 관련성을 정의"
    "사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음"
    - 물리적 사상 (개념적/내부적 사상)
    "개념적 뷰와 저장된 데이터베이스의 상호 관련성을 정의"
    "DB구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함, 그래야 개념적 스키마가 그대로 남아 있음"


중요 세 가지 개념


'SQLD' 카테고리의 다른 글

SQL-WHERE  (0) 2019.10.23
SQL-TCL  (0) 2019.10.23
SQL-DML  (0) 2019.10.23
SQL-DDL  (0) 2019.10.23
관계형데이터베이스 개요  (0) 2019.10.23