Schema란?
- schema는 데이터 베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타 데이터의 집합이다.
- Entity, Attribute, Relationship 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관한 것들을 전반적으로 정의한다.
Entity
- 데이터 베이스를 구성하는 데이터 개체
ex) 회원, 게시판
Attribute
- 개체가 갖는 속성
ex) 유저1, 유저2, 게시판글1, 게시판글2
Relationship
- 데이터 베이스를 구성하는 개체와 개체 사이의 관계
ex) 유저와 게시판 글은 작성했다는 관계를 갖고있다
스키마의 특징
- 스키마는 데이터 사전에 저장된다.
- 스키마는 특정 데이터 모델을 이용해서 만들어진다
- 스키마는 시간에 따라 불변인 특성을 가진다
- 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.
스키마 3계층
외부스키마 - 사용자 view
- 개별 사용자들의 입장에서 데이터 베이스의 논리적 구조를 정의
- 동일한 데이터에 대해, 서로 다른 관점을 정의할 수 있도록 허용한다.
- 하나의 데이터 베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 사용할 수 있다.
개념스키마 - 전체적인 view
내부스키마 - 저장 스키마
- 물리적 저장 장치의 입장에서 본 데이터 베이스 구조
- 개념 스키마를 디스크 기억 장치에 물리적으로 구현하기 위한 방법을 기술한 것
- 저장될 데이터 항목의 내부 레코드 형식, 물리적 순서 등을 나타낸다.
출처 : [DB 데이터베이스] 스키마(Schema)의 개념 및 특징
[DB기초] 스키마란 무엇인가?