데이터베이스 스키마는 관계형 데이터베이스에서 데이터의 구조를 정의하는 설게도를 의미한다.
이는 테이블, 필드, 데이터 유형, 관계 및 제약조건 등을 포함하여 데이터를 어떻게 정리하고 관리할지에 대한 규칙을 설정한다.
(스키마의 목적은 명확히 데이터 구조를 정의하는 것!!)
스키마에 포함되는 것들
데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것이다.
데이터 베이스 하나에 외부 스키마 여러 개가 존재할 수 있다.
개념 단계에서는 데이터베이스 전체의 논리적 구조를 정의하며, 하나의 데이터베이스에는 개념 스키마가 하나만 존재한다.
데이터 베이스 하나에 내부 스키마가 하나만 존재
설명 | 외부스키마 | 개념스키마 | 내부스키마 |
---|---|---|---|
다른명칭 | 서브스키마 | 스키마 | 저장스키마 |
대상 | 사용자, 응용 프로그래머의 관점 | 데이터베이스 관리자(DBA)의 관점 | 시스템 프로그래머, 시스템 설계자 관점 |
특징 | 응용 프로그램이 데이터베이스의 일부를 보는 관점 | 데이터베이스 자체의 전체적인 논리적인 구조 | 물리적 저장장치의 입장에서 본 실제 데이터베이스 구조 |
용도 | 사용자 뷰 | 전체적인 뷰 | 레코드의 물리적인 뷰 |
데이터베이스를 3단계 구조로 나누고, 단계별로 스키마를 유지하며 스키마 사이의 대응관계를 정의하는 것이 목적이다.
개념 스키마 - 내부 스키마의 대응 관계
데이터베이스에 저장되는 데이터에 관한 정보, 데이터를 설명, 관리하기 위한 시스템 데이터베이스
데이터에 대한 데이터
스키마, 사상 정보, 다양한 제약 조건 등을 저장
데이터 사전에 있는 데이터에 실제로 접근하는데 필요한 위치 정보를 저장하는 시스템 데이터베이스
사용자가 실제로 이용하는 데이터가 저장되어 있는 일반 데이터베이스
스키마(Schema)는 데이터베이스의 구조를 정의하는 설계도로, 데이터베이스 내에서 데이터를 어떻게 저장하고 관리할지를 규명하는 역할을 합니다. 관계형 데이터베이스에서는 테이블, 필드, 데이터 형식, 관계 및 제약 조건 등을 포함하여 데이터를 논리적으로 구조화합니다. 이를 통해 데이터 간의 관계를 명확히 하고, 데이터 무결성 및 일관성을 유지할 수 있습니다.
3단계 데이터베이스 구조는 데이터베이스를 보다 효율적으로 이해하고 관리하기 위한 분류로, 크게 외부 단계, 개념 단계, 내부 단계로 나눕니다.
외부 단계는 사용자나 응용 프로그램이 필요로 하는 데이터베이스의 구조를 정의하며, 외부 스키마는 사용자가 보는 데이터베이스의 모습을 제공합니다. 각 사용자는 자신이 필요한 데이터만을 볼 수 있습니다.
개념 단계는 데이터베이스 전체의 논리적 구조를 정의하며, 하나의 데이터베이스에는 개념 스키마가 하나만 존재합니다. 이 단계에서는 데이터 간의 관계와 제약 조건을 정의하고, 데이터베이스 관리자가 보안 정책 및 접근 권한도 설정합니다.
내부 단계는 데이터가 물리적으로 저장되는 방식에 대한 정의입니다. 내부 스키마는 레코드 구조, 필드 크기, 데이터 접근 경로 등 저장 장치에서 데이터가 실제로 어떻게 관리되는지에 대한 세부 정보를 다룹니다.