- 데이터 모델링
- 현실 세계의 대상을 데이터베이스로 표현하기 위해 추상화한다
- 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다
- 데이터 모델링 표기법을 통해 모델링을 수행한다
- 고객도 쉽게 이해할 수 있도록 복잡하지 않도록 설계한다
- 고객의 업무 프로세스를 추상화하고 SW가 분석/설계하면서 점차 상세해진다
- 데이터 모델링의 특징
- 추상화
- 현실세계를 간략하게 표현한다
- 단순화
- 누구나 쉽게 이해할 수 있도록 표현한다
- 명확성
- 명확하게 해석되어야 하며 하나의 의미를 가져야 한다
- 추상화
- 데이터 모델링 단계
- 개념적 모델링
- 전사적 관점에서 기업의 데이터를 모델링 한다
- 추상화 수준이 가장 높은 모델링이다
- 기술적 용어는 가급적 사용하지 않는다
- entity, attribute 를 도출하고 개념적 ERD를 작성한다
- 논리적 모델링
- 식별자를 도출하고 릴레이션을 정의한다
- 정규화를 수행하여 데이터 모델의 독립성을 확보한다 (독립성이 확보되면 재사용성이 올라간다)
- 물리적 모델링
- 실제 데이터베이스를 구축한다 (테이블, 인덱스, 함수 등을 생성)
- 성능, 보안, 가용성을 고려하여 구축한다
- 개념적 모델링
- 데이터 모델링을 위한 ERD
- ERD (Entity Relationship Model)은 entity와 다른 entity 간의 관계를 정의하는 모델링 방법이다
- ERD 작성 절차
- entity 를 도출하고 그린다
- entity 를 배치한다
- entity 간 관계를 설정한다
- 관계명을 서술한다
- 대체 무슨 관계가 있는 것인지 간략하게 서술
- ex) 고객 테이블과 주문 테이블간에 관계는 [장바구니의 상품을 주문한다] 정도의 관계가 있을 수 있다
- 대체 무슨 관계가 있는 것인지 간략하게 서술
- 관계 참여도를 표현한다
- 1:1, 1:N, N:M
- 관계의 필수 여부를 표현한다
- 우산(빈 동그라미) nullable
- 데이터 모델링 고려사항
- 데이터 모델의 독립성
- 독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있다
- 정규화를 통해 중복된 데이터를 제거하고 entity 를 분리할 수 있다
- 고객 요구사항의 표현
- 고객의 요구사항을 단순하게 표현해야 한다. 데이터 모델링으로 고객과 모델러가 의사소통이 가능해야 한다
- 요구사항을 간결하고 명확하게 표현해야 한다
- 데이터 품질 확보
- 데이터 표준을 정의하고 최대한 준수한다
- 데이터 모델의 독립성
참고
- 영진닷컴 도서 `2019 이기적 SQL 개발자 이론서 + 문제집`
반응형
'programming > 용어정리' 카테고리의 다른 글
[SQL] 1.2. 데이터 모델링 > 3층 스키마 (3-level schema) (0) | 2022.06.14 |
---|---|
[REST/API] REST (0) | 2022.06.13 |
Compression VS Encoding (0) | 2019.11.28 |
[용어 정리] 일괄 처리 VS 실시간 처리 (0) | 2019.10.25 |
Big O notation, 점근표기법과 시간복잡도 (0) | 2019.06.04 |