Yeonnnnny

[1과목] 1-1. 데이터 모델의 이해 본문

SQLD

[1과목] 1-1. 데이터 모델의 이해

yeonny_do 2024. 2. 29. 10:11

■ 모델링의 개념

  • 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정
  • 데이터 베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의
  • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  • 현실 세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
  • 데이터 베이스를 구축하기 위한 분석 또는 설계의 과정

 

 

 모델링의 특징

  1. 단순화 (Simplication)
    • 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부사항을 제거
    • 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬움
  2. 추상화 (Abstraction)
    • 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정
    • 다양한 현상을 일정한 양식인 표기법에 따라 표현
  3. 명확화 (Clearity)
    • 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
    • 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함

 

 

 데이터 모델링 유의점

  1. 중복 (Duplication)
    • 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
  2. 비유연성 (Inflexibility)
    • 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
    • 데이터 정의를 프로세스와 분리
  3. 비일관성 (Inconsistency)
    • 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
    • 데이터 간 상호 연관 관계를 명확히 정의
    • 데이터 품질 관리 필요
    • 데이터의 중복이 없더라도 비일관성은 발생할 수 있음

 

 

 데이터 모델링 3가지 요소

  1. 대상 (Entity) : 업무가 관리하고자 하는 대상(객체)
  2. 속성 (Attribute) : 대상들이 갖는 속성 (하나의 특징으로 정의될 수 있는 것)
  3. 관계 (Relationship) : 대상들 간의 관계

 

 

 데이터 모델링의 3단계

  1. 개념적 모델링
    • 업무 중심적이고 포괄적(전사적)인 수준의 모델링
    • 추상화 수준이 가장 높음
    • 업무를 분석한 뒤 핵심 엔터티(Entity)를 추출하는 단계
    • 도출된 핵심 엔터티(Entity)들과의 관계들을 표현하기 위해 ERD 작성
    • EA (Enterprise Architecture)수립시 많이 이용
  2. 논리적 모델링
    • 개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계
    • 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
    • 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
    • 데이터 정규화 수행
    • 재사용성이 높은 논리적 모델은 유지보수가 용이해짐
  3. 물리적 모델링
    • 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
    • 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려
    • 가장 구체적인 데이터 모델링 → 추상화 수준은 가장 낮음
    • 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

 

 

 데이터 모델의 표기법 (ERD : Entity Relationship Diagram)

  • 엔터티 (Entity)와 엔터티 간의 관계(Relationship)를 시각적으로 표현한 다이어그램
  • 1976년 피터 첸(Peter Chen)이 만든 표기법, 데이터 모델링 표준으로 사용

 

 

  ERD 작성 절차 (6단계) 

  1. 엔터티 도출
  2. 엔터티 배치
  3. 엔터티 간의 관계를 설정
  4. 관계명 기술
  5. 관계의 참여도 기술
  6. 관계의 필수 여부 기술

 

 

 3단계 구조 스키마 (3-Level Schema)

  • 데이터베이스의 독립성을 위해3단계 구조 스키마가 존재함
  • 사용자(외부 스키마) , 개발자(개념 스키마) , 설계자(내부 스키마)의 각기 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 ANSI 표준으로 정함
  • 데이터의 독립성 확보를 통해서 데이터 복잡도 감소, 데이터 중복 제고, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등의 장점이 생김
  • 각 계층을 라고 부르며 3단계 계층으로 분리되어 서로 독립성을 확보함

 

 

 데이터 베이스 스키마 구조 3단계

  • 외부 스키마 (External Schema) : 외부 단계
    • 데이터 베이스의 개별 사용자 관점의 이해와 표현
    • 응용프로그램이 접근하는 데이터베이스
    • 여러 개의 외부 스키마 존재
  • 개념 스키마 (Conceptual Schema) : 개념 단계
    • 데이터베이스 관리자의 관점으로 규칙과 구조 표현
    • 데이터베이스의 전체적인 논리 구조
    • 일반적으로 스키마는 개념 스키마를 지칭함
  • 내부 스키마 (Internal Schema) : 내부 단계
    • 데이터베이스 시스템의 설계자 관점으로 저장장치 관점의 이해 및 표현
    • 데이터가 실제로 데이터베이스에 물리적으로 어떻게 저장되는지 확인

'SQLD' 카테고리의 다른 글

[1과목] 1-6. 정규화  (0) 2024.03.03
[1과목] 1-5. 식별자  (0) 2024.03.01
[1과목] 1-4. 관계 (Relationship)  (0) 2024.03.01
[1과목] 1-3. 속성 (Attribute)  (1) 2024.03.01
[1과목] 1-2. 엔터티 (Entity)  (0) 2024.03.01