👉 SQLD 자격증 준비하면서 요약해놓은 정리본이다.
먼저 모델링이란, 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형인 모델을 표기법에 의해 규칙을 가지고 표기하는 것을 말한다.
즉, ""현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법"" 이라고 할 수 있다.
모델링의 관점 3가지
1) 데이터 관점
2) 프로세스 관점
3) 데이터와 프로세스의 상관 관점
💡그렇다면, 데이터 모델링이란 무엇일까?
데이터 모델링이란, 업무에서 필요로 하는 데이터를 시스템 구축 방법론에 의해 분석하고 설계하여 정보시스템을 구축하는 과정이다. 데이터 모델링을 하는 중요한 이유는, 1)정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하고 2)분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것이다.
데이터 모델링의 특징 세가지
특징 | 설명 |
---|---|
추상화 | 현실세계를 간략하게 표현한다 |
단순화 | 누구나 쉽게 이해하도록 표현한다 |
명확화 | 명확하게, 한 가지 의미로 해석되도록 표현한다 |
먼저, 1)파급효과(Leverage) 이다. 시스템 구축이 완성되어 가는 시점에서는 여러 단위 테스트들이 수행되고 과정들이 반복되는데 이때, 데이터 모델을 변경해야 한다면 많은 영향 분석이 일어나며 해당 분야의 실제적인 변경 작업이 들어가야 한다. 이러한 이유로, 시스템 구축 작업 중에서 다른 어떤 설계 과정보다 데이터 설계가 더 중요하다.
두번째로, 2)복잡한 정보 요구사항의 간결한 표현(Conciseness) 이다. 데이터 모델은 시스템을 구축하는 많은 관련자들이 설계자의 생각대로 정보요구사항을 이해하고 이를 운용할 수 있는 애플리케이션을 개발하고 데이터 정합성을 유지할 수 있도록 하는 것이기 때문에, 정보 요구사항이 정확하고 간결하게 표현되어야 이상적인 모델이라고 할 수 있다.
마지막으로, 3)데이터의 품질(Data Quality) 이다. 데이터베이스에 담겨 있는 데이터는 기업의 중요한이기 때문에 정확성이 높은 데이터어야 한다. 하지만, 자산 데이터 품질의 문제가 야기되는 중대한 이유 중 하나가 바로 데이터 구조의 문제이다.
💡데이터 모델링 시 유의점
1) 중복
2) 비유연성 : 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써, 데이터/프로세스의 작은 변화가 애플리케이션에 중대한 변화를 일으킬 수 있는 가능성을 줄여야 한다.
3) 비일관성 : 데이터 모델링을 할 때 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의를 내려 비일관성을 줄여야 한다.`
일체적 구성의 목적은, 상호간 영향에서 벗어나 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화 하는 것이다.
예시) SOA의 서비스 단위
독립적인 비즈니스로 처리 가능한 단위를 서비스로 정의
개별로도 의미가 있고 다른 서비스와 결합하여 프로세스로 제공해도 의미가 있는 단위(예, BPM)로 제공
데이터 독립성은, 데이터 종속성의 반대말로 응용(application)에 종속되지 않음을 의미한다. 즉, 특정 스키마를 변경해도 상위 수준의 스키마 정의에 영향을 주지 않는 성질을 말한다.
데이터 독립성을 확보했을 때 얻는 효과는 다음과 같다.
그럼, 데이터독립성의 대표적인 예시인 3 단계 ANSI 표준 모델을 살펴보자.
3-Level Schema는 사용자, 설계자, 개발자가 DB를 보는 관점에 따라 DB를 기술하고 이 관계를 정리한 ANSI 표준으로, DB의 독립성을 확보할 수 있는 방법이다.
참고자료.
SQLD 전문가 가이드 책