Programming-[Backend]/SQL

[SQLD] 1. 데이터 모델링의 종류, 특징, ERD, 3 level schema

컴퓨터 탐험가 찰리 2022. 5. 9. 20:52
728x90
반응형

 

데이터 모델링의 이해

 

데이터 모델링

데이터 모델링은 현실 세계를 데이터(데이터베이스)로 표현하기 위해 추상화하는 것이다.

데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다. 정의된 비즈니스 규칙을 데이터 모델로 표현한다.

 

데이터 모델링의 특징

  • 추상화(Abstraction) : 공통적인 특징을 찾고 간략하게 표현한다
  • 단순화(Simplification) : 누구나 이해할 수 있게 표현한다
  • 명확성(Clarity) : 한 가지의 의미를 갖고, 명확하게 해석할 수 있어야한다

 

데이터 모델링 단계

1. 개념적 모델링(Conceptual Data Modeling)

- 계층형, 네트워크형 등의 모델 방식과 관계없이 업무 측면에서 모델링하며, 기술적 용어는 지양한다

- 엔터티와 속성을 도출하고, 개념적 ERD(Entity Relationship Diagram)를 작성한다

 

2. 논리적 모델링(Logical Data Modeling)

- 식별자를 도출하고 관계를 정의한다

- 정규화를 수행하여 데이터 모델을 독립화한다

 

3. 물리적 모델링(Physical Modeling)

- 테이블, 인덱스 등 실제 데이터베이스를 구축한다

 

 

데이터 모델링 관점

  • 데이터 : 비즈니스에서 사용되는 정보
  • 프로세스 : 비즈니스에서 수행하는 작업
  • 데이터와 프로세스 : 프로세스와 데이터간의 관계

 

 

데이터 모델링 유의사항

  • 독립성 : 데이터 모델이 독립적이면 고객의 비즈니스 변화에 유연하게 대처할 수 있다(정규화)
  • 간결/명확성 : 고객의 요구사항을 간결하고 명확하게 표현해야한다
  • 데이터 품질 확보 : 표준을 정의하고, 준수율을 확보해야한다

-> 참조1. 데이터의 품질은 입력위험, 통제위험, 에러 데이터 최초 입력 확률, 탐지 위험 등을 포함하는 개념이다.

국내외 데이터 품질관리 필요성 및 사례
저품질 데이터의 위험
· 8년 동안 2천300만 달러를 더 지불한 미국 시민:
미국 연금 계산 오류로 인해 Nashvill 시민 일부는 8년 동안 2천300만 달러를 초과해 지불했으며, 반면에 다른 사람들은 같은 기간 동안에 2천600만 달러를 적게 낸 것으로 밝혀졌다. -美, The Tennessean
· 금융계좌 주민번호 398만개 잘못 기재…이사소득에 대한 금융과세 못해:
금융회사 고객 원장의 주민등록번호가 잘못 기재된 것은 금융기관과 감독기관의 관리 및 감독 소홀이 주된 이유... 특히 동일인이 2개의 주민번호로 금융거래를 하거나, 하나의 번호를 동시에 2~3명이 사용해 온 것이어서, 선의의 피해를 부르거나 금융사고나 범죄에 악용됐을 가능성이 높다. -조선일보
· 호적정보시스템 주민등록번호 10명중 1명꼴 엉터리:
호적정보시스템에 기록된 정보 가운데 971만여 명의 주민등록번호가 누락되거나 잘못 기재되는 등 오류가 있는 것으로 파악... 호적상 주민번호에 오류가 있을 경우 국민들은 대출이나 구직 또는 혼인신고 등에 필요한 호적등본을 제때 발급 받지 못 하는 불편을 겪게 돼. -한국일보
출처 : 데이터넷(http://www.datanet.co.kr)

 

 

ERD 작성 절차

  1. 엔터티를 도출하고 그린다
  2. 엔터티를 배치한다
  3. 엔터티 간의 관계를 설정한다
  4. 관계명을 서술한다
  5. 관계 참여도를 표현한다
  6. 관계의 필수 여부를 표현한다

 

-중요한 엔터티는 왼쪽 상단에 표기하고, 간결하고 쉽게 표기해야한다

 

 

참조 2의 엔터티 작성 절차 그림

 

 

 

3층 스키마(3-Level Schema)

 

사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 정의한 ANSI 표준이다.

 

3단계로 관점을 분리하여, 데이터 모델의 독립성을 확보한다. 데이터 복잡도 감소, 중복 제거, 사용자 요구사항 변경에 대응력 향상 등의 장점을 갖는다.

 

 

 

3층 스키마 구조

  • 외부 스키마(External level) : 사용자의 관점. 업무상 관련이 있는 데이터 접근이다. 응용 프로그램이 접근하는 데이터베이스를 정의한다
  • 개념 스키마(Conceptual level) : 설계자 관점. 전체 데이터베이스의 규칙과 구조를 표현한다
  • 내부 스키마(Internal level) : 개발자 관점. 데이터베이스의 물리적 저장구조이다

 

- 개념 스키마의 변경에 외부 스키마가 영향을 받지 않는 것을 '논리적 독립성', 내부 스키마의 변경에 개념 스키마가 영향을 받지 않는 것을 '물리적 독립성'이라고 한다.

참조 3.의 그림. 간단한 주석 추가

 


 

참조

 

0. [도서] 영진닷컴 - SQL 개발자 이론서 + 기출문제

 

1. DATA Net _ 데이터 품질관리(Data Quality Management)

https://www.datanet.co.kr/news/articleView.html?idxno=36044 

 

 

2. 꿈꾸는 개발자, DBA 커뮤니티 구루비 - 데이터 모델링 주요 개념

http://wiki.gurubee.net/pages/viewpage.action?pageId=13664394

 

 

3. Researchgate.net - Three Schema architecture open ...

https://www.researchgate.net/figure/Three-Schema-architecture-operations-and-other-constraints-3-External-level-This-level_fig1_270791476

 

 

 

 

 

 

 

 

 

728x90
반응형