데이터 모델링

2023. 6. 3. 18:22· Computer Science/데이터베이스
목차
  1. 모델링이란?
  2. 모델링의 특징
  3. 모델링의 세가지 관점
  4. 데이터 모델링이란?
  5. 데이터 모델이 제공하는 기능
  6. 데이터 모델링의 중요성 및 유의점
  7. 데이터 모델링의 진행
  8.  
  9. 데이터베이스 3단계 구조
  10. 데이터 모델링 작업 순서
  11. 데이터 모델링의 이해 관계자
  12. 좋은 데이터 모델의 요소

모델링이란?

  • 복잡한 "현실세계"를 단순화시켜 표현하는 것
  • 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것
  • 현실 세계의 추상화된 반영
  • 현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 기법

 

모델링의 특징

  • 추상화는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미
  • 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
  • 명확화는 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술

모델링의 세가지 관점

  • 데이터관점: 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법
  • 프로세스 관점: 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링 하는 방법
  • 상관 관점: 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법 

 

데이터 모델링이란?

  • 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  • 현실세계의 데이터에 대해 약속된 표기법에 의해 표현되는 과정
  • 데이터베이스를 구축하기 위한 분석/설계의 과정

데이터 모델이 제공하는 기능

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

데이터 모델링의 중요성 및 유의점

  • 파급효과: 시스템 구축 작업 중에서 다른 어떤 설계 과정보다 데이터 설계가 중요함
  • 복잡한 정보 요구사항의 간결한 표현: 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구
  • 데이터 품질: 데이터의 중복, 유연성, 비 일관성이 발생할 수 있음

 

데이터 모델링의 진행

  • 개념적 데이터 모델링: 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행, 큰틀, EA(Enterprise Architecture)수립시 많이 사용
  • 논리적 데이터 모델링: 시스템으로 구축하고자 하는 업무에 대해 키,속성,관계등을 정확하게 표현, 재사용성이 높음
  • 물리적 데이터 모델링: 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
  • 현실세계 -> 개념데이터모델링(추상적) -> 개념적구조 -> 논리데이터모델링 -> 논리적 구조 -> 물리 데이터모델링(구체적) ->물리구조(데이터베이스)

 

데이터베이스 3단계 구조

  • 외부스키마
    • 사용자 관점
    • View 단계 여러개의 사용자 관점으로 구성, 즉 개개인의 사용자 단계로서 사용자가 보는 개인적 DB스키마
    • DB의 사용자나 응용프로그래머가 접근하는 DB정의
  • 개념 스키마
    • 통합 관점
    • 개념 단계 하나의 개념적 스키마로 구성 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것
    • 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술하는 것으로 DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
  • 내부 스키마
    • 물리적 관점
    • 내부 단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식
    • 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
  • 데이터 독립성
    • 논리적 독립성: 개념스키마가 변경되어도 외부 스키마에는 영향X (논리적 구조가 변경되어도 응용 프로그램에 영향X)
    • 물리적 독립성: 내부 스키마가 변경되어도 외부/개념 스키마는 영향X (저장 장치의 구조변경은 응용프로그램과 개념 스키마에 영향X) 

 

데이터 모델링의 세가지 요소

  • 업무가 관여하는 어떤 것
    • 엔티티(고객), 인스턴스(이순신)
  • 어떤 것 간의 연관
    • 관계(고객-물건), 페어링(이순신-아이스크림)
  • 어떤 것의 성격
    • 속성(나이), 속성 값(18)

 

데이터 모델링 작업 순서

  1. 엔티티를 그린다.
  2. 엔티티를 적절하게 배치한다.
  3. 엔티티간 관계를 설정한다.
  4. 관계명을 기술한다.
  5. 관계의 참여도를 기술한다.
  6. 관계의 필수 여부를 기술한다.

 

 

데이터 모델링의 이해 관계자

 

좋은 데이터 모델의 요소

  • 완전성: 업무에 필요한 데이터가 모두 정의되어야 함
  • 중복 배제: 동일한 사실은 한번만 저장 해야함
  • 업무 규칙: 데이터 모델 분석만으로도 비즈니스 로닉이 이해되어야 함
  • 데이터 재사용: 데이터 통합성과 독립성 고려해야함
  • 의사소통: 데이터 모델을 보고 이해 당사자들끼리 의사소통이 이루어져야 함
  • 통합성: 동일한 데이터는 유일하게 정의해서 다른 영역에서 참조해야 함

'Computer Science > 데이터베이스' 카테고리의 다른 글

속성(Attribute)  (1) 2023.06.03
엔티티(Entity)  (0) 2023.06.03
클러스터 인덱스  (0) 2023.06.03
인덱스(요약)  (0) 2023.06.03
데이터베이스의 성능  (0) 2023.06.03
  1. 모델링이란?
  2. 모델링의 특징
  3. 모델링의 세가지 관점
  4. 데이터 모델링이란?
  5. 데이터 모델이 제공하는 기능
  6. 데이터 모델링의 중요성 및 유의점
  7. 데이터 모델링의 진행
  8.  
  9. 데이터베이스 3단계 구조
  10. 데이터 모델링 작업 순서
  11. 데이터 모델링의 이해 관계자
  12. 좋은 데이터 모델의 요소
'Computer Science/데이터베이스' 카테고리의 다른 글
  • 속성(Attribute)
  • 엔티티(Entity)
  • 클러스터 인덱스
  • 인덱스(요약)
윤재에요
윤재에요
yunzae.log윤재에요 님의 블로그입니다.
윤재에요
yunzae.log
윤재에요
전체
오늘
어제
  • 분류 전체보기 (438)
    • Computer Science (115)
      • 데이터베이스 (50)
      • 네트워크 (18)
      • 소프트웨어 공학 (1)
      • 알고리즘 (10)
      • 자료구조 (9)
      • 컴퓨터구조 (0)
      • 운영체제 (0)
      • 데이터 통신 (16)
      • 프로그래밍언어론 (11)
    • Project (20)
      • 후크(Flutter) (1)
      • BDSR로그북(App,BackEnd) (2)
      • 나만의 주점(STM32,Arduino,androi.. (9)
      • 공다(App,BackEnd) (2)
      • 카카오쇼핑 클론코딩 (4)
      • 암호화폐자동매매 (2)
    • Problem Solving (208)
      • 자바 문법 (20)
      • 파이썬 문법,함수 (6)
      • 그리디 (5)
      • 구현 (43)
      • DFS (3)
      • BFS (17)
      • 정렬 (15)
      • 이진 탐색 (16)
      • 다이나믹 프로그래밍 (6)
      • 최단 경로 (5)
      • 그래프 (1)
      • 자료구조 (5)
      • 투포인터 (15)
      • SQL (44)
      • 구간합 (7)
    • I leaned (78)
      • 스프링,스프링부트 (31)
      • Git (6)
      • JAVA (5)
      • Etc (30)
    • 취업 (15)
      • PT면접 (6)
      • 기술면접 (9)
      • 인성면접 (0)
    • log (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • 그리디
  • 제약 사항
  • 기수정렬
  • 이것이 코딩테스트다.
  • 데이터베이스
  • 참조 무결성
  • 재시도
  • 이것이 코딩테스트다
  • 다이나믹
  • 교환정렬
  • 개미전사
  • DP
  • 힙큐
  • 다이어그램
  • 다익스트라
  • E-R Model
  • 최단 거리
  • 먀
  • 카카오테크캠퍼스
  • 계수정렬
  • 부품찾기
  • 효율적인화폐구성
  • 플로이드 워셜
  • 최단거리
  • 다이나믹프로그래밍
  • 파이썬
  • weak entity
  • UML
  • 이것이코딩테스트다
  • Relationship model

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
윤재에요
데이터 모델링
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.