2012. 5. 25. 10:26

[기본부터생각해보는] 정보 조직화데이터 베이스 01

데이터베이스 3층스키마


학교에서컴퓨터공학에서 기본으로 수강하는 데이터베이스는시작으로 파일시스템에 데이터를 저장 및 활용하는난점을 극복하기 위하여 관계형 DBMS를사용하기 시작했다고 합니다.관계형 DBMS는다음의 여섯가지 특징적인 기능을 수행합니다.


1) 데이터 독립성

- 물리적, 논리적 독립성

2) 데이터 무결성

- 데이터의 유효성 검사를 통해 데이터 무결성을 구현

3) 데이터 보안성

- 계정관리, 권한 설정

4) 데이터 일관성

- 데이터의 불일치성을 배체

5) 데이터 중복 최소화

- 자료의 중복과 데이터의 종속성을 해결

6) 데이터 공


이로써 DBMS를사용하여 정보시스템을 구축하지만 또한 배우게 되는것은 위의 데이터독립성에 따른 3계층스키마입니다.


데이터 독립성의유형을 생각하면 다음과 같습니다.


독립성의 유형

주요 내용

물리적 데이타 독립성

(Physical Data Independency)

-데이터베이스의 저장구조가 변경되어도 응용 프로그램이나 개념적 스키마에 영향을 미치지 않는 특성

- 내부 스키마가 변경되어도 외부 스키마와 개념 스키마에 영향이 없음

논리적 데이타 독립성

(Logical Data Independency)

- 데이터베이스의 논리적 구조가 변경되어도 응용 프로그램에 영향이 없는 특성

- 개념적 스키마가 변경되어도 최상위 외부 스키마에 영향 없음




데이터베이스 독립성을지원하는 3층 스키마에대해서 알아보면




3계층스키마(3tier Schema)는데이터베이스를 관점에 따라 3개의계층으로 분리하여 데이터베이스 사용자에게 내부적으로복잡한 데이터베이스의 구조를 단순화 시키고 데이터베이스의독립성을 지원하기 위하여 미국의 국립 표준화 기관인ANSI/SPARC(American NationalStandard Institute/System Planning And Requirements Committee)에서정의 계층 구조이다.

3층스키마는 관점에 따라 3가지계층으로 나누어지며 첫 번째 사용자 관점의외부단계(External Level),전체적인 관점의 개념 단계(ConceptualLevel)와 물리적인 저장장치 관점인 내부단계(InternalLevel)로 분리된다.


3층 스키마

주요 내용

외부레벨/외부 스키마

- 사용자 관점 또는 사용자 뷰(User View)를 표현

- 업무상 관련이 있는 데이터만 접근(권한 설정)

-관련된 데이터베이스의 일부만 표시(view)

개념레벨/개념 스키마

-사용자 전체 집단에 데이터베이스의 구조를 표현

- 전체 데이터베이스 내의 모든 데이터에 관한 규칙과 의미를 표시함

내부레빌/내부 스키마

- 데이터베이스 물리적 저장구조

- 데이터 저장구조, 레코드의 구조, 필드의 정의, 색인과 해싱

- 운영체제와 하드웨어에 종속적


데이터베이스 스키마는계층에 따라 개발자, 관리자,사용자의 영역구분에 따른 변경이 가능하고 데이터정의에 대한 표준적인 접근으로 데이터베이스 전체의유연성을 높이고 사용이 용이하다는 장점이 있다.

[윗글출처] 임호진 :데이터베이스3.0



여기서 생각할것은 현재 실 프로젝트 진행에는 위 3계층스키마의 적용이 안되고 2~3차정규화를 거친 물리적 모델링을 프로그래머 개발자가바로 사용자 스키마의 영역으로 SQL커리문을 작성하여 적용하여 실무에서는개념레벨이 빠진 2단계스키마를적용하여 진행하여 개발업무처리 비중이 데이타베이스테이블 설계자, 응용개발 프로그래머에 집중되어 있는 것이 서로간의 불편한진실이다.

DBMS의테이블 뷰 기능(VIEW)을사용하여 2단계인개념레벨도 구현이 되어 있으면 업무가 많은 것 같아서오류발생 및 생산성에서 발전이 있을 듯하나,실제는 프로젝트에서는 DBMSView 테이블기능은 사용하지 않는 것이 일반적이다.


데이터베이스정보설계자들이 데이터 정보흐름 및 테이블 정규화에는많은 신경을 쓰면서 개발자를 위한 VIEW(개념스키마)설계에는등한시하여 벌어지는 일일 수 있다.