CS (Computer Science)

[개발 공부 106일차] DB 개론 | 데이터 모델링 단계, 개념적 데이터 모델링

MOLLY_ 2024. 9. 28. 07:00
728x90

< 목차 >

0. TL;DR

1. 데이터 모델링 5단계

2. 데이터 모델링 관점에 따른 분류

3. 요구사항
4. 개념적 데이터 모델링

 

 

0. TL;DR

  1. 데이터 모델링 5단계: 요구사항 분석 → 개념 모델링 → 논리 모델링 → 물리 모델링 → 데이터베이스
    • 구체화 및 세분화 될수록 현업에 적용할 수 있는 단계가 됨
  2. 요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석
  3. 요구사항 주요 작업: 업무 영역의 설계 범위를 결정
  4. 개념적 모델링 단계
    1. 주제 영역 도출
    2. 핵심 데이터 집합 도출
    3. 관계 설정
    4. 핵심 속성 정의
    5. 식별자 정의

 

 

1. 데이터 모델링 5단계

구체화 & 세분화 될수록 현업에 적용할 수 있는 단계가 됨

 

  1. 요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석
  2. 개념 모델링: 정보 표현의 상위 수준 모델로 핵심 엔티티 도출 및 관계 정의 (개념 ER 모델)
  3. 논리 모델링: 업무 요건을 명확하게 표현 및 설계 (상세 ER 모델)
  4. 물리 모델링: 구현할 DBMS 특징에 맞게 표현
  5. 데이터베이스: 물리적 모델을 데이터베이스에 구현

 

 

2. 데이터 모델링 관점에 따른 분류

(1) 아키텍처 관점

  1. 개념적 설계
    1. DB에 저장할 데이터를 모형으로 표현
    2. 핵심 엔티티 추출, 전체 데이터 골격
    3. ERD(Entity Relationship Diagram) 작성
  2. 논리적 설계
    1. 엔티티와 어트리뷰트 관계 구조 설계
    2. 스키마, 식별자 설계, 정규화 수행

 

 

(2) 데이터, 프로세스, 데이터 프로세스, 상관 관점

관점 핵심 기술 설명
데이터 관점 Entity Type - 업무와 데이터 간 관계 모델링
- 데이터와 데이터 간 관계 모델링
프로세스 관점 SQL - 업무를 통해 처리하는 양식 모델링
- 무엇을, 어떻게 관점으로 모델링
데이터 프로세스 Relation-ship - 업무 처리 방법에 따른 영향
- 데이터가 받은 영향도 분석
상관 관점 CRUD - 상관관계에 따른 모델링
- CRUD Matrix 기법 적용

 

 

(3) 구체화 관점

  1. 물리적 설계
    1. DB 스키마 물리 설계
    2. 사용할 DBMS, 데이터 타입, 크기 선정
    3. 데이터 사용량 분석, 비(반)정규화
  2. 구현
    1. DBMS Software 설치 및 환경 구성
    2. 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. 개념적 데이터 모델링 - 자동차 대리점

  1. 대리점에 대한 정보
    • 대리점 엔티티, Showrooms 엔티티
  2. 대리점이 보유하고 있는 자동차 정보
    • Cars 엔티티
  3. 대리점에서 자동차를 구매한 고객 정보
    • Customers 엔티티
  4. 판매에 대한 정보
    • Sales 엔티티
  5. 대리점에서 일하는 판매원에 대한 정보
    • Salesperson 엔티티
  6. 자동차 수리에 대한 정보
    • Services 엔티티
  7. 비즈니스 요구사항
    • 모든 자동차는 반드시 대리점 쇼룸에 소속
    • 모든 판매에는 최소 1명의 판매원과 1명 이상의 고객이 연결
    • 모든 자동차에는 브랜드 이름과 제품 번호가 존재
    • 모든 고객은 전화번호와 이메일 주소를 제공

 

 

728x90