[DB] 스키마가 뭘까요? 3단계 데이터베이스 구조에 대해 설명해주세요.

Jimin·2025년 3월 12일
0

[DB] 데이터베이스

목록 보기
5/15
post-thumbnail

데이터베이스 스키마

데이터베이스 스키마는 관계형 데이터베이스에서 데이터의 구조를 정의하는 설게도를 의미한다.
이는 테이블, 필드, 데이터 유형, 관계 및 제약조건 등을 포함하여 데이터를 어떻게 정리하고 관리할지에 대한 규칙을 설정한다.

(스키마의 목적은 명확히 데이터 구조를 정의하는 것!!)

스키마에 포함되는 것들

  • 개체의 특성을 나타내는 속성
  • 속성들의 집합으로 이루어진 개체
  • 개체 사이에 존재하는 관계에 대한 정의
  • 속성, 개체, 관계들이 유지해야할 제약조건

3단계 데이터베이스 구조

데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것이다.

  1. 외부 단계
  2. 개념 단계
  3. 내부 단계

1. 외부 단계 - 개별 사용자 관점

데이터 베이스 하나에 외부 스키마 여러 개가 존재할 수 있다.

외부 스키마 = 서브 스키마

  • 외부 단계는 사용자와 응용 프로그램에 맞게 필요한 데이터베이스 구조를 정의하며,
    각 사용자는 자신이 필요한 데이터만을 볼 수 있다.
  • 각 사용자가 생각하는 데이터베이스의 모습으로, 논리적 구조로 사용자마다 다른 모습이다.

2. 개념 단계 = 조직 전체의 관점/논리적 구조와 유사

개념 단계에서는 데이터베이스 전체의 논리적 구조를 정의하며, 하나의 데이터베이스에는 개념 스키마가 하나만 존재한다.

개념 스키마 = 스키마

  • 개념 단계에서 데이터베이스 전체의 논리적 구조를 정의한 것
  • 조직 전체의 관점에서 생각하는 데이터베이스 모습
  • 전체 데이터베이스에서 어떤 데이터가 저장되는지,
    데이터들 간에는 어떤 관계가 존재하고
    어떤 제약조건이 존재하는지에 대한 정의뿐만 아니라,
    데이터에 대한 보안 정책이나 접근 권한에 대한 정의도 포함
    => (데이터를 효과적으로 관리하기 위한 다양한 기능 개념)

3. 내부 단계 - 물리적인 저장 장치의 관점 / 실질적인 내용

데이터 베이스 하나에 내부 스키마가 하나만 존재

내부 스키마 = 저장 스키마

  • 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의한 것
  • 레코드 구조, 필드 크기, 레코드 접근 경로 등 물리적인 저장 구조를 정의

3단계 데이터베이스 구조 분류

설명외부스키마개념스키마내부스키마
다른명칭서브스키마스키마저장스키마
대상사용자, 응용 프로그래머의 관점데이터베이스 관리자(DBA)의 관점시스템 프로그래머, 시스템 설계자 관점
특징응용 프로그램이 데이터베이스의 일부를 보는 관점데이터베이스 자체의 전체적인 논리적인 구조물리적 저장장치의 입장에서 본 실제 데이터베이스 구조
용도사용자 뷰전체적인 뷰레코드의 물리적인 뷰

3단계 데이터베이스 구조의 사상 또는 매핑

데이터베이스를 3단계 구조로 나누고, 단계별로 스키마를 유지하며 스키마 사이의 대응관계를 정의하는 것이 목적이다.

1. 외부/개념 사상 - 응용 인터페이스

  • 외부 스키마 - 개념 스키마의 대응 관계
  • 외부/개념 사상은 응용 프로그램과 데이터베이스 시스템 간의 인터페이스 역할을 하며,
    사용자가 필요로 하는 데이터를 개념 스키마의 구조에 맞춰 제공하는 기능을 한다.

2. 개념/내부 사상 - 저장 인터페이스

개념 스키마 - 내부 스키마의 대응 관계

데이터 독립성

  • 데이터 독립성은 데이터베이스 시스템의 중요한 특성으로,
    하위 스키마의 변경이 상위 스키마에 영향을 미치지 않도록 보장하는 원칙이다.
  • 데이터베이스의 유연성과 유지보수 용이성을 높여준다.
  • 파일 시스템의 종속성 문제를 해결한다.

논리적 데이터 독립성 (응용 인터페이스 독립성 유지)

  • 개념 스키마가 변경되어도 외부 스키마가 영향을 받지 않는다.
  • 개념 스키마가 변경되면 관련된 외부/개념 사상만 정확히 수정해주면 된다.

물리적 데이터 독립성 (저장 인터페이스 독립성 유지)

  • 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않는다.
  • 내부 스키마가 변경되면 관련된 개념/내부 사상만 정확히 수정해주면 된다.

데이터베이스 종류

데이터 사전 - 시스템 카탈로그

데이터베이스에 저장되는 데이터에 관한 정보, 데이터를 설명, 관리하기 위한 시스템 데이터베이스

메타 데이터

데이터에 대한 데이터

스키마, 사상 정보, 다양한 제약 조건 등을 저장

데이터 디렉토리

데이터 사전에 있는 데이터에 실제로 접근하는데 필요한 위치 정보를 저장하는 시스템 데이터베이스

사용자 데이터베이스

사용자가 실제로 이용하는 데이터가 저장되어 있는 일반 데이터베이스


면접 답변

스키마(Schema)는 데이터베이스의 구조를 정의하는 설계도로, 데이터베이스 내에서 데이터를 어떻게 저장하고 관리할지를 규명하는 역할을 합니다. 관계형 데이터베이스에서는 테이블, 필드, 데이터 형식, 관계 및 제약 조건 등을 포함하여 데이터를 논리적으로 구조화합니다. 이를 통해 데이터 간의 관계를 명확히 하고, 데이터 무결성 및 일관성을 유지할 수 있습니다.

3단계 데이터베이스 구조는 데이터베이스를 보다 효율적으로 이해하고 관리하기 위한 분류로, 크게 외부 단계, 개념 단계, 내부 단계로 나눕니다.

외부 단계는 사용자나 응용 프로그램이 필요로 하는 데이터베이스의 구조를 정의하며, 외부 스키마는 사용자가 보는 데이터베이스의 모습을 제공합니다. 각 사용자는 자신이 필요한 데이터만을 볼 수 있습니다.

개념 단계는 데이터베이스 전체의 논리적 구조를 정의하며, 하나의 데이터베이스에는 개념 스키마가 하나만 존재합니다. 이 단계에서는 데이터 간의 관계와 제약 조건을 정의하고, 데이터베이스 관리자가 보안 정책 및 접근 권한도 설정합니다.

내부 단계는 데이터가 물리적으로 저장되는 방식에 대한 정의입니다. 내부 스키마는 레코드 구조, 필드 크기, 데이터 접근 경로 등 저장 장치에서 데이터가 실제로 어떻게 관리되는지에 대한 세부 정보를 다룹니다.

profile
https://github.com/Dingadung

0개의 댓글

관련 채용 정보