관리 메뉴

RUBY

[220527] SQLD _ 01. 데이터 모델의 이해 본문

자격증/SQL 개발자

[220527] SQLD _ 01. 데이터 모델의 이해

ruby-jieun 2022. 5. 27. 17:22

01. 데이터 모델의 이해

 1) 데이터베이스의 모델링

      - 현실 세계를 단순화하여 표현하는 기법

 

 2) 모델링의 특징

      ① 추상화(Abstraction)

          현실 세계를 일정한 형식으로 표현하는 것이다. 즉, 아이디어나 개념을 간략하게 표현하는 과정이다.

      ② 단순화(Simplification)

          복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미이다.

      ③ 명확화(Clarity)

          불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미이다.

 

      - 데이터베이스의 모델링은 '현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법'이다.

 

 3) 모델링의 세 가지 관점

      ① 데이터 관점(What, Data)

          데이터 위주의 모델링

          업무가 어떤 데이터들과 관련이 있는지, 데이터 간에는 어떤 관계가 있는지 모델링하는 방법

      ② 프로세스 관점(How, Process)

          프로세스 위주의 모델링

          업무가 실제로 처리하고 있는 일이 무엇인지, 앞으로 처리해야 하는 일은 무엇인지 모델링하는 방법

      ③ 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction)

          데이터와 프로세스의 관계를 위주로 한 모델링

          프로세스의 흐름(업무 처리 방법)에 따라 데이터가 어떤 영향을 받는지 모델링하는 방법

<모델링의 관점>

 

 4) 모델링의 세 가지 단계

      ① 개념적 데이터 모델링(Conceptual Data Modeling)

          추상화 수준이 높고 업무중심적이며 포괄적인 수준의 모델링이 진행된다.

          전사적 데이터 모델링 수행 시 행해지며, EA 수립시 많이 이용한다.

          * EA(Enterprise Architecture)

            조직의 프로세스 및 정보 시스템 및 부서의 구조와 기능을 포괄적이고 정확한 방법으로 기술하는 방법

      ② 논리적 데이터 모델링(Logical Data Modeling)

          재사용성이 가장 높은 모델링. 

          시스템으로 구축하고자 하는 업무(데이터베이스 모델)에 대한 Key, 속성, 관계 등을 모두 정확하게 표현하는 단계이다.

      ③ 물리적 데이터 모델링(Physical Data Modeling)

          실제 DB(데이터베이스)에 이식(구현)할 수 있도록 성능이나 가용성, 저장 등의 물리적인 성격을 고려하여 표현(설계)하는 단계이다.

          

<현실세계와 데이터베이스 사이의 모델>

 

 5) 데이터의 독립성

     ANSI-SPARC(American National Standards Institute, Standards Planning and Requirements Committee) 아키텍처

        - 1975년에 제안된 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준

        - ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나눈다.

           *3단계 구조로 분리하는 목적

              - 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함

           *데이터베이스가 존재하는 목적

              - 사용자에게 데이터를 보여줄 수 있는 뷰를 제공함

           *DBA 어플리케이션에 영향을 주지 않고 데이터베이스의 구조를 변경할 수 있어야 독립성이 보장된다.

<데이터 독립성>

  (1) 3단계 스키마 구조

      ① 외부 스키마(External Schema)

          - 사용자 관점(개인의 입장), 서브스키마라고도 한다.

          - Multiple User's View(다중 사용자 보기) 단계, 사용자 뷰를 가리킨다.

          - 각 사용자가 보는 데이터베이스의 스키마를 정의

          - 하나의 외부 스키마는 여럿이 공유 가능하며, 하나의 DB 시스템에 여러개의 외부 스키마가 존재할 수 있다.

      ② 개념 스키마(Conceptual Schema)

          - 통합된 관점, 전체적인 뷰(조직 전체의 입장)를 가리킴

          - Community View of DB(데이터베이스의 커뮤니티 보기 단계)

          - 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것

          - 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다

          - 개체간의 관계와 제약 조건을 나타내고, 데이터베이스의 접근권한/보안/무결성 규칙에 대한 명세를 정의함.

      ③ 내부 스키마(Internal Schema)

          - 물리적 관점(시스템 프로그래머나 설계자의 관점에서 바라보는 스키마)

          - Physical Representation(물리적 표현) 단계

          - 물리적인 저장 구조를 나타냄(실제 저장방법을 기술하는 물리적인 저장장치와 관련됨)

          - 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함됨

 

      * Schema 스키마(계획, 도식)

      - 데이터베이스 스키마 : 자료를 저장하는 구조와 표현법을 정의한 것을 뜻함

      - 일반적으로 '스키마'는 내부스키마를 가리킴

      - 내부스키마는 DBA(데이터베이스 관리자)가 만듦. 데이터베이스의 전체적인 구조로써 하나만 존재해야 함

 

<데이터와 3단계 스키마>
<스키마의 예>

 

  (2) 3단계 스키마 구조가 보장하는 독립성

      ㉠ 논리적 독립성

          - 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.

      ㉡ 물리적 독립성

          - 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.

 

 6) ERD(Entity Relationship Diagram)

      시스템에 어떤 엔터티(실체,객체/업무상 관리가 필요한 관심사)들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램

  (1) ERD 표기 방식

      ㉠ Peter Chen

          - 주로 대학교재에서 사용하는 표기법, 실무 사용은 드물다.

<Peter Chen 피터첸 표기법>
<Peter Chen 피터첸 표기법 예시>

      ㉡ IDEF1X(Integration Definition for Information Modeling)

          -  실무에서 사용하는 경우도 있으며 ERWin에서 사용되는 모델이기도 하다.(ERWin은 ERD를 그리는 모델링 툴이다)

<IDEF1X 표기법 예시>

      ㉢ IE/Crow's Foot

          - 까마귀발 표기법, 가장 많이 사용한다.

          - ERWin, ERStudio에서 사용되는 모델이다(ERWin, ERStudio는 ERD를 그리는 모델링 툴)

<IE/Crow's Foot 표기법 / 까마귀발 표기법 예시>
<IE/Crow's Foot 표기법 / 까마귀발 표기법 예시>

 

      ㉣ Min-Max/ISO

          - 각 엔터티의 참여도를 좀 더 상세하게 나타내는 표기법

<Min-Max/ISO 표기법 예시>

     UML

          - 소프트웨어 공학에서 주료 사용되는 모델 

<UML 표기법 예시>

      ㉥ Case*Method/Barker

          - Oracle에서 사용되는 모델로 Crow's Foot(까마귀발 표기법)과 비슷하다.

<Case*Method/Barker 표기법 예시>

 

  (2) ERD 작성 순서

        - 어떤 표기법을 사용하든 ERD를 작성하는 순서는 공통된 룰이며, 다음의 표기 순서를 따른다.

      ㉠ 엔터티를 도출하고 그린다.

      ㉡ 엔터티를 적절하게 배치한다.

      ㉢ 엔터티 간의 관계를 설정한다.

      ㉣ 관계명을 기입한다.

      ㉤ 관계의 참여도를 기입한다.

      ㉥ 관계의 필수/선택 여부를 기입한다.

Comments