프로그래머의 삶 Programmer's Life/Database-Oracle&MySQL

스키마 ( schema )

Oliver's World 2008. 11. 25. 12:42
728x90






 - 주어진 데이터 모델 하에서 데이터 구조와 제약 조건에 대한 명세, 즉 데이터 베이스의 논리적 정의를 기술한 것을 스키마 라고 한다. 따라서 스키마에는 개체들과 각 개체의 속성, 그리고 개체들간의 관계 및 제약조건등이 기술된다.

오라클에서 스키마란 스키마 오브젝트들의 집합으로, 스키마 오브젝트는 테이블, 뷰, 인덱스와 같은 구조를 포함하는 논리적인 데이터 저장구조를 가진 객체를 말한다. 또한 하나의 스키마는 데이터베이스 사용자에 의해 소유되며, 그 이름은 사용자 이름과 같다.

간단히 정의를 내리면...임의의 사용자가 생성한 모든 데이터베이스 객체를 말하며 스키마 이름은 그 사용자의 이름과 같다....

예를 들자면 lvsin 으로 사용자 계정을 만들고 테이블같은 객체 생성했다면 그 객체의 소유자는 lvsin 이 되면 이를 lvsin 스키마 라고 부른다.



데이터 베이스 스키마는 아래와 같은 지 입장을 가진다.

1. 외부 스키마 : 데이터베이스 중에서 특정 사용자가 관심을 갖는 일부분을 기술한 것으로, 표현은 개념스키마와 동일
 - 개별 사용자의 데이터베이스 정의
 - 전체 데이터베이스중의 한 논리적 부분
 - 서브 스키마 라고도 함

2. 개념 스키마 : 전체 데이터베이스의 구조와 제약조건들에 대한 기술로 객체 기반 모델이나 레코드 기반 모델로 표현된다.
 - 기관 전체적인 데이터베이스 정의
 - 모든 응용에 대한 전체적인 통합된 데이터 구조
 - 스키마 라고도 함

3. 내부 스키마 : 데이터 저장 구조 및 접근 경로 등에 대한 데이터베이스의 내부적인 기술로 물리적 데이터모델을 사용하여 표현한다.
 - 물리적 저장장치의 입자에서 본 전체 데이터베이스의 구조
 - 개념 스키마의 저장 구조 정의

뭔가 말들이 애매함이 없잖아 있다..=_=;;






728x90