본문 바로가기

CS/데이터베이스

Schema가 무엇인가요?

Schema란 무엇인가?

스키마는 데이터베이스의 전체 구도(설계도)를 의미한다.

데이터가 어떤 구조로 저장되고, 어떤 관계를 가지며, 어떤 제약 조건이 있는지를 정의한 논리적 구조이다.

 

Schema의 3계층 구조 

이 개념은 DB를 논리적/물리적 독립성을 위해 세 단계로 나눈 모델이다.

 

외부 스키마(External Schema): 사용자나 응용 프로그램이 보는 DB의 일부분(View), 사용자별 맞춤 뷰 제공 (학생은 성적만, 교수는 반 전체 성적)

개념 스키마(Conceptual Schema): DB 전체의 논리적 구조, 모든 데이터와 관계 정의, 전체 DB의 논리적 설계(엔티티, 관계 등 ERD 수준)

내부 스키마 (Internal Schema): 데이터가 실제로 물리적으로 저장되는 방식, 물리적 저장구조 정의 (파일 구조, 인덱스, 저장 경로 등)

 

외부 스키마: 사용자 맞춤 뷰 ex) 학생은 자신의 성적만 조회 가능

개념 스키마: 전체 논리 구조 ex) 학생 테이블과 과목 테이블의 관계

내부 스키마: 물리적 저장 방식 ex) B+Tree 인덱스, 데이터 파일 구조