데이터베이스

스키마 (Schema)

린예라 2024. 4. 8. 22:24

스키마란?

데이터베이스에서 사용된 구조화된 데이터의 설계로 저장되는 데이터의 구조, 형식, 제약조건 등을 정의한다.

데이터를 설명하는 데이터인 메타데이터의 집합이라고도 한다.

 

외부스키마, 개념스키마, 내부스키마 3가지로 나누어진다.

3가지 스키마의 대략적인 도식화

 

1.외부스키마 (External Schema 혹은 External View)

데이터베이스 사용자나 응용프로그램의 입장에서 표현하고 접근하는 데이터의 논리적 구조를 정의.

즉 외부에서 사용하는 입장에서 필요로 하는 데이터를 중심으로 설계.

사용자가 쉽게 데이터에 접근하고 이해할 수 있도록 도와줌.

사용자 그룹의 관점에서 데이터를 추상화하고 필요한 정보만을 제공함으로써 DB의 사용성을 향상.

 

예를들어 학생용 외부스키마 라고 한다면:

학생들은 자신의 수업정보, 성적, 과목 등록상태 등에 관심이 있을 것이다.

이에 근거하여 학생들이 자주 접근하는 수업시간표, 성적표 등을 표현 할 수 있다.

학생용 외부 스키마는 각 학생의 개인정보를 표시하지 않고, 전체 학생들에게 공통적으로 필요한 정보를 표현.

 

 

2.개념스키마 (Conceptual Schema 혹은 Conceptual View)

DB의 논리적 구조를 정의 > 모든 데이터와 그들간의 관계를 포함

DB의 전반적인 구조와 데이터의 의미를 표현.

DB의 개념 스키마는 DB의 논리적 설계를 기반으로 하고, 접근권한, 보안 및 무결성 규칙에 관한 명세를 정의.

개체-관계 모델 (Entity-Realationship Model)을 사용하여 설계하는 경우가 많다.

외부 스키마로부터 추상화된 DB의 전체적인 뷰를 제공.

외부스키마와 내부스키마 사이의 중간수준의 추상화를 제공.

DB의 설계와 관리를 용이하게 하고, 사용자에게 일관된 데이터 접근 경험을 제공.

 

학사 시스템의 개념 스키마 예시:

학사 시스템의 주요 개념 > 학생, 강의, 성적 등의 주요 개념을 포함하고 각 개념은 테이블로 표현

 

테이블 구조 및 관계 > 각 개념을 나타내는 테이블의 구조를 정의 + 테이블간의 관계를 외래키(Foreign Key)를 통해 표현.

 

데이터의 일관성과 무결성 규칙 > 학번은 학생 테이블에서 유일한 값이어야 하고(기본키), 성적은 특정 강의의 학생에 대한

정보를 포함해야 한다 같은 규칙들이다.

 

이러한 규칙은 DB의 일관성과 무결성을 유지하고 데이터의 논리적인 구조를 보장한다.

 

데이터의뷰 > 사용자가 DB에 접근할 때 보는 데이터의 형태와 구조를 정의

각 사용자 그룹에 따라 다른 데이터 뷰를 제공 할 수 있으며, 사용자가 필요한 정보에 접근하게 한다.

 

 

3.내부스키마 (Internal Schema 혹은 Internal View)

DB의 물리적 저장장치의 입장에서 본 DB구조 혹은 DBMS 시스템의 입장에서 본 구조 > 즉 DB가 실제로 저장되는 방식과 데이터에 대한 접근 및 처리방법을 정의.

DB에 저장될 레코드의 형식을 정의하고 저장데이터의 표현 방법, 내부 레코드의 물리적 순서등을 나타냄.

저장 스키마(Storage Schema) 라고도 불림.

DB의 물리적 구조를 정의하여 데이터를 효율적으로 저장하고 관리, DB의 성능 및 안정성에 중요한 영향.

 

데이터파일구조:

DB의 테이블은 하나 이상의 데이터 파일에 저장된다.

예를들어 학생정보, 강의정보, 성적정보등 각 테이블에 해당하는 데이터 파일이 있다.

각 데이터 파일은 레코드라고 불리는 행들의 집합으로 구성.

여기서 레코드의 물리적 순서, 레코드의 크기, 필드의 데이터 유형 및 크기 등이 포함할 수 있다.

 

인덱스구조:

DB의 검색 성능을 향상시키기 위해 사용되는 인덱스의 구조를 정의.

학생정보 테이블에는 학번을 기준으로 한 인덱스가 있을 수 있다.

이 인덱스의 저장방식, 키의 순서, 중복 허용 여부등을 포함한다.

 

저장 경로 및 액세스 경로:

DB의 저장 경로 및 액세스 경로를 정의 > 데이터 파일이 실제로 저장되는 위치와 DBMS가 데이터에 액세스 하는 방법을 나타냄.

예를들어 DB는 하드디스크에 파일 시스템 형태로 저장될 것이다. 여기에서 파일이 저장되는 경로 및 파일 시스템의 구조를 정의한다.

접근하는 방법을 정의하고 이는 캐싱, 버퍼링, 인덱스 스캔등의 알고리즘 기술을 포함할 수 있다.