데이터 추상화 | ANSI/SPARC | VIEW(데이터 표현) |
뷰 단계(View Level)
논리적 단계(Logical Level)
물리적 단계(Physical Level) | 외부 단계
개념 단계
내부 단계 | INDVISUAL USER VIEW
COMMUNITY USER VIEW
STORAGE VIEW |
스키마의 특징
스키마 관리의 중요성
스키마의 3 계층
스키마 구조의 개념적 표현
상세 구조(참조 구조 포함)
외부 스키마 : DB 사용자 관점
- 사용자나 응용 프로그래머가 접근할 수 있는 데이터베이스의 정의로, 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
- 응용 프로그램에서 정의되는 외부 스키마 또는 일시적인 사용자 관점에서 생성하는 다양한 사용자 뷰
- 업무상 관련이 있는 데이터만 접근하기 위해 관련된 데이터베이스의 일부만 정의
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로, 서브 스키마(Sub Schema)라고도 함
- 하나의 데이터베이스 관리 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마는 여러 개의 응용 프로그램이나 사용자에 의해 공유될 수 있음
개념 스키마 : 기관 관점
내부 스키마 : 저장 장치 관점
- 데이터 베이스의 내용이 실제 저장 매체에 저장될 수 있도록 하기 위한 정의를 기술
- 물리적 저장 장치의 관점에서 본 전체 데이터베이스의 명세
전체 데이터베이스에 대한 물리적 저장 구조 정의 : 물리적 데이터 구조
예) 파일/레코드 구조, 접근 경로 방식(인덱스/해싱 등) 등
개념 스키마를 DBMS에서 제공하는 언어로 바꾼 것
예) DDL로 작성된 개념 스키마는 DBMS에서 컴파일 과정을 거쳐 내부의 물리적 저장 구조로 생성
스키마의 예
데이터 독립성
데이터 독립성의 필요성 및 의의
- 데이터베이스는 컴퓨터의 기억 장치에 데이터를 보관하여 여러 사용자가 이용하도록 하기 위한 것으로, 기억 장치와 데이터를 표현하는 데이터 형식이 필요
- 데이터베이스가 변하더라도 사용자의 업무 처리는 변화가 없게 하는 것이 요구됨
- 데이터베이스와 사용자의 업무 처리 방법이 독립적을 운용되도록 구현
- 특정 스키마 변경 시, 상위 단계 스키마들에 영향을 미치지 않아야 함
논리적 데이터 독립성
응용 프로그램에 영향을 주지 않고 데이터베이스의 논리적 구조를 변경시킬 수 있음
예) 개념 스키마의 변경 시 외부 스키마에 영향을 미치지 않음
사용자 관점 또는 응용 프로그램을 변경시키지 않고 개념 스키마를 변경시키는 능력
예) 속성 추가 또는 제거 작업
물리적 데이터 독립성