DataBase/SQL

[SQL] 데이터 모델링(Data Modeling) 개념과 ERD

skwkiix 2023. 9. 12. 01:57
728x90

이 포스팅은 2023 이기적 SQL 개발자 이론서+기출문제(https://www.yes24.com/Product/Goods/111360577)를 참고하여 작성되었다.

 

데이터 모델링(Data Modeling) 이란?

고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 데이터 모델로 표현하는 것

01. 특징

추상화(Abstraction)  현실세계를 간략하게 표현
단순화(Simplification) 누구나 이해할 수 있도록 구현
명확성(Clarity) 명확한 의미 해석이 가능하도록 구현

02. 단계

  • 데이터 모델링 단계
개념적 모델링(Conceptual Data Modeling) -  고객의 비즈니스 프로세스를 분석, 업무 전체에 대한 모델링(전사적 관점)
중요한 부분 위주로 모델링
-  엔터티(Entity), 속성(Attribute) 도출 및 개념적 ERD(Entity Relationship Diagram) 작성
- 계층형 데이터 모델, 네트워크 모델, 관계형 모델이 관계없이 업무 측면의 모델링
- 추상화 수준이 가장 높은 수준의 모델링
논리적 모델링(Logical Data Modeling) - 개념적 모델링을 논리적 모델링으로 변환
- 식별자 도출모든 릴레이션 정의
- 정규화를 통해 데이터 모델의 독립성 확보 및 재사용성 높임
물리적 모델링(Physical Modeling) - 데이터베이스 구축(테이블, 인덱스 등 생성)
- 성능, 보안, 가용성 고려하여 데이터 베이스 구축

 

  • 데이터 모델링 관점
데이터 - 비즈니스 프로세스에서 사용하는 데이터
- 구조 분석, 정적 분석 
프로세스 - 비즈니스 프로세스에서 사용하는 작업
- 시나리오 분석, 도메인 분석, 동적 분석
데이터와 프로세스 - 프로세스와 데이터 관계
- CRUD(Create, Read, Update, Delete)

03. 데이터 모델링의 표준 - ERD

 엔터티와 엔터티 간의 관계를 정의하는 모델링 방법

 

ERD 작성절차

https://moqups.com/templates/diagrams-flowcharts/erd/

순서

1. 엔터티 도출 - 업무에서 관리해야 하는 집합 도출

2. 엔터티 배치 - 중요한 엔터티를 왼쪽 상단에 배치

3. 엔터티 관계 설정 - 엔터티 간의 관계 설정

4. 엔터티 관계명 서술 - 엔터티 간의 행위, 존재 기술

5. 관계 참여도 표현

6. 관계의 필수여부 표현


04. 데이터 모델링 고려사항

 

독립성 - 고객의 업무 변화에 능동적으로 대처할 수 있어야 함 > 정규화를 통한 데이터 중복 제거
고객 요구사항 표현 - 고객의 요구사항 간결하고 명확하게 표현
데이터 품질 확보 - 데이터 표준 정의 및 표준 준수율 관리
- 데이터 표준 확보 > 데이터 품질 향상에 필수

 

728x90