SQLD_1. 데이터 모델링의 이해

김준혁·2023년 3월 16일

1. 모델링(Modeling)의 개념.

  • 모델링은 현실 세계를 특정한 목적에 따라 단순화, 추상화 하여 이용하기 쉬운 형식으로 표현하는 과정.
  • 단순화, 추상화, 명확화 하기 위해 일정한 표기법을 사용하여 표현하는 기법.

2. 모델링의 특징

  • 필요한 기능만 선택하는 단순화,
  • 비슷한 수준끼리 통합하여 표현하는 추상화,
  • 모호함을 제거하는 명확화

+keyPoint+

:: 모델링의 특징!!

  • 단순화 , 추상화, 명확화 <==> (단추구명(멍))



데이터모델링의 기본개념 이해

1. 데이터모델링의 개념

  • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정.
  • 정보시스템 구축을 휘해 현업이나 고객의 요구사항을 분석 및 검증하여, 적정한 기호를 사용해 객관적으로 표현하고, 물리적으로 구현하는 전체 과정.

2. 데이터모델이 제공하는 기능

- 가시화

:: 시스템의 현재모습이나 원하는 모습을 시각적으로 보도록 지원

- 구조화

:: 시스템 구축하기 위해 구조화된 틀 제공

- 명세화

:: 스스템 구조와 행동을 명확히 정의하여 기술

- 문서화

:: 시스템 구축 과정에서 결정한 내용을 기록 및 보관

- 다양한 관점

:: 다른영역의 세부 사항은 숨기고 다양한 관점을 제공

- 표현방법 제공

:: 구체화한 상세 수준의 표현방법 제공

+keyPoint+

:: 데이터모델의 기능!!

  • 가시화, 구조화, 명세화, 문서화, 다양한 관점, 표현방법 제공 <==> (가구명문 관표) "가구 명문에 관심을 표현하다."

3. 데이터모델링의 유의점.

  • 데이터의 중복저장을 피하고,
  • 데이터 정의와 사용프로세스 간의 유연성을 향상시키며,
  • 데이터에 모순이 발생하지 않아야한다.

+keyPoint+

:: 데이터모델링의 유의점!!

  • 비유연성
    :: 데이터의 정의를 데이터의 사용 프로세스와 분리하여 데이터나 프로세스의 작은 변화가 애플리케이션과 데이터베이스의 중대한 변화를 일으킬 가능성을 감소시켜야한다.
  • 비일관성
    :: 데이터 간의 상호 연관 관계를 명확하게 정의하여 데이터에 모순이 발생하지 않도록 한다.
  • 중복성
    :: 여러 장소의 데이터베이스에 같은 정보를 저장하지 않도록한다.
    <==> 유일중 (비유연성, 비일관성, 중복성)

4. 데이터모델링의 3가지 요소

  • Things, Attributes, Relationship 이 있다.
  • Things
    :: 업무가 관여하는 어떤것
  • Attributes
    :: 어떤것(Things)이 가지는 성격
  • Relationship
    :: 업무가 관여하는 어떤것 간의 관계

5. 데이터모델링의 3단계 진행.

  • 데이터모델링은 추상화 수준에 따라, 개념적 데이터 모델링, 논리적 데이터 모델링, 물리적 데이터 모델링 3단계로 진행됨.
    ...

- 개념적 데이터 모델링 (추상화 수준: 높음)

:: 추상화 수준이 높고, 포괄적인 수준의 데이터 모델링
:: (결과물로 ERD 도출)

  • ERD 란? (Entity Relationship Diagram)
    :: 데이터 모델을 표현하는 방법으로, 개체(Entity)와 개체(Entity) 간의 관계를 이해하기 쉽도록 약속된 도형으로 표기하는 방법.
    ...

- 논리적 데이터 모델링 (추상화 수준: 중간)

:: 구축하고자하는 업무에 대해 식별자, 속성, 관계 등을 정확하게 표현.
:: 재사용성이 가낭 높은 데이터 모델링.
:: 데이터 정규화 작업.
:: 데이터 모델링이 최종적으로 완료된 상태.

  • 정규화 란?
    :: 관계형 데이터베이스의 설계에서 데이터의 중복을 최소화하도록 데이터를 구조화하는 프로세스(과정)이다.
    :: 정규화의 목적은 테이블을 갠신, 삽입, 삭제 시 원치 않는 부작용 발생을 방지하기 위함이다.
    ...

- 물리적 데이터 모델링 (추상화 수준: 낮음)

:: 데이터베이스의 물리적인 성격(성능, 저장등)을 고려하여 설계.
:: 실제로 데이터베이스를 구축할 떄 참고되는 모델.

+keyPoint+

:: 개논물 <==> 데이터 모델링의 3단계

데이터 독립성과 데이터베이스 3단계 구조

1. 독립성의 개념.

  • 하위 단계의 데이터 구조가 변경 된더라고, 상위 단계에 영향을 미치지 않는 속성.
  • 데이터베이스 구조의 변경으로 인해 그 영향이 미치지 않도록 하는것.

2. 데이테데이스 3단계 구조.

  • ANSI-SPARC에서는 일반 사용자가 데이터베이스를 쉽게 이해 및 사용할 수 있도록 3단계 데이터베이스 구조를 제안했다.
  • 3단계 구조를 통해 데이터 독립성을 확보 할 수 있다.
  • ANSI_SPARC (American National Standards Institute, Standards Planning And Requirements Committee)
    ::: 미국의 컴퓨터 및 정보처리에 관한 표준화 위원회.

외부 단계 == (외부 스키마)

-:: 개별 사용자 관점에서 이해 및 표현.
-:: 각각의 사용자가 접근하는 데이터베이스 정의.

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

-:: 전체 사용자등의 관점을 통합, 조직 전체의 관점에서 이해 및 표현.
-:: 저장ㄷ되는 데이터 간의 관계를 기술.

내부 단계 == (내부 스키마)

-:: 저장장치의 관점에서 이해 및 표현.
-:: 데이터가 물리적 장치에 실제로 저장되는 방법을 표현.

+keyPoint+

  • 데이베이스의 3단계 구조.
    :: 외개내 <==> 외부/ 개념/ 내부 (단계)

ERD 이해

1. 개념

  • 데이터 모델을 표현하는 방법.
  • 개체와 개체 간의 관계를 이해하기 쉽게 약속된 도형들의 표시.

2. ER 모델 표기법

  • IE/Crow's Foot
  • Case*Method/Barker
  • UML 이 존재한다.

3. ERD 작성 순서.

    1. 엔티티 생성
      :: 엔티티를 그린다.
    1. 엔티티 배치
      :: 각각의 엔티티를 적정하게 배치한다.
    1. 관계 설정.
      :: 관련있는 엔티티 간의 관계를 설정하고 연결한다.
    1. 관계명 표시
      :: 연결된 관계에 관계명을 기술한다.
    1. 관계 차수 및 선택성 표시.
      :: 인스턴스들의 관계 참여도를 나타내는 관계차수를 표현하고 필수/선택 표시.
profile
기본에 충실하자

0개의 댓글