본문 바로가기
자격증/SQLD

데이터 모델링의 이해 - 데이터 모델의 이해

by Love of fate 2024. 2. 20.
728x90
반응형

모델링이란 ? 

 - 데이터베이스의 모델링은 '현실 세계를 단순화하여 표현하는 기법'이다.

 

모델은 현실세계에서 일어날 수 있는 다양한 현상에 대해 일정한 표기법에 의해 표현해 놓은 모형이라고 할 수 있으며 

모델링은 이런 모델을 만들어가는 일이라고 할 수 있다. 

 

[모델링의 특징]

- 추상화(Abstraction)

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

 

- 단순화(Simplification)

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

 

- 명확화(Clarity)

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

 

Tip 

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

 

[모델링의 세 가지 관점]

1) 데이터 관점 

  - 데이터 위주의 모델링이라고 할 수 있다. 어떤 데이터들이 업무와 얽혀있는지, 그리고 그 데이터 간에는

    어떤 관계가 있는지에 대해서 모델링하는 방법이다.

 

2) 프로세스 관점

  - 프로세스 위주의 모델링이라고 할 수 있다. 이 업무가 실제로 처리하고 있는 일은 무었인지 또는 앞으로 처리해야 하는

    일은 무엇인지를 모델링하는 방법이다. 

 

3) 데이터와 프로세스의 상관 관점 

  - 데이터와 프로세스의 관게를 위주로 한 모델링이라고 할 수 있다. 프로세스의 흐름에 따라 데이터가

   어떤 영향을 받는지를 모델링하는 방법이다.

 

Tip

  데이터의 품질(데이터의 신뢰도, 정확성 등을 나타내는 척도)을 보장하기 데이터 모델링 시ㅏ 다음 사항에 유의해야 한다.

 

중복 (Duplication) 

 - 같은 데이터가 여러 엔티티에 중복으로 저장되는 현상을 지양해야 한다.

 

비유연성 (Inflexibilty)

 - 데이터 모델의 설계에 따라 애플리케이션의 사소한 변경에도 데이터 모델이 수시로 변경되어야 하는 상황이 생길

  수 있다.  이런 상황은 시스템을 유지보수하는 데에 어려움을 가중시키므로 데이터 모델과 프로세스를 분리하여 유연성을

  높이는 이 바람직하다. 

 

비일괄성 

 - 데이터로 중복이 없는 경우에도 비일관성이 발생할 수 있다. 

   개발자가 다른 데이터와의 연관성을 고려하지 않고 일부 데이터만 변경할 수 있기 때문이다. 

   이런 위험을 예방하기 위해 데이터 모델링을 할 때 데이터 간의 연관 관계에 대해 명확하게 정의해야 한다.

 

[모델링의 세 가지 단계]

 

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

- 전사(회사 전체 차원의)적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링이다. 

  이 단계에서는 업무중심적이고 포괄적인 수준의 모델링이 진행된다.

 

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

- 재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계이다.

 

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

- 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계이다.

 

 

[데이터의 독립성]

ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나누는데, 이렇게 분리하는 목적은 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함이다. 

 

데이터베이스가 존재하는 목적 중의 하나는 사용자에게 데이터를 보여줄 수 있는 뷰를 제공하는 것이다. 

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

 

3단계 스키마 구조 

1) 외부 스키마 (External Schema)

 사용자의 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의한다 

 

2) 개념스키마 (Conceptual Schema)

 통합된 관점 : Commuity View of DB  단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것이다. 데이터베이스의 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다.

 

3) 내부 스키마 (Internal Schema)

 물리적인 관점 : Physical Repressentation 단계로 물리적인 저장 구조를 나타낸다. 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함된다.

 

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

ANSI-SPARC 아키텍처에서 이렇게 스키마를 3단계 구조로 나누는 이유는 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하여 독립성을 보장하기 위한것이다.

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

2) 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.

 

ERD 작성순서 

어떤 표기법을 사용하든  ERD를 작성하는 순서는 공통된 룰이다.

1) 엔티티를 도출하고 그린다.

2) 엔티티를 적절하게 배치한다.

3) 엔티티간의 관계를 설정한다. 

4) 관계명을 기입한다. 

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

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

728x90
반응형