본문 바로가기
2.2 DB/DB개념

[DB] 데이터 모델링

by Dohi._. 2024. 9. 24.
728x90

목차

  1. 모델링
  2. 데이터모델링

1.모델링

현실세계를 일정한 표기법에 의해 표현하는 일 =>

현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현.

즉, 모델이란 현실 세계의 추상화된 반영하는 것이고

실제 정보시스템 구축에서의 모델링 활용은 다음과 같다.

  • 계획, 분석, 설계 단계 : 업무 분석 및 설계에 이용
  • 구축, 운영 단계 : 변경 및 관리 목적으로 이용

모델링 3대 특징

  1. 추상화(모형화, 가설적)
    • 현실세계, 다양한 현상를 일정한 형식에 맞춰 표현
  2. 단순화
    • 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법, 언어로 표현하여 쉽게 이해 할 수 있게 표현
  3. 명확화
    • 누구나 이해하도록 대상을 애매하지 않도록 정확하게 현상을 기술(즉, 애매모호함제거)

모델링의 세 가지 관점

관점 설명 키워드
데이터관점 업무와 어떤 데이터와 관련있는지, 데이터간의 관계 무엇인지 Data, What
프로세스 관점 업무가 실제로 무엇을 하는지,무엇을 모델링 할지 Process,How
데이터와 프로세스의 상관관점 업무 처리하는 방법에 따라 데이터 어떻게 영향 받고 있는지 Interaction

2.데이터 모델링

정보시스템 구축 위한 데이터 관점의 업무 분석기법으로서
현실세계 데이터에 대해 약속된 표기법에 의해 표현하는 과정이다.
즉, 데이터베이스 구축하기 위한 분석, 설계과정이다.

실무에서 데이터 모델링을 하는 주요이유

  • 정보시스템 구축 대상에 대하여 업무 내용을 정확하게 분석
  • 분석된 모델을 기반으로 실제 데이터베이스를 설계, 생성, 개발 및 데이터 관리에 이용
  • DB구축만이 아닌 데이터 모델링 자체만으로 업무를 설명하고 분석하는 부분에도 목적

데이터 모델 기능

  • 시스템 가시화
  • 시스템 구조와 행동을 명세화
  • 시스템 구축 구조화 된 틀을 제공
  • 시스템 구축 과정에서 결정한 것을 문서화
  • 다양한 영역 집중을 위해 다른 영역의 세부사항을 숨겨 다양한 관점 제공
  • 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공

데이터 모델링 중요성

데이터 모델링은 지반설계와 같기 때문에 잘못하면 프로젝트 전체가 위험에 빠질 수 도 있다.

데이터 모델링은 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정이고 최종적으로 구축된 데이터베이스는 현실세계의 대상이 되었는 개념과 일치해야한다.

  1. 파급효과가 크다(Leverage)
  2. 복잡한 정보 요구사항의 간결한 표현(Conciseness)
  3. 데이터 품질 (Data Quality)
    유의할점
    • 중복(Duplication) : 동일 자료의 중복
    • 비유연성(Inflexibility) : 잘못된 데이터 모델은 사소한 업무변화에 대응하지 못하고 유지보수에 어려움이 따른다.
    • 비일관성(Inconsistency) : 데이터의 모순, 데이터간 상호 연관관계에 대한 정확한 정의로 이러한 위험을 예방

데이터베이스 생명주기

데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다 필요에 따라 개선 및 재구축을 하여 사용된다.

이와 같은 생성과 운영에 관련한 특징을 데이터베이스 생명주기라한다(database life cycle)

요구사항 수집 및 분석 → 설계 → 구현 → 운영 → 감시 및 개선
  1. 요구사항 수집 및 분석
    • 요구사항을 듣고 분석하여 구축 범위를 결정
  2. 설계
    • 개념적 설계 (분석된 요구사항을 베이스로 주요개념과 업무 프로세스 식별)
    • 논리적 설계 (사용하는 DBMS의 종류에 맞게 변환)
    • 물리적 설계 (데이터베이스 스키마 도출)
  3. 구현
    • 설계단계에서 생상한 스키마를 실제 DBMS에 적용하여 테이블 및 뷰, 인덱스 등을 만들고 해당 DB를 이용하여 서비스를 제공할 수 있게 소프트웨어를 구현
  4. 운영
    • 구현된 DB를 기반으로 소프트웨어를 구축 운영
  5. 감시 및 개선
    • 운영 도중 문제 관찰 및 파악하여 개선(변경 및 유지보수)

데이터 모델링 과정

  1. 개념적 모델링 (중요 개념구분)
    • 추상화 수준이 높고 업무중심적이며 포괄적인 수준의 모델링 진행.
    • 전사적 데이터 모델링, EA수립시 많이 이용
  2. 논리적 데이터 모델링 (각 개념을 구체화)
    • 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계등을 정확하게 표현
    • 정규화, 재사용성이 높음
  3. 물리적 데이터 모델링(개체,인덱스등 생성)
    • 실제 데이터베이스 이식할 수 있도록 성능,저장 등 물리적 성격 고려하여 설계

데이터 독립성

데이터 독립성: 데이터베이스의 구조와 데이터의 내용이 서로 영향을 미치지 않는 것

데이터 독립성 필요 이유

  • 유지보수 비용 증가
  • 데이터 중복성 증가
  • 데이터 복잡성 증가
  • 요구사항 대응 저하

데이터 독립성 요소

외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마

개념 스키마 : 모든 사용자 관점을 통합한 전체 DB

내부 스키마 : 물리적 장치에서 데이터가 실제적 저장

요소별 데이터 독립성

  1. 논리적 독립성(외부-개념)
    • 개념 스키마 변경-> 외부스키마 영향 없음
    • 논리적 구조 변경되어도 응용프로그램 영향 없음
    • 특징: 사용자 특성에 맞는 변경가능, 통합구조 변경 가능
  2. 물리적 독립성(개념-내부)
    • 내부스키마 변-> 외부/개념스키마 영향 없음
    • 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향없음
    • 특징: 물리적 구조 영향없이 개념구조 변경 가능, 개념구조 영향없이 물리적구조 변경가능

데이터 모델링 세가지 요소

  • 업무가 관여하는 어떤 것 (Thing)-엔티티(Entity)
  • 어떤 것이 가지는 성격(속성)(Attribute)
  • 업무가 관여하는 어떤것 간의 관계(Relationships)

좋은 데이터 모델의 요소

  • 완전성
  • 중복배제
  • 업무규칙
  • 데이터 재사용
  • 의사소통
  • 통합성
728x90

'2.2 DB > DB개념' 카테고리의 다른 글

[DB] 정적SQL VS 동적SQL  (0) 2024.10.21
[DB] 데이터, 정보, 지식 , 지혜 (DIKW)  (0) 2024.08.29

댓글