[DB] 데이터 독립성 과 스키마

수박이삼촌·2024년 1월 11일
0
post-thumbnail

데이터 독립성

데이터 독립성(Data Independence)은 데이터베이스의 물리적 구조나 데이터의 저장 방식에 변화가 생겨도 응용 프로그램이나 사용자에게는 영향을 주지 않는 능력을 의미합니다.

데이터 독립성은 크게 두 가지로 나누어집니다:

  • 물리적 데이터 독립성
    데이터의 물리적 저장 방식이나 저장 장치 등이 변경되어도, 응용 프로그램에 영향을 주지 않는 특성을 말합니다.
    예를 들어, 데이터가 저장되는 디스크의 섹터 크기나 트랙 크기가 변해도 응용 프로그램은 영향을 받지 않습니다.
  • 논리적 데이터 독립성
    데이터베이스의 논리적 구조가 변경되어도 응용 프로그램에는 영향을 주지 않는 특성을 말합니다.
    예를 들어, 테이블 구조가 바뀌거나, 새로운 테이블이 추가되거나, 테이블 사이의 관계가 변경되어도 응용 프로그램은 수정할 필요가 없습니다.

이렇게 데이터 독립성을 유지함으로써, 데이터베이스의 유지보수와 확장성이 향상되고, 데이터베이스 관리 시스템(DBMS)은 데이터의 안정성과 무결성을 보장할 수 있습니다.

목적

데이터 독립성의 목적은 데이터베이스에 대한 사용자 뷰데이터베이스가 실제로 표현되는 뷰를 분리해 변경 간섭을 줄이는 것이 핵심이다. 데이터 독립성을 확보하면

  1. 각 뷰의 독립성이 유지되고 계층별 뷰에 영향을 주지 않고 변경할 수 있다.
  2. 단계별 스키마에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 달라진다.

스키마(Schema)

스키마(schema)는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것입니다. 데이터베이스에 어떤 데이터가 어떤 형태와 관계로 저장될지를 정의한 것입니다.

스키마는 데이터베이스의 구조를 정의하며, 이 스키마에 따라 데이터의 물리적, 논리적 구조가 결정됩니다. 그러나 데이터 독립성에 의해 이러한 구조의 변화는 사용자나 응용 프로그램에 영향을 주지 않습니다.

데이터베이스 구조는 크게 외부 스키마, 개념 스키마, 내부 스키마로 나눌 수 있습니다.

  • 외부 스키마(External Schema): 사용자가 각각 보게 되는 데이터베이스의 뷰(View)를 의미합니다.
  • 개념 스키마(Conceptual Schema): 조직 전체의 데이터베이스 구조를 통합하여 표현한 것으로, 모든 응용 시스템과 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 뷰를 제공합니다.
  • 내부 스키마(Internal Schema): 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 나타냅니다

3단계 데이터베이스 구조

3단계 데이터베이스 구조는 하나의 데이터베이스를 개별 사용자의 관점, 조직 전체의 관점, 그리고 물리적인 저장 장치의 관점이라는 세 가지 단계로 나누어 이해합니다. 이렇게 각 단계별로 다른 추상화를 제공함으로써 데이터베이스를 효과적으로 관리할 수 있습니다.

  • 외부 단계(External Level)
    외부 단계는 개별 사용자가 데이터베이스를 어떻게 보는지를 표현하는 단계입니다. 이를 외부 스키마라고 하며, 각 사용자는 자신만의 외부 스키마를 가질 수 있습니다. 사용자 별로 필요한 데이터베이스의 부분 집합이 다르기 때문에, 외부 스키마는 전체 데이터베이스 중 사용자가 관심을 가지는 부분을 정의합니다. 이렇게 외부 스키마는 사용자들이 데이터베이스를 논리적인 구조로 이해하도록 돕습니다.
  • 개념 단계(Conceptual Level)
    개념 단계는 데이터베이스 관리 시스템(DBMS)나 데이터베이스 관리자가 전체 데이터베이스를 어떻게 이해하는지를 표현하는 단계입니다. 이를 개념 스키마라고 하며, 개념 스키마는 모든 사용자에게 필요한 데이터를 통합한 전체 데이터베이스의 논리적 구조를 정의합니다. 따라서 데이터베이스 하나에는 하나의 개념 스키마만 존재하며, 각 사용자는 개념 스키마의 부분 집합인 외부 스키마를 사용합니다.
  • 내부 단계(Internal Level)
    내부 단계는 데이터베이스가 물리적인 저장 장치에 어떻게 저장되는지를 표현하는 단계입니다. 이를 내부 스키마라고 하며, 내부 스키마는 데이터가 실제로 저장 장치에 어떻게 배치되고, 어떤 방식으로 접근하는지 등을 명세합니다.

3단계 데이터베이스 구조를 통해, 사용자 애플리케이션으로부터 물리적인 데이터베이스를 분리시킬 수 있습니다. 이는 데이터베이스의 물리적 구조나 저장 방식이 변경되더라도 사용자 애플리케이션에는 영향을 주지 않도록 함으로써, 데이터 독립성을 보장하고 효율적인 데이터 관리를 가능하게 합니다.

Reference

profile
Today I Learned

0개의 댓글

관련 채용 정보