JangGeonWu
janggeonwu97
JangGeonWu
전체 방문자
오늘
어제
  • 분류 전체보기 (78)
    • SQLD (21)
    • 개인 공부용 (17)
    • Django (9)
    • Tableau (6)
    • ElasticSearch (8)
    • 빅데이터 엔지니어 (5)
    • Spring 퀵 스타트 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 개인 공부 기록용 블로그

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
JangGeonWu
SQLD

1-1-1. 데이터 모델의 이해

1-1-1. 데이터 모델의 이해
SQLD

1-1-1. 데이터 모델의 이해

2022. 9. 18. 23:26

1. 모델링의 이해

가. 모델링의 정의

 - 웹스터 사전: 가설적 또는 일정 양식(a hypothetical or stylized representation)에 맞춘 표현으로, 어떤 것에 대한 예비 표현으로서 그로부터 최종 대상이 구축되도록 하는 계획으로서 기여하는 것.

 - 복잡한 현실 세계를 단순화해 표현

 - 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 연관된 사람이나 그룹을 위해 명확하게 하는 것

 - 현실 세계를 추상화한 반영

 

-> 현실 세계 단순화 및 추상화, 양상과 관점, 웹스터 사전: 가설적, 일정 양식, 예비 표현, 최종 구축에 기여

 

나. 모델링의 특징

 - 추상화(모형화, 가설적): 현실 세계를 일정한 형식에 맞추어 표현

 - 단순화: 복잡한 현실 세계를 제한된 표기법이나 언어로 표현해 쉽게 이해할 수 있도록 함

 - 명확화: 누구나 이해하기 쉽게 애매모호함을 제거, 정확하게 기술

 

-> 추상화: 일정한 형식에 맞춰 표현, 단순화: 쉽게 이해하게 함, 명확화: 모호한 거 정확하게 함

 

다. 세 가지 관점

 - 데이터 관점: 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해 모델링(what, data)

 - 프로세스 관점: 실제하고 있는 업무는 무엇인지, 무엇을 해야 하는지를 모델링 하는 방법(how, process)

 - 데이터와 프로세스의 상관 관점: 업무가 처리하는 일의 방법에 따라서 데이터는 어떻게 영향을 받고 있는지 모델링 하는 방법(Interaction)

 

-> 데이터, 프로세스(업무), 상관관계

 

2. 데이터 모델의 기본 개념 이해

가. '데이터 모델링'의 정의

 - 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법

 - 현실 세계의 데이터를 약속된 표기법에 의해 표현하는 과정

 - 데이터베이스를 구축하기 위한 분석 및 설계의 과정

 

-> 업무 분석, 표기법에 맞춰 표현, 데이터베이스 구축

 

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

 - 시스템을 '가시화', '명세화','구조화'함.

 - 시스템 구축 과정에서 결정한 것을 문서화

 - 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점 제공

 - 특정 목표에 따라 구체화한 상세 수준의 표현 방법을 제공

 

-> 가시화, 명세화, 구조화, 문서화, 다양한 관점 제공, 표현 방법 제공

 

3. 데이터 모델링의 중요성과 유의점

가. 파급효과 - 데이터 구조의 변경은 이후 일련의 변경 작업에 큰 영향을 끼침

 

나. 복잡한 정보 요구 사항의 간결한 표현 - 데이터 정합성.

 

다. 데이터 품질 - 데이터 품질은 오랜 기간 숙성된 데이터를 전략적으로 활용할 때 대두되는데, 초반에 아래와 같은 문제를 해결하지 않으면 나중에는 바로잡기가 힘들다.

 - 중복: 여러 장소에 같은 정보를 저장하는 경우를 의미

 - 비 유연성: 데이터의 사용 프로세스와 데이터의 정의가 붙어있어 사소한 변화에도 모델을 자주 손봐야 하는 경우를 의미

 - 비일관성: 데이터끼리 서로 모순되는 경우를 의미

 

-> 파급효과, 간결한 표현, 데이터 품질(중복, 비 유연성, 비 일관성 방지)

4. 데이터 모델링의 3단계 진행

 - 추상화 수준에 따라 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델로 정리할 수 있다.

 

가. 개념적 모델링

 - 사용자의 데이터 요구사항을 찾고 분석하는 데에서 시작하며, 자료의 중요도를 결정하는 것도 포함된다.

 - 핵심 엔터티와 그들 관의 관계를 기반으로 '엔티티-관계 다이어그램'을 생성하는 것이 핵심

 - 추상화 수준이 높고, 업무 중심적이고 포괄적인 수준의 모델링 진행.

 - 전사적 데이터 모델링, EA 수립 시 많이 이용

 

나. 논리적 데이터 모델링

 - 비즈니스 정보의 논리적 구조와 규칙을 명확히 표현하는 기법, 물리적 스키마 설계 전의 '데이터 모델' 상태를 의미.

 - 매우 중요

 - 시스템으로 구축하고자 하는 업무에 대해 키, 속성, 관계 등을 정확하게 표현하여 재사용성이 높다.

 

다. 물리적 데이터 모델링

 - 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다루며, 이러한 정의를 '물리적 스키마'라고 함

 

-> 개념적 모델링(ERD), 논리적 모델링(데이터 모델), 물리적 모델링(하드웨어)

5. 프로젝트 생명주기에서 데이터 모델링

 

 

6. 데이터 모델링에서 데이터 독립성의 이해

가. 데이터 독립성의 필요성

 - 데이터 독립성이 보장되지 않으면, 유지 보수 비용 증가, 데이터 중복성 증가, 데이터 복잡도 증가, 요구사항 대응 저하 문제가 발생한다.

 - 데이터 독립성을 확보하면, 각 뷰의 독립성 유지하고 계층별 뷰에 영향 주지 않고 변경 가능

 - 단계별 스키마에 따라 데이터 정의어와 데이터 조작어가 다름을 제공함

 

나. 데이터베이스 3단계 구조

 - 데이터 독립성은 미국 표준 협회 ANSI 산하의 X3 위원회에서 DBMS/인터페이스를 위해 제안한 '3 schema architecture'로 정의할 수 있다.

 - 외부 단계: 사용자와 가까운 단계, 여러 스키마 구조를 가짐

 - 개념 단계: 사용자 요구사항을 처리하는 통합된 뷰를 제공

 - 내부적 단계: 데이터가 물리적으로 저장된 방법에 대한 스키마 구조

 

다. 데이터 독립성 요소

 - 외부 스키마: 개개 사용자가 응용 프로그래머가 접근하는 DB 정의(사용자 관점)

 - 개념 스키마: 모든 사용자 관점을 통합한 조직 전체의 DB 기술(통합 관점)

 - 내부 스키마: DB가 물리적으로 저장된 형식

 

-> 외부/개념/내부 - 단계/스키마: 사용자/통합/물리적

 

라. 데이터 독립성

 - 논리적 독립성: 개념 스키마 변경되어도, 외부 스키마에는 영향 미치지 않게 함

 - 물리적 독립성: 내부 스키마가 변경되어도 개념, 외부 스키마에는 영향 미치지 않게 함

-> 논리적 = 개념, 물리적 = 내부

 

마. 사상(Mapping): 상호 독립적인 개념을 연결시켜주는 다리

 - 외부적, 개념적 사상: 외부적 뷰와 개념적 뷰의 상호 관련성 정의

 - 개념적, 내부적 사상: 개념적 뷰와 저장된 데이터베이스의 상호 관련성을 정의

 

7. 데이터 모델링의 중요한 세 가지 개념

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

 - 업무가 관여하는 어떤 것: Things

 - 어떤 것이 가지는 성격: Attributes

 - 업무가 관여하는 어떤 것 간의 관계: Relationships

 

나. 단수와 집합(복수)의 명명

 

개념 복수*집합 개념 타입*클래스 개별*단수 개념 어커런스*인스턴스
Thing Entity Type Entity
Thing Entity Instance, Occurrence
Association between Things Relationship Pairing
Characteristic of a thing Attribute Attribute Value

 

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

가. 이해관계자의 데이터 모델링 중요성 인식

 - 모든 프로그램, 데이터, 트랜잭션에 영향을 미칠 수밖에 없다.

- Bachmann은 '프로그래머는 데이터 집합의 탐색가'라고 함

 

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

 - 정보 시스템을 구축하는 모든 사람(프로젝트 개발자, 전문 모델러, DBA)

 - 현업 업무 전문가(이해할 수 있는 수준으로)

 

9. 데이터 모델의 표기법인 ERD 이해 

가. 데이터 모델 표기법

 - 1976, 피터첸(peter chen), E-R 모델

 - Chen(대학 교재용), IDEF1X(마름모와 원, ERWin), IE/Crow's Foot(까마귀발, ERWin, ERStudio), Min-Max/ISO(기수성), UML(스테레오 타입, Rational Rose), Case*Method/Barker(Crow's Foot + Barker's Notation, DA#)

 

나. ERD 표기법으로 모델링하는 방법

 - ERD: 엔터티, 관계를 다이어그램으로 표시하는 것

 

1) ERD 작업 순서

 1. 엔터티 그리기, 2. 엔터티 배치, 3. 관계 설정, 4. 관계명 기술, 5. 참여도 기술, 6. 필수여부 기술

2) ERD 관계 관계차수(Cardinality)와 선택성 표시

 

10. 좋은 데이터 모델의 요소

 가. 완전성(Completeness): 모든 데이터가 모델에 정의되어 있어야 함

 나. 중복 배제(Non-Redundancy): 동일한 사실은 반드시 한 번만 기록해야 함

 다. 업무 규칙(Business Rules): 업무 규칙을 데이터 모델에 표현하고, 모든 사용자가 공유할 수 있도록 제공해야 함

 라. 데이터 재사용: 데이터의 통합성과 독립성을 충분히 고려해야 함

 마. 의사소통

 바. 통합성: 동일한 데이터는 조직 전체에서 한 번만 정의되고, 이를 여러 다른 영역에서 참조 및 활용하는 것.

 

-> 안전성, 중복 배제, 업무 규칙, 데이터 재사용, 의사소통, 통합성

 


Quiz.

Q1. 모델링의 정의

 - 현실세계 ____ 및 ____, 양상(______)과 관점(_______)

 - ____ ___: 가설적, 일정 양식, 예비표현, 최종 구축에 기여

 

Q2. 모델링의 특징 3가지

 - _____ : 일정한 형식에 맞춰 표현

 - _____ : 쉽게 이해하게 함

 - _____ : 모호한 것을 정확하게 함

 

Q3. 데이터 모델링의 정의 3가지

 - ___ ____, ______ ___ ___, ________ ___

 

Q4. 데이터 모델이 제공하는 기능 5가지

 - _____, _____, _____, _____, _____ ___ 제공, _______ 제공

 

Q5. 데이터 품질을 유지하기 위해 방지해야 하는 3가지는?

 - ______, _______, _______

 

Q6. 추상화 수준에 따라 ____적 데이터 모델, ____적 데이터 모델, ____적 데이터 모델이 있다.

 

Q7. 데이터베이스 3가지 구조: ______, _______, ________

Q8. 데이터 독립성요소 : ______, ______, _______

 

Q9. 데이터 독립성 2개를 설명하여라.

 - ______ 독립성: ______________

 - ______ 독립성: ______________

 

Q10.  _____ : 상호 독립적인 개념을 연결시켜주는 다리

 

Q11. 데이터 모델링의 3가지 요소: ________, ___________, ____________

 

Q12. 좋은 데이터 모델의 요소 6가지: ________, ________, ________, ________, ________, ________ 

'SQLD' 카테고리의 다른 글

1-2-1. 정규화  (0) 2022.09.19
1-1-5. 식별자  (1) 2022.09.19
1-1-4. 관계  (0) 2022.09.19
1-1-3. 속성  (0) 2022.09.19
1-1-2. 엔터티  (1) 2022.09.19
  • 1. 모델링의 이해
  • 2. 데이터 모델의 기본 개념 이해
  • 3. 데이터 모델링의 중요성과 유의점
  • 4. 데이터 모델링의 3단계 진행
  • 5. 프로젝트 생명주기에서 데이터 모델링
  • 6. 데이터 모델링에서 데이터 독립성의 이해
  • 7. 데이터 모델링의 중요한 세 가지 개념
  • 8. 데이터 모델링의 이해관계자
  • 9. 데이터 모델의 표기법인 ERD 이해 
  • 10. 좋은 데이터 모델의 요소
'SQLD' 카테고리의 다른 글
  • 1-1-5. 식별자
  • 1-1-4. 관계
  • 1-1-3. 속성
  • 1-1-2. 엔터티
JangGeonWu
JangGeonWu

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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