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 작성절차
순서
1. 엔터티 도출 - 업무에서 관리해야 하는 집합 도출
2. 엔터티 배치 - 중요한 엔터티를 왼쪽 상단에 배치
3. 엔터티 관계 설정 - 엔터티 간의 관계 설정
4. 엔터티 관계명 서술 - 엔터티 간의 행위, 존재 기술
5. 관계 참여도 표현
6. 관계의 필수여부 표현
04. 데이터 모델링 고려사항
독립성 | - 고객의 업무 변화에 능동적으로 대처할 수 있어야 함 > 정규화를 통한 데이터 중복 제거 |
고객 요구사항 표현 | - 고객의 요구사항 간결하고 명확하게 표현 |
데이터 품질 확보 | - 데이터 표준 정의 및 표준 준수율 관리 - 데이터 표준 확보 > 데이터 품질 향상에 필수 |
728x90