728x90
< 목차 >
0. TL;DR
1. 데이터 모델링 5단계
2. 데이터 모델링 관점에 따른 분류
3. 요구사항
4. 개념적 데이터 모델링
0. TL;DR
- 데이터 모델링 5단계: 요구사항 분석 → 개념 모델링 → 논리 모델링 → 물리 모델링 → 데이터베이스
- 구체화 및 세분화 될수록 현업에 적용할 수 있는 단계가 됨
- 요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석
- 요구사항 주요 작업: 업무 영역의 설계 범위를 결정
- 개념적 모델링 단계
- 주제 영역 도출
- 핵심 데이터 집합 도출
- 관계 설정
- 핵심 속성 정의
- 식별자 정의
1. 데이터 모델링 5단계
- 요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석
- 개념 모델링: 정보 표현의 상위 수준 모델로 핵심 엔티티 도출 및 관계 정의 (개념 ER 모델)
- 논리 모델링: 업무 요건을 명확하게 표현 및 설계 (상세 ER 모델)
- 물리 모델링: 구현할 DBMS 특징에 맞게 표현
- 데이터베이스: 물리적 모델을 데이터베이스에 구현
2. 데이터 모델링 관점에 따른 분류
(1) 아키텍처 관점
- 개념적 설계
- DB에 저장할 데이터를 모형으로 표현
- 핵심 엔티티 추출, 전체 데이터 골격
- ERD(Entity Relationship Diagram) 작성
- 논리적 설계
- 엔티티와 어트리뷰트 관계 구조 설계
- 스키마, 식별자 설계, 정규화 수행
(2) 데이터, 프로세스, 데이터 프로세스, 상관 관점
관점 | 핵심 기술 | 설명 |
데이터 관점 | Entity Type | - 업무와 데이터 간 관계 모델링 - 데이터와 데이터 간 관계 모델링 |
프로세스 관점 | SQL | - 업무를 통해 처리하는 양식 모델링 - 무엇을, 어떻게 관점으로 모델링 |
데이터 프로세스 | Relation-ship | - 업무 처리 방법에 따른 영향 - 데이터가 받은 영향도 분석 |
상관 관점 | CRUD | - 상관관계에 따른 모델링 - CRUD Matrix 기법 적용 |
(3) 구체화 관점
- 물리적 설계
- DB 스키마 물리 설계
- 사용할 DBMS, 데이터 타입, 크기 선정
- 데이터 사용량 분석, 비(반)정규화
- 구현
- DBMS Software 설치 및 환경 구성
- DB 및 테이블 생성, 환경 구성
3. 요구사항
(1) 요구사항 분석
: 업무 및 기능 수행에 필요한 정의 분석
- 사용자의 요구사항을 수집, 분석해 프로젝트에서 개발하려는 DB 용도 파악
- 업무에 필요한 데이터가 무엇인지 파악하고, 어떤 데이터 처리가 필요한지 파악
- 결과물로 요구사항 명세서 도출
(2) 요구사항 주요 작업
: 업무 영역의 설계 범위를 결정
- 요구사항 수집 (면담, 설문조사, 업무 관련 문서 분석)
- [중요] 사용자가 조직에서 수행하는 업무 분석 (상세하게)
- 수집된 요구사항에 대한 분석 결과를 요구사항 명세서로 작성
(3) 요구사항 분석 단계
단계 | 설명 |
설계 범위 정의 | 업무 영역의 설계 범위 포함 요건 정의 |
메타데이터 표준안 | 메타데이터 지침 마련, 표준안 수립 |
사용자 뷰 및 자료 수집 | 업무 수행을 위한 자료 집합, 외부 스키마 |
자료 사전 구축 | 자료 및 정보의 본질에 대해 기술 |
사용 패턴 조사 | 트랜잭션 처리를 위한 논리적인 경로 |
운영 요구 조사 | 운영 시 보안, 백업, 복구사항 조사 |
4. 개념적 데이터 모델링
- 비즈니스 이해관계자와 분석가는 일반적으로 개념적 모델을 생성
⇒ 이때 가장 중요한 게 ‘비즈니스 도메인’에 대한 이해 - 공식 데이터 모델링을 따르지 않는 간단한 다이어그램 표현
- 기술 및 비기술 이해관계자가 공통의 비전을 공유하고 데이터 프로젝트의 목적, 범위 및 설계에 대한 의견 일치가 중요
- 개념적 데이터 모델은 데이터에 대한 큰 그림 보기를 제공
- 시스템에 들어있는 데이터
- 데이터 속성 및 데이터에 대한 조건 or 제약조건
- 데이터와 관련된 비즈니스 규칙
- 최고의 데이터 구성법
- 보안 및 데이터 무결성 요구사항
개념적 모델링 단계
절차 | 기법 / 종류 | 설명 |
1. 주제 영역 도출 | - 상향식, 하향식 - inside-out, 혼합 |
하위 주제 영역 or 데이터 집합들로 구성, 업무/대응 |
2. 핵심 데이터 집합 도출 | - 독립, 의존 중심 - 의존 특성 |
데이터 보관 단위로 주제 영역의 중심 데이터 집합 정의 |
3. 관계 설정 | - 1:1, 1:N, M:N - 순환 관계 |
업무적 연관성에 따라 개체 간 갖는 연관 설정 |
4. 핵심 속성 정의 | - 원자 단위 검증 - 유일값, 상세화 |
데이터 집합 특성을 나타내는 항목 |
5. 식별자 정의 | - PK(기본키), CK(후보키), AK(대리키) - FK(외래키)로 구분 |
데이터 집합을 식별해 주는 속성 (PK로 구현) |
e.g. 개념적 데이터 모델링 - 자동차 대리점
- 대리점에 대한 정보
- 대리점 엔티티, Showrooms 엔티티
- 대리점이 보유하고 있는 자동차 정보
- Cars 엔티티
- 대리점에서 자동차를 구매한 고객 정보
- Customers 엔티티
- 판매에 대한 정보
- Sales 엔티티
- 대리점에서 일하는 판매원에 대한 정보
- Salesperson 엔티티
- 자동차 수리에 대한 정보
- Services 엔티티
- 비즈니스 요구사항
- 모든 자동차는 반드시 대리점 쇼룸에 소속
- 모든 판매에는 최소 1명의 판매원과 1명 이상의 고객이 연결
- 모든 자동차에는 브랜드 이름과 제품 번호가 존재
- 모든 고객은 전화번호와 이메일 주소를 제공
728x90
'CS (Computer Science)' 카테고리의 다른 글
[개발 공부 109일차] DB 개론 | 데이터 모델링 1차 정규화, 2차 정규화 (19) | 2024.09.30 |
---|---|
[개발 공부 108일차] DB 개론 | ERD, 논리적/물리적 데이터 모델링 (6) | 2024.09.29 |
[개발 공부 105일차] DB 개론 | 식별자, 관계 (0) | 2024.09.27 |
[개발 공부 104일차] DB 개론 | 엔티티 타입 및 속성 (20) | 2024.09.26 |
[개발 공부 103일차] DB 개론 | 데이터베이스 모델링 개념 (2) | 2024.09.25 |