본문 바로가기
IT 개발/POSTGIS

SQLD (데이터 모델링)

by Love of fate 2020. 2. 3.
728x90
반응형

SQLD (데이터 모델링)

 

SQL(structured Query Language)은 데이터베이스에서 질의(Query)를 실행해서 원하는 데이터를

조회하거나 입력, 수정, 삭제 등을 하 수 있는 절차형 언어이다. 


데이터 모델링

- 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해 추상화 한다.

- 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야한다.

- 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다.

- 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다.

- 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석, 설계하면서 점점 더 상세해 진다.

- 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다.

  정의된 비즈니스 규칙을 데이터 모델로 표현한다.

 

데이터 모델링의 특징

- 데이터 모델링은 추상화해야 한다. 추상화는 공통적인 특징을 찾고 간략하게 표현

- 데이터 모델링은 단순화해야 한다. 복잡한 문제를 피하고 누구나 이해할 수 있게 표현

- 데이터 모델링은 명확해야 한다. 의미적 해석이 모호하지 않고 명확하게 해석되어야 한다.

 

  • 데이터 모델링의 주요 특징
특징 설명
추상화(Abstraction) 현실세계를 간략하게 표현
단순화(Simplification) 누구나 쉽게 이해할 수 있도록 표현
명확성(Clarity) 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.

데이터 모델링 단계

데이터 모델링은 개념적 모델링, 논리적 모델링, 물리적 모델링 단계로 이루어진다.

 

개념적 모델링(Conceptual Data Modeling)

- 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링을 수행한다.

- 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링 하는 단계

- 업무관점에서 모델링하며 기술적인 용어는 가급적 사용하지 않는다

- 엔티티(Entity)와 속성(Attribute)을 도출하고 개념적 ERD(Entry Relationship Diagram)를 작성한다.

 

논리적 모델링(Logical Data Modeling)

- 개념적 모델링을 논리적 모델링으로 변환하는 작업

- 식별자를 도출하고 필요한 모든 릴레이션을 정의한다.

- 정규화를 수행해서 데이터 모델의 독립성을 확보

 

물리적 모델링(Physical Modeling)

- 데이터베이스를 실제 구축, 즉 테이블, 인덱스, 함수 등을 생성

- 성능, 보안, 가용성을 고려해서 구축

 

  • 데이터 모델링 단계 
데이터 모델링 단계 설명
개념적 모델링 전사적 관점에서 기업의 데이터를 모델링한다.
추상화 수준이 가장 높은 수준의 모델링이다.
계층형 데이터 모델, 네트워크 모델, 관계형 모델에 관계없이 업무 측면에서 모델링을 한다.
논리적 모델링 특정 데이터베이스 모델에 종속한다.
식별자를 정의하고 관계, 속성 등을 모두 표현한다.
정규화를 통해서 재사용성을 높인다.
물리적 모델링 구축할 데이터베이스 관리 시스템에 테이블, 인덱스 등을 생성하는 단계이다.
성능, 보안, 가용성 등을 고려하여 데이터베이스를 구축한다.

 

  • 데이터 모델링 관점
관점(View) 설명
데이터 비즈니스 프로세서에서 사용되는 데이터를 의미
구조분석, 정적 분석
프로세스 비즈니스 프로세서에서 수행하는 작업을 의미
시나리오 분석, 도메인 분석, 동적 분석
데이터와 프로세스 프로세스와 데이터간의 관계를 의미
CRUD(Create Read Update Delete) 분석

데이터 모델링을 위한 ERD(Entity Relationship Diagram)

- 1976년 피터첸이 Entry Relationship Model 표기법을 만들었으며 데이터 모델링의 사실상 표준으로 사용되고 있다.

- 엔티티(Entity)와 엔티티 간의 관계를 정의하는 모델링 방법이다.

 

[1] ERD 작성 절차

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

      - 업무에서 관리해야 하는 집합을 도출한다.

 

   2. 엔티티를 배치한다.

      - 엔티티를 도출하면 엔티티를 배치한다.

      - 중요한 엔티티를 왼쪽 상단에 배치한다.

    

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

 

   4. 관계명을 서술한다.

      - 엔티티 간의 어떤 행위나 존재가 있는지 표현한다. 

    

   5. 관계 참여도를 표현한다.

      - 관계 참여도는 한 개의 엔터티와 다른 엔터티 간의 참여하는 관계 수를 의미한다.

      - 즉, '고객이 여러 개의 계좌를 개설할 수 있다'와 같은 의미를 표현하는 것이다.

 

   6. 관계의 필수 여부를 표현한다.

      - 필수는 반드시 존재해야 하는 것이다.

      - 예를 들어 '모든 고객은 반드시 하나의 계좌는 개설해야 한다.'와 같은 의미를 표현한다.

 

[2] ERD 작성 시 고려사항

  - 중요한 엔터티를 가급적 왼쪽 상단에 배치한다.

  - ERD는 이해가 쉬워야 하고 너무 복잡하지 않아야 한다.

 

데이터 모델링 고려사항

[1] 데이터 모델의 독립성

  - 독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있다.

  - 독립성을 확보하기 위해서는 중복된 데이터를 제거해야 한다.

  - 데이터 중복을 제거하는 방법이 바로 정규화이다.

 

[2] 고객 요구사항의 표현

  - 데이터 모델링으로 고객과 데이터 모델러 간의 의사소통을 할 수 있어야 함으로, 고객의 요구사항을 너무 

    복잡하지 않게 표현한다.

  - 요구사항을 간결하고 명확하게 표현해야 한다.

 

[3] 데이터 품질 확보

  - 데이터베이스 구축 시에 데이터 표준을 정의하고 표준 준수율을 관리해야 한다.

  - 데ㅣ터 표준을 확보해야 데이터 품질을 향상시킬 수 있다. 

728x90
반응형