[기본부터생각해보는] 정보 조직화데이터 베이스 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단계인개념레벨도 구현이 되어 있으면 업무가 많은 것 같아서오류발생 및 생산성에서 발전이 있을 듯하나,실제는 프로젝트에서는 DBMS의View 테이블기능은 사용하지 않는 것이 일반적이다.
데이터베이스정보설계자들이 데이터 정보흐름 및 테이블 정규화에는많은 신경을 쓰면서 개발자를 위한 VIEW(개념스키마)설계에는등한시하여 벌어지는 일일 수 있다.
'기본카테고리' 카테고리의 다른 글
WLAN(무선랜) 과 WPAN(근거리 무선 개인통신망) (0) | 2012.05.28 |
---|---|
[기본부터 생각해보는] 정보 조직화 데이터 베이스 02 (데이터베이스 설계 원리) (0) | 2012.05.27 |
26회 기술지도사(정보처리분야) 후기 (0) | 2012.05.03 |
semaphore란 ? (0) | 2011.12.20 |
HA, High Availability (0) | 2011.12.20 |