2013년 1월 23일 수요일

SQL 전문가 가이드 요약[작업중] (과목 1)

1. 모델링의 이해


모델링의 정의
- 모델 : 모형, 축소형의 의미. 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형. 사람이 살아가면서 나타날 수 있는 다양한 현상은 사람, 사물, 개념 등에 의해 발생된다고 할 수 있으며 모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미. 모델을 만들어 가는 일 자체를 모델링으로 정의할 수 있다.

모델링의 특징
- 추상화: 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미 
- 단순화: 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념
- 명확화: 누구나 이해할 수 있도록 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는것

모델링의 세 가지 관점
-데이터 관점: 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링 하는 방법
-프로세스 관점: 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링 하는 방법
-데이터와 프로세스의 상관관점: 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링 하는 방법

2. 데이터 모델의 기본 개념의 이해

데이터 모델링의 정의
- 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보는 무엇인지를 분석하는 방법
- 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙에 대하여 참 또는 거짓을 판별할 수 있는 사실을 데이터에 접근하는 방법(how), 사람(who), 전산화와는 별개의 관점에서 이를 명확하게 표현하는 추상화 기법

데이터 모델링을 하는 주요한 이유
1. 업무정보를 구성하는 기초가 되는 정보들을 일정한 표기법에 의해 표현함으로써 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하는 것
2. 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것

데이터모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다
- 시스템의 구조와 행동을 명세화 할 수 있게 한다.
- 시스템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화한다
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.


3. 데이터 모델링의 중요성 및 유의점
- 파급효과
- 복잡한 정보요구사항의 간결한 표현
- 데이터품질

데이터 모델링을 할 때 유의점
- 중복
- 비유연성
- 비일관성

4. 데이터 모델링의 3단계 진행
-개념적 데이터 모델링: 추상화 수준이 높고 업무중심적이고 포관적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립시 많이 이용
- 논리적 데이터 모델링: 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
- 물리적 데이터 모델링: 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계


5. 프로젝트 생명주기에서 데이터 모델링

6.데이터 모델링에서 데이터독립성의 이해

 가. 데이터독립성의 필요성

   일체적 구성에서 기능화된 구성의 가장 큰 목적은 상호간 영향에서 벗어나 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화하는 것. 어떤 단위에 대해 독립적인 의미를 부여하고 그것을 효과적으로 구현하게 되면 자신이 가지는 고유한 특징을 명확하게 할 뿐만 아니라 다른 기능의 변경으로부터 쉽게 변경되지 않고 자신의 고유한 기능을 가지고 기능을 제공하는 장점을 가지게 된다.
  데이터 독립성의 반대 개념은 데이터종속성이다. 여기서 종속의 주체는 보통 응용(application) 을 지칭하는 경우.
  데이터독립성은 지속적으로 증가하는 유지보수 비용을 절감하고 데이터 복잡도를 낮추며 중복된 데이터를 줄이기 위한 목적이 있다. 또한 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적으로 데이터 독립성 개념이 출현했다고 할 수 있다.







데이터독립성을 확보하게되면
- 각 view의 독립성을 유지하고 계층별 view에 영향을 주지 않고 변경이 가능하다
- 단계별 Schema에 따라 데이터 정의어(DLL)와 조작저(DML)가 다름을 제공

 나. 데이터베이스 3단계 구조















외부단계: 사용자가 가까운 단계로 사용자 개개인이 보는 자료에 대한 관점과 관련이 있는 부분. 즉, 사용자가 처리하고자 하는 데이터유형에 따라, 관점에 따라, 방법에 따라 다른 스키마 구조를 가지고 있다.
개념단계: 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태이다.
내부적단계: 데이터가 물리적으로 저장된 방법에 대한 스키마 구조를 말한다.

 다. 데이터독립성 요소














데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가지고 고유한 기능을 가진다. 데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어 가는 과정으로 이해.


 라. 두 영역의 데이터독립성

위의 3단계로 개념이 분리되면서 각각의 영역에 대한 독립성을 지정하는 용어가 바로 논리적인 독립성과 물리적인 독립성이다.













논리적인 데이터독립성은 외부의 변경에도 개념스키마가 변하지 않는 특징을 가진다.











댓글 없음:

댓글 쓰기