CHATPER01 | 데이터 모델링의 이해

rimmz·2022년 5월 16일
0

자격증 | SQLD

목록 보기
2/3
post-thumbnail

CHATPER01 | 데이터 모델링의 이해

1. 데이터 모델링의 이해


📍 모델링(Modeling)의 개념

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

⭕ 모델링의 특징

  • 단순화 : 목적을 위해 필요한 기능만 선택, 복잡한 현실을 제한된 언어나 표기법을 이용해 쉽고 단순하게 표현
  • 추상화 : 필요한 부분이나 중요한 부분을 통합하여 표현
  • 명확화 : 대상에 대한 모호함을 제거하고 정확하게 기술

📍 데이터 모델링의 개념

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

⭕ 데이터 모델링의 유의점

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

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

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

  • Things : 업무가 관여하는 어떤 것
  • Attributes : 어떤 것이 가지는 성격
  • Relationship : 업무가 관여하는 어떤 것 간의 관계

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

  • 1. 개념적 데이터 모델링
    추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링
    결과물로 ERD 도출

  • 2. 논리적 데이터 모델링
    시스템으로 구죽하고자하는 업무에 대해 식별자, 속성, 관계 등을 정확하게 표현
    데이터 모델의 재사용성이 가장 높은 데이터 모델링
    데이터 정규화 작업

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

📍 데이터 독립성

하위 단계의 데이터 구조가 변경되더라고 상위 단계에 영향을 미치치 않는 속성

📍 데이터베이스 3단계 구조

ANSI-SPARC에서는 일반 사용자가 데이터베이스를 쉽게 이해 및 사용할 수 있도록 제안한 구조
데이터 베이스 3단계 구조를 통해 데이터 독립성을 확보할 수 있다.

⭕ 데이터베이스 3단계 구조

  • 외부단계 | 외부 스키마
    개별 사용자 관점에서 데이터베이스를 이해 및 표현
    각각의 사용자나 응용 프로그래머가 접근하는 데이터 베이스 정의

  • 개념 단계 | 개념 스키마
    전체 사용자들의 관점을 통합, 조직 전체의 관점에서 이해 및 표현
    데이터베이스에 저장되는 데이터 간의 관계를 기술
    (데이터 모델링은 통합 관점의 개념 스키마를 만드는 과정)

  • 내부 단계 | 내부 스키마
    저장 장치의 관점에서 데이터베이스를 이해 및 표현
    데이터가 물리적 장치에 실제로 저장되는 방법을 표현

📍 ERD

데이터 모델을 표현하는 방법으로, 개체(Entity)와 개체(Entity) 간의 관계를 이해하기 쉽게 약속된 도형으로 표시하는 표기법

⭕ 데이터베이스 3단계 구조

  • IE / Crow's Foot : 까마귀 발 모양의 표기법
  • Case * Method / Barker : 오라클 Case Method로 채택하여 사용
  • UML : 스테레오 타입을 이용하여 엔티티 표현

⭕ ERD 작성 순서

  • 엔티티 생성 > 엔티티 배치 > 관계 설정 > 관계명 표시 > 관계 차수 및 선택성 표시

⭕ 관계 차수와 선택성

  • 관계가 참여하는 성격 중 엔티티 내에 인스턴스들이 얼마나 관계에 참여하는지를 나타내는 관계 차수(Cardinality)를 표현

📍 엔티티

📍 속성

📍 관계

📍 식별자

profile
#의욕넘치는#💻#✨#Front-end#💪🏻

0개의 댓글