본문 바로가기

CS/데이터베이스

스키마

스키마(Schema)란, 관계형 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것을 의미한다.

스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.

스키마의 3계층

외부 스키마

외부 스키마는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.

하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다. 서브 스키마(사용자 뷰)라고도 불린다.

개념 스키마

개념 스키마는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다. 

개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.

내부 스키마

내부 스키마는 물리적 저장 장치의 입장에서 본 데이터베이스 구조로, 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다.

데이터가 디스크 스토리지에 저장되는 방식을 나타낸다.

스키마를 3계층으로 나누어 사용하는 이유

스키마를 3계층으로 나누어 사용하면, 모든 사용자는 물리적 데이터베이스의 스토리지 세부 사항을 직접 다룰 필요가 없다.

또한, 각 계층이 분리되어 있으므로, 클라이언트가 데이터베이스 비즈니스 로직에 직접 접근할 수 없다.

하지만, 설정 및 유지 관리가 어렵고, 구조가 복잡하다는 단점이 있다.

'CS > 데이터베이스' 카테고리의 다른 글

커넥션 풀  (0) 2023.08.29
프로시저  (0) 2023.07.10
JOIN  (0) 2023.07.09
DB Lock  (0) 2023.07.04
데이터베이스와 캐시  (0) 2023.06.28