반응형
- 스키마의 정의
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 의미
(특정한 시간에 데이터베이스의 실제 내용은 인스턴스(Instance)라고 함) - 데이터베이스 구조를 의미하는 것으로, 관련된 데이터들의 관계를 기술
- 전반적인 데이터베이스의 구성을 설명하기 위해 특정 언어를 이용하여 관련 데이터들 간의 관계(Relationship)를 기술
- 데이터베이스 언어로 표현
- 데이터베이스를 구성하는 데이터의 개체, 속성, 관계, 제약에 관한 조건들을 기술
- 미국 ANSI/SPARC에서 사용자의 관점에 따라 외부(External) 스키마, 개념(Conceptual) 스키마, 내부(Internal) 스키마로 구분
- 스키마 관련 용어
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 의미
데이터 추상화 | ANSI/SPARC | VIEW(데이터 표현) |
뷰 단계(View Level) 논리적 단계(Logical Level) 물리적 단계(Physical Level) | 외부 단계 개념 단계 내부 단계 | INDVISUAL USER VIEW COMMUNITY USER VIEW STORAGE VIEW |
- 스키마의 특징
- 데이터의 구조적 특성을 의미
- 데이터 사전*에 저장
- 현실 세계의 특정한 한 부분의 표현으로, 특정 데이터 모델을 이용해서 작성
- 시간에 따라 일반적으로 불변적
- 데이터의 논리적 단위에 명칭을 부여하고 그 의미를 기술
- 스키마 관리의 중요성
- 스키마 계층에 따라 개발자, 관리자, 사용자의 영역 구분에 따른 변경 관리 가능
- 데이터 정의에 대한 표준적 접근으로 유연성이 높고 사용이 용이
- 데이터 무결성에 대한 규칙 제시
- 사용자와 데이터의 물리적 저장 구조와는 독립된 인터페이스 제공
- 스키마의 3 계층
- 스키마 구조의 개념적 표현
- 상세 구조(참조 구조 포함)
- 외부 스키마 : DB 사용자 관점
- 사용자나 응용 프로그래머가 접근할 수 있는 데이터베이스의 정의로, 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
- 응용 프로그램에서 정의되는 외부 스키마 또는 일시적인 사용자 관점에서 생성하는 다양한 사용자 뷰
- 업무상 관련이 있는 데이터만 접근하기 위해 관련된 데이터베이스의 일부만 정의
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로, 서브 스키마(Sub Schema)라고도 함
- 하나의 데이터베이스 관리 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마는 여러 개의 응용 프로그램이나 사용자에 의해 공유될 수 있음
- 개념 스키마 : 기관 관점
- 모든 사용자 별 외부 스키마들을 일관된 하나의 완전체로 통합한 전체적인 데이터베이스의 정의를 기술
- 데이터베이스내의 모든 데이터에 관한 규칙과 의미 정의 : 논리적 데이터베이스 구조
- 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 정책 및 무결성 규칙에 과한 명세를 정의
- 데이터 정의어(DDL)에 의해 기술되는 데이터베이스 스키마 정의를 위해 고급 수준의 데이터 모델로 표현
- ER 도형(ER-Diagram : ERD), 객체 정의어 등에 의해 기술
- 단순히 스키마라고도 함
- 내부 스키마 : 저장 장치 관점
- 데이터 베이스의 내용이 실제 저장 매체에 저장될 수 있도록 하기 위한 정의를 기술
- 물리적 저장 장치의 관점에서 본 전체 데이터베이스의 명세
- 전체 데이터베이스에 대한 물리적 저장 구조 정의 : 물리적 데이터 구조
예) 파일/레코드 구조, 접근 경로 방식(인덱스/해싱 등) 등
- 개념 스키마를 DBMS에서 제공하는 언어로 바꾼 것
예) DDL로 작성된 개념 스키마는 DBMS에서 컴파일 과정을 거쳐 내부의 물리적 저장 구조로 생성
- 스키마의 예
- 데이터 독립성
- 데이터 독립성의 필요성 및 의의
- 데이터베이스는 컴퓨터의 기억 장치에 데이터를 보관하여 여러 사용자가 이용하도록 하기 위한 것으로, 기억 장치와 데이터를 표현하는 데이터 형식이 필요
- 데이터베이스가 변하더라도 사용자의 업무 처리는 변화가 없게 하는 것이 요구됨
- 데이터베이스와 사용자의 업무 처리 방법이 독립적을 운용되도록 구현
- 특정 스키마 변경 시, 상위 단계 스키마들에 영향을 미치지 않아야 함
- 논리적 데이터 독립성
- 응용 프로그램에 영향을 주지 않고 데이터베이스의 논리적 구조를 변경시킬 수 있음
예) 개념 스키마의 변경 시 외부 스키마에 영향을 미치지 않음
- 사용자 관점 또는 응용 프로그램을 변경시키지 않고 개념 스키마를 변경시키는 능력
예) 속성 추가 또는 제거 작업
- 물리적 데이터 독립성
- 기억 장치가 변경되더라도 데이터베이스 사용자(프로그램 등)의 데이터 형식 및 업무 처리 방법이 변경될 필요가 없음
- 응용 프로그램과 논리적 구조에 영향을 주지 않고 데이터베이스의 물리적 구조 변경이 가능
- 개념 스키마 또는 외부 스키마를 변경시키지 않고 내부 스키마를 변경시키는 능력
- 데이터 항목의 접근 성능을 향상시키기 위해 물리적 파일을 재구성할 때 내부 스키마의 변경을 가져옴
반응형
'밥벌이 > 데이터베이스' 카테고리의 다른 글
데이터 모델링의 개요 (0) | 2010.08.13 |
---|---|
데이터베이스 언어 (0) | 2010.08.12 |
데이터베이스 사용자 (0) | 2010.08.12 |
데이터베이스 관리시스템(DBMS) (0) | 2010.08.12 |
데이터베이스 (0) | 2010.08.12 |