데이터베이스 스키마
✒️ 2025-05-28 15:28 내용 수정
참고 자료 : IBM 데이터베이스 스키마란 무엇인가요, Ingyung Park's DB 데이터베이스 스키마(Schema)의 개념 및 특징, 코딩팩토리 DB기초 스키마란 무엇인가
관계형 데이터베이스(RDBMS)에서 데이터가 구조화되는 방식을 정의한 것
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터(또는 데이터 사전)의 집합이다.
- 데이터 개체(Entity), 속성(Attribute), 관계(Relationship), 필드, 데이터 유형, 제약 조건 등에 관한 내용을 정의한다.
- 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해 만들어진다.
- 시간에 따라 변하지 않으며, 인스턴스에 의해 규정된다.
- 데이터베이스 인스턴스 : 데이터베이스의 특정 시점의 데이터 샘플
- 스키마가 데이터값으로 설명하는 모든 속성이 포함된다.
- 특정 시점의 스냅샷이기 때문에 스키마와 다르게 시간 경과에 따라 변경될 수 있다.
- 데이터 모델을 통해 데이터베이스 관리자는 정규화 프로세스를 관리하여 데이터 중복을 피하거나, 분석가의 경우 데이터 구조를 탐색하여 보고 및 분석을 수행할 수 있다.
1. 개념 스키마(스키마)
시스템 구성요소, 구조화 방법, 비즈니스 규칙에 관한 전체적인 뷰를 제공
- 조직체 전체를 관장하는 입장에서 DB를 정의한 것으로 물리적 구현은 고려하지 않는다.
- 건물 청사진과 같은 듯 하다.
- ex) 마트에 생활용품, 음식, 기타 상품을 배치한다.
- 관계, 제약 조건, 접근 권한, 보안 정책, 무결성 규칙에 관한 사항을 포함한다.
- DB 전체를 기술한 것이므로 한 개밖에 존재할 수 없다.
- 초기 프로젝트 요구 사항을 수집하는 과정에서 생성된다.
2. 내부 스키마
물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술
- 데이터의 실제 저장 방법을 기술한 것으로 물리적인 저장 장치와 밀접한 계층이다.
- 저장 데이터 항목의 내부 레코드(테이블의 행), 물리적 저장 순서 및 구조를 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마다.
- ex) 사과는 과일에 저장하고, 연필은 필기도구에 저장한다.
3. 외부 스키마(서브 스키마)
사용자 뷰, 사용자나 응용 프로그래머가 개인 입장에서 필요한 데이터베이스를 논리적 구조로 정의
- 전체 데이터베이스의 한 논리적 부분으로 볼 수 있어서 서브 스키마로도 불린다.
- 사용자나 응용 프로그래머마다 작성하기 때문에 하나의 데이터베이스에는 여러 개의 외부 스키마가 존재할 수 있다.
- 같은 테이터베이스에 대해서도 서로 다른 관점에서 정의할 수 있기 때문이다.
- ex) 휴대전화를 휴대전화, 핸드폰, 폰, 모바일 폰 등으로 서로 다르게 부르는 것 같다.
- 응용 프로그래머는 C, Java 등의 언어를 통해 DB에 접근한다.