데이터베이스 스키마
스키마란, 데이터베이스에서 데이터가 구조화되는 방식을 정의합니다. 데이터베이스를 구성하는 데이터 개체(entity), 속성(attribute), 관계(relationship) 및 논리적 제약조건이 포함됩니다.
데이터베이스 스키마 유형
외부 스키마(External Schema)
- 사용자나 응용 프로그램이 실제 데이터베이스에 접근할 때볼 수 있는 데이터베이스의 논리적인 부분에 해당합니다.
- 사용자 별 동일한 데이터에 대해 서로 다른 관점을 정의할 수 있습니다.
개념 스키마(Conceptual Schema)
- 하나의 데이터베이스 시스템은 하나의 개념 스키마만 존재합니다.
- 데이터베이스 전체를 정의한 것으로 데이터 개체, 관계, 제약조건, 무결성 규칙 등에 대한 명세를 정의합니다.
내부 스키마(Internal Schema)
- 물리적 저장장치 입장에서 바라본 데이터베이스의 구조입니다.
- 실제로 데이터가 물리적으로 저장되는 방식을 정의합니다.
개념적 스키마는 데이터베이스의 전반적인 구조를 나타내며, 여러 개의 외부 시키마를 가질 수 있습니다.
이커머스 데이터베이스의 경우 상품 정보, 주문 정보 등을 필요로 하는 다수의 사용자 그룹이 존재할 수 있습니다.
각각의 사용자 그룹에서는 요구하는 데이터를 노출하고, 숨길 수 있는 외부 스키마를 가질 수 있습니다.
데이터베이스 스키마 분리의 장점
- 스키마를 분리하여 데이터 독립성, 중복 배제, 유지보수 용이 등의 장점을 가질 수 있습니다.
데이터 독립성
데이터 독립성이란, 데이터의 논리적 구조나 물리적 구조가 변경되어도 응용 프로그램이 영향을 받지 않는 것입니다.
논리적 데이터 독립성
- 데이터의 논리적 구조와 외부 스키마의 독립성을 의미합니다.
즉, 데이터의 논리적 구조가 변경되어도 사용자나 응용 프로그램에는 영향을 주지 않습니다.
예를 들어 특정 테이블의 구조가 변경되어도 여전히 동일한 데이터에 접근이 가능합니다.
물리적 데이터 독립성
- 데이터 물리적 구조와 논리적 구조의 독립성을 의미합니다.
논리적 구조가 변경되어도 사용자는 여전히 동일한 쿼리로 데이터에 접근 할 수 있습니다.
데이터 파일의 저장 방식이 변경 되어도 동일한 쿼리로 데이터에 접근 할 수 있는 것처럼
데이터 독립성 보장의 장점
- 데이터베이스를 사용하는 응용 프로그램을 수정하지 않고도 데이터의 구성, 표기방법, 저장위치를 변경 가능합니다.
- 데이터를 접근하는 응용 프로그램에 영향을 미치지 않고도 데이터를 처리하는 HW, SW를 보다 발전된 형태로 변경하거나 대체 가능합니다.