[1과목] 10. 모델링 - 좋은 데이터 모델의 요소

yeomss·2022년 3월 4일
0

SQLD

목록 보기
10/14
post-thumbnail

개요


일반적으로 시스템 구축 과정에서 생성되는 데이터 모델은 그 품질을 평가하는 것이 매우 어렵다. 객관적인 지표가 없지만 몇 가지의 요소들을 설명해보겠다.

  1. 완전성
  2. 중복 배제
  3. 업무 규칙
  4. 데이터 재사용
  5. 의사 소통
  6. 통합성

완전성 (Completeness)


  • 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다.
  • 데이터 모델을 검증하기 위해서 가장 먼저 확인해야할 부분.

중복 배제 (Non-Redundancy)


  • 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록되어야 한다.
    • 하나의 테이블 에서 ‘나이' 컬럼과 ‘생년월일' 컬럼이 동시에 존재한다면 이것은 데이터 중복이다.
  • 이러한 형태의 데이터 중복 관리로 인해서 여러 가지 바람직하지 않은 형태의 데이터 관리 비용을 지불할 수 있다.
    • 저장공간의 낭비
    • 중복 관리되고 있는 데이터의 일관성을 유지하기 위한 추가적인 데이터 조작 등으로 인한 낭비

업무 규칙 (Business Rules)


  • 데이터 모델링 과정에서 도출되고 규명되는 수많은 업무 규칙을 데이터 모델에 표현
  • 이를 해당 데이터 모델을 활용하는 모든 사용자가 공유할 수 있도록 제공하는 것
  • 특히, 논리 데이터 모델에서 이러한 요소들이 포함되어 있어야 한다.
예를 들면, 보험사의 사원들은
매월 여러 가지 항목에 대해서 급여를 지급받고 있고 이를 데이터로 관리하고 있다.
각 사원들은 월별로 하나 이상의 급여 항목(기본급, 상여금, 수당, 수수료, 등등)에 대해서
급여를 지급받는다.

여기에 더 나아가 각 사원은 사원 구분별(내근, 설계사, 계약직, 대리점 등)로
위의 급여 항목을 차등적으로 지급받는 다는 업무규칙이 있다.

이러한 내용을 데이터 모델에 나타내야 한다. 이렇게 함으로써 해당 데이터 모델을 사용하는 모든 사용자(개발자, 관리자 등)가 해당 규칙에 대해서 동일한 판단을 하고 데이터를 조작할 수 있게 된다.

데이터 재사용 (Data Reusability)


  • 데이터의 통합성과 독립성에 대해서 충분히 고려해야 한다.
  • 통합 모델이어야만 데이터 재사용성을 향상시킬 수 있다.
  • 확장성을 담보하기 위해서는 데이터 관점의 통합이 불가피하다.
  • 정보시스템에서의 행위의 주체가 되는 집합의 통합, 행위의 대상이 되는 집합의 통합, 행위 자체에 대한 통합등은 전체 정보시스템의 안정성, 확장성을 좌우하는 가장 중요한 요소이다.
  • 합리적으로 잘 정돈된 방법으로 데이터를 통합하여 데이터의 집합을 정의하고 이를 데이터 모델로 잘 표현하여 활용한다면 웬만한 업무 변화에도 데이터 모델이 영향을 받지 않고 운용할 수 있게 된다.

의사 소통 (Communication)


  • 데이터 모델의 의사소통 역할은 중요하다.
  • 데이터 모델은 대상으로 하는 업무를 데이터 관점에서 분석하고 이를 설계하여 나오는 최종 산출물이다.
  • 많은 업무 규칙들을 해당 앱에서 운용, 관리하는 많은 관련자들이 설계자가 정의한 업무 규칙들을 동일한 의미로 받아들이고 정보시스템을 활용할 수 있게 하는 역할을 하게 된다.

통합성 (Integration)


  • 동일한 데이터는 조직의 전체에서 한 번만 정의되고 이를 여러 다른 영역에서 참조/활용 하는 것이 좋다.
  • 물론 성능 상의 문제로 의도적으로 데이터를 중복시키는 경우도 존재할 수 있다.
  • 동일한 성격의 데이터를 한 번만 정의하기 위해서는 공유 데이터에 대한 구조를 여러 업무 영역에서 공동으로 사용하기 용이하게 정의할 수 있어야 한다.

0개의 댓글