0. 데이터 모델링의 정의
- 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보가 무엇인지 분석하는 방법이다.
- 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙에 대해 사실과 거짓으로 판별할 수 있는 사실을 기반으로 독립적인 관점에서 이를 명확하게 표현하는 추상화 기법이다.
- 업무에서 필요로 하는 데이터를 시스템 구축 방법론에 의해 분석하고, 설계하여 정보시스템을 구축하는 과정이다.
1. 데이터 모델링의 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
- 시스템의 구조와 행동을 명세화 할 수 있다.
- 시스템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
- 특정 목표에 따라 구체화된 상세 수준의 표현 방법을 제공한다.
2. 데이터 모델링의 중요성
2-1 파급효과
- 시스템이 완성되어 가는 과정에서, 대규모의 데이터의 이행을 성공적으로 수행되는지 단위 테스트들이 수행된다.
- 단위 테스트들이 성공적으로 진행되면 병행테스트, 통합 테스트를 수행하게 된다.
- 이 시점에서 데이터 모델의 변경이 불가피한 상황이 오면, 이를 위해 표준 영향 분석, 응용 변경 영향 분석 등
많은 분석들이 필요하게 된다. 그 이후 변경작업이 실행된다. 즉 비용이 많이 들기 때문에 초기의 설계가 중요하다.
- 따라서 시스템 구축 작업 중에서 데이터 설계가 가장 중요하다고 볼 수 있다.
2-2 간결한 표현
- 데이터 모델은 시스템의 정보 요구사항과 한계를 가장 명확하게 간결하게 표현할 수 있는 도구이다.
- 데이터 모델은 건축물로 비유하면 설계 도면에 해당한다.
- 데이터 모델은 관련 종사자들이 설계자의 정보요구사항을 이해하고, 데이터 정합성을 유지할 수 있도록 한다.
- 데이터 모델의 중요한 점은 정보 요구사항이 정확하고 간결하게 표현되어야 한다.
2-3 데이터 품질
- 데이터베이스의 담겨있는 데이터는 기업의 중요한 자산이다.
- 데이터가 쌓이면 쌓일수록 활용가치가 높아지고, 이를 통한 다양한 분석 작업들이 가능하다.
- 하지만 데이터가 정확성이 떨어지고, 중복 데이터, 데이터 통합 등을 고려하지 않으면 데이터의 품질이 떨어진다.
- 데이터 품질의 문제가 야기되는 큰 이유 중 하나는 데이터 구조의 문제이므로 모델링을 신경 쓸 필요가 있다.
3. 데이터 모델링 유의점
- 중복 : 데이터 모델은 같은 데이터를 사용한 사람, 시간, 그리고 장소를 파악하는데 도움을 준다. 이를 위해 여러 장소에 같은 정보를 저장하지 않도록 한다.
- 비유연성 : 데이터 모델을 어떻게 설계했느냐에 따라 업무 변화에 데이터 모델이 수시로 변경됨으로 유지보수의 비용이 많아질 수 있다. 데이터의 정의를 데이터를 사용하는 프로세스와 분리함으로써 서로 간의 영향력을 줄인다.
- 비일관성 : 데이터의 중복이 없어도 발생할 수 있다. 데이터의 모순이 일어나지 않도록 한다. 데이터 모델링 시에 데이터 간의 상호 연관 관계에 명확한 정의가 필요하다.
4. 데이터 모델링의 3단계
시간과 추준화 수준에 따라 개념적 데이터 모델 -> 논리적 데이터 모델 -> 물리적 데이터 모델로 진행된다.
시작은 추상화 수준이 높고, 구체적이지 않으나, 진행될수록 추상화 수준이 낮아지고, 구체화된다.
4-1 개념적 데이터 모델링
-조직, 사용자의 데이터 요구사항을 찾고 분석하는데서 시작한다.
-추상화 수준이 높고, 업무중심적이고 포괄적인 수준의 모델링을 진행한다.
-(EA기반의 전사적인 데이터 모델링을 전개할 때는 더 상위 수준인 개괄적인 데이터 모델링을 먼저 수행한다.)
-전사적 데이터 모델링, EA수립시 많이 이용한다.
-사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원한다.
-현 시스템이 어떻게 변형되어야 하는지 이해하는데 유용하다.
4-2 논리적 데이터 모델링
-업무의 구체적인 모습과 흐름에 따른 구체화된 업무중심의 데이터 모델을 만든다.
-시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현한다. 재사용성이 높다.
-핵심은 누가 데이터에 액세스 하고, 어떻게 데이터에, 비스니스 데이터에 존재하는 사실들을 인식하여 기록하는 것.
-또한 이 단계에서 정규화가 진행된다. 일관성을 확보하고, 중복을 제거하여 적절한 엔터티에 배치되도록 한다.
4-3 물리적 데이터 모델링
-데이터베이스의 저장구조에 따른 테이블스페이스 등을 고려한 방식이다.
-실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계한다.
-테이블, 칼럼 등으로 표현되는 물리적인 저장구조와 사용될 저장 장치, 자료 추출을 위한 접근 방법 등을 결정한다.
5. 데이터 독립성 모델링의 3단계
5-1 외부스키마(External Schema)
-View 단계의 여러 사용자의 관점으로 구성되어 있다. 사용자 개인이 보는 개인적 DB 스키마
-DB의 각 사용자나 응용프로그래머가 접근하는 DB 정의다.
-사용자 관점, 접근하는 특성에 따른 스키마다.
5-2 개념스키마(Conceptual Schema)
-모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것이다.
-모든 응용시스템들이나 사용자가 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 DB에 저장되는
데이터와 그들 간의 관계를 표현하는 스키마다.
-통합 관점
5-3 내부스키마(Internal Schema)
-내부 단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식이다.
-물리적 장치에서 데이터가 실제적을 저장되는 방법을 표현한 스키마다.
-물리적 저장구조
데이터 독립성의 개념
-데이터 독립성은 지속적으로 증가하는 유지보수 비용을 절감하고, 데이터 복잡도를 낮추며,
중복된 데이터를 줄인다. 또한 계속되는 사용자 요구사항에 대해 화면과 데이터베이스 간의 독립성의 유지를 위해
생긴 개념이다.
6. 데이터 독립성의 두 영역
6-1 논리적 독립성
-개념 스키마가 변경되어도 외부 스키마에는 영향이 가지 않게 지원하는 것이다.
-논리적 구조가 변경되어도 응용 프로그램에 영향이 없도록 한다.
-사용자 특성에 맞는 변경이 가능하고, 통합 구조도 변경이 가능하다.
6-2 물리적 독립성
-내부 스키마가 변경되어도 외부/개념 스키마는 영향이 가지 않게 지원하는 것이다.
-저장장치의 구조변경은 응용프로그램과 개념 스키마에 영향이 가지 않게 한다.
-물리적 구조 영향 없이 개념구조 변경이 가능하다.
출처 - SQL 전문가 가이드 2013 Edition
'DB' 카테고리의 다른 글
[DB] 분산 데이터베이스 개념, 투명성, 장단점, 분류 (0) | 2022.05.24 |
---|---|
[DB] 식별자의 개념, 특징, 분류 (0) | 2022.05.21 |
[DB] 관계의 개념, 특징, 분류 (0) | 2022.05.20 |
[DB] 속성의 개념, 특징, 분류 (0) | 2022.05.19 |
[DB] 엔터티의 개념, 특징, 종류 (0) | 2022.05.18 |