스키마는 테이블이나 뷰 등과 같은 데이터베이스 객체의 집합입니다.
스키마가 모여서 데이터베이스를 구성하는 것이다.
스키마는 데이터베이스 안에 이름을 기입하기 위한 공간을 생성할 수 있는 기능이 있다.
스키마가 존재하기 떄문에 사용자 A의 테이블과 사용자 B의 테이블이 구분될 수 있는 것이다.
스키마는 사실상 사용자와 대응하여 관련되기 때문에..
(스키마= 사용자) 라고 생각해도 큰 문제가 되지는 않을 것이다.
컴퓨터 프로그래밍에서 스키마는 데이터베이스의 조직이나 구조를 의미한다. 데이터 모델링은 결국 하나의 스키마에 이른다(스키마의 복수형은 그리스어로부터 온 단어로, '형상'이나 '꼴', 을 의미하는 스키마이며, 같은 원류에서 온 다른 단어로는 '개략도'를 의미하는 스키마도 있다)
이 용어는 관계형 데이타베이스나 객체 지향 데이터베이스 모두에 적용된다.
수학에서 유래된 또다른 용례로 스키마는 인공지능 컴퓨팅을 위한 추론 규칙의 형식적 표현을 말한다. 이표현은 특정한 추론을 끌어내리기 위한 공리 내의 각 기호를 대용하는 특정한 값이나 경우들의 일반화된 원리이다.
3단계 스키마
1. 외부 스키마(Extermal schema)
각 사용자의 입장에서 본 데이터베이스 구조
사용자마다 서로 다른 데이터베이스 스키마를 가짐
개념 스키마에 대한 서브 스키마
2. 개념 스키마(Conceptual schema)
조직 전체의 입장에서 본 데이터베이스 구조
한 개의 스키마만 존재하며, 서로 다른 사용자가 공유
데이터 객체(개체, 관계), 제약 조건에 대한 명세를 유지
3. 내부 스키마(Internal schema)
저장 장치의 입장에서 본 데이타베이스 구조
각 데이터 객체의 저장 구조를 표현함
- 내부레코드의 형식
- 인덱스의 유무
- 저장 데이터 항목의 표현 방법
스키마란 무엇인가?
스키마는 데이터베이스를 정의하는데 사용된다. 스키마는 데이터베이스의 데이터 구조와 제약 조건에 대한 명세를 논리적으로 정의하여 개체와 속성의 속성, 이들 개체들 간의 관계에 대한 정의 및 제액 조건등을 기술하는데 사용된다. 스키마는 크게 외부 스키마, 개념 스키마, 내부 스키마로 나누어 볼 수 있다.
- 외부 스키마(extended schema)는 데이터베이스의 사용자 또는 응용 프로그램이 접근하는 데이터베이스를 정의하는데 사용된다. 외부 스키마는 각 사용자나 응용 프로그램이 개별적으로 데이터베이스에 접근하기 때문에 데이터베이스 논리의 한 부분으로 볼 수도 있어 서브스키마(subschema)라고 부르기도 한다.
- 개념 스키마(conceptual schema)는 모든 사용자 또는 응용 프로그램이 필요로 하는 데이터베이스의 전체 조직을 정의하는데 사용한다. 따라서 외부 스키마는 개념 스키마를 통해 생성되고 지원을 받게 된다. 개념 스키마는 정보를 생성하기 위한 데이터 객체들을 기술하고 데이터베이스의 접근 권한, 보안 정책, 무결성 규칙에 관한 사항도 정의한다. 보통 개념 스키마를 스키마라고 부른다.
- 내부 스키마(internal schema)는 물리적 저장 장치의 입장에서 본 데이터베이스의 전체 조직을 정의하는데 사용한다. 내부 스키마는 개념 스키마의 물리적 저장 구조에 대한 정의를 기술한 것으로 볼 수 있는데, 내부 스키마는 레코드 형식, 인덱스, 저장 데이터 표현 방법 등을 정의한다.
'DataBase > Oracle' 카테고리의 다른 글
SID란? (0) | 2009.01.07 |
---|---|
오라클 SID와 Service Name의 차이 (0) | 2009.01.07 |
Optimizer : (0) | 2008.12.11 |
유용한 오라클 스크립트 (0) | 2008.11.21 |
ORACLE TABLE SPACE 사용량 확인쿼리 (0) | 2008.11.21 |