Tiny Star

📊DataBase/📈SQL

[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 데이터 모델의 이해 (24년 개정 요약)

청크 2024. 2. 8. 15:19

그동안 공부한 1과목 복습 겸 내용 공유를 할까한다.

아직 개정된 요약은 많이 없기 때문에 구매한 이론서를 보고 하나하나 요약을 해봤다.

이 글만 보고 합격할 수 있도록 출판사 매출에 씨를 말리겠다는 각오를 해본다.

·

·

·

[데이터 모델의 이해]

· 데이터 모델링 : 비즈니스 운영 내에서 데이터의 수집, 저장, 사용방법 등 전체적인 내용을 개념화하고 시각화하여 데이터베이스를 구축하기 위한

                                분석 또는 설계의 과정으로 데이터 모델링 표기법을 사용하는 데이터 관점의 업무 분석기법

 

· 모델링의 특징

 1) 추상화(Abstraction) : 현실세계를 간략하게 표현

 2) 단순화(Simplification) : 누구나 쉽게 이해할 수 있도록 표현

 3) 명확성(Clarity) : 명확하게 의미가 해석되어야 하고 한 가지의 의미를 가져야 함

 

· 데이터 모델링 단계

 1) 개념적 모델링(기획)

 : 엔터티와 속성을 도출하고 개념적 ERD를 작성하는 단계

 : 전사적 관점에서 데이터를 모델링하며 추상화 수준이 가장 높은 단계

 2) 논리적 모델링(분석)

 : 개념적 모델링을 논리적 모델링으로 변환하는 작업

 : 식별자를 도출하고 관계, 속성 등을 모두 표현하며 정규화 수행으로 모델의 독립성을 확보 (재사용성을 높임)

 3) 물리적 모델링(설계)

 : 데이터베이스를 실제 구축하는 단계로 테이블, 인덱스, 함수 등을 생성하고 성능/보안/가용성을 고려해서 구축

 

 * 실제로는 분석 단계에서 개념적+논리적 모델링이 진행되고, 설계 단계에서 물리적 모델링이 진행됨

 

· 데이터 모델링 관점(View)

 1) 데이터 : 비즈니스 프로세스에서 사용되는 데이터를 의미 - 구조 분석, 정적 분석

 2) 프로세스 : 비즈니스 프로세스에서 수행되는 작업을 의미 - 시나리오 분석, 도메인 분석, 동적 분석

 3) 데이터와 프로세스 : 프로세스와 데이터 간의 관계를 의미 - CRUD 분석

 

· 데이터 모델의 표기법

 -> 1976년 피터첸이 Entity Relationship Model 표기법 개발

 -> 엔티티를 사각형으로, 관계를 마름모로, 속성을 타원형으로 표현

 

· ERD (Entity Relationship Diagram) 모델링하는 방법

 1) 엔터티를 출하고 그리기

 2) 도출한 엔터티 치 (중요한 엔터티를 왼쪽 상단에 배치)

 3) 엔터티 간의 계를 설정

 4) 관계을 서술 (엔터티 간의 어떤 행위나 존재가 있는지 표현)

 5) 관계 여도를 표현 (엔터티들 간의 참여하는 관계 수)

 6) 관계의 수 여부를 표현 (필수는 반드시 존재해야 하는 것)

* 도-배-관-명-참-필

* ERD는 이해가 쉬워야 하고 너무 복잡하기 않아야 함

 

· 데이터 모델링의 고려사항

 1) 독립성 : 업무 변화에 능동적으로 대응할 수 있어야 하며 독립성 확보를 위해서는 중복된 데이터를 제거(정규화)해야 함

 2) 고객 요구사항의 표현 : 데이터 모델링으로 고객과 데이터 모델러 간에 의사소통이 되어야 하고 요구사항을 간결하고 명확하게 표현 해야함

3) 데이터 품질 확보 : 구축 시 데이터 품질향상을 위해 데이터 표준을 정의하고 데이터 준수율을 관리해야 함

 

· 스키마 : 데이터 베이스에 저장되는 데이터 구조와 제약조건을 정의한 것

 ex) 스키마 - 평면도, 데이터 베이스 - 집, 테이블 - 방

 

· 3층 스키마 (3-Level Schema)

 -> 사용자, 설계자, 개발자가 데이터 베이스를 보는 관점에 따라서 데이터 베이스를 기술하고 이들 간의 관계를 정의한 ANSI 표준

 -> 데이터 베이스의 독립성을 확보하기 위한 방법

 

* 데이터 독립성을 확보하면 데이터 복잡도 감소, 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등의 장점을 갖음

* ANSI(America National Standard Institute) : 미국표준협회 - 데이터 베이스와 관련된 표준을 정의한 것

* ANSI SQL 표준 : SQL문이 모든 데이터 베이스 관리 시스템에서 호환되도록 정의한 표준

 

· 3층 스키마의 독립성

 1) 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향 없음

 2) 물리적 독립성 : 내부 스키마가 변경되어 외부/개념 스키마는 영향 없음

 

· 3층 스키마 구조

 1) 외부 단계 (외부 스키마 = 서브 스키마)

  : 데이터 베이스 하나에 외부 스키마가 여러 개 존재할 수 있음

  : 각 사용자가 생각하는 DB의 모습으로 사용자마다 다른 모습

 2) 개념적 단계 (개념 스키마 = 스키마)

  : 데이터 베이스 하나에 개념 스키마는 하나만 존재함

  : 조직 전체의 관점에서 생각하는 데이터 베이스의 모습 (통합)

  : 전체 데이터 베이스에 저장되는 정보, 데이터 간의 관계,

    제약 조건 등에 대한 정의, 데이터 보안정책이나 접근권한 등 포함

 3) 내부적 단계 (내부 스키마 = 저장 스키마)

  : 데이터 베이스 하나에 내부 스키마가 하나만 존재함

  : 레코드 구조 및 접근 경로, 필드 크기 등 물리적인 저장 구조를 정의한 것

    (물리적 장치에서 데이터가 실제적으로 저장)

 

* MAPPING (사상) : 상호 독립적인 개념을 연결시켜주는 다리로 데이터 베이스를 3단계 구조로 나누고 단계별로 스키마를 유지하면서

스키마 사이의 대응 관계를 정의하는 목적으로 데이터 독립성을 실현

 

1) 외부/개념 사상 : 응용 인터페이스 (외부-내부 스키마의 대응 관계)

2) 개념/내부 사상 : 저장 인터페이스 (개념-내부 스키마의 대응 관계)