[DataBase] 스키마

CHAENG·2024년 7월 25일

DataBase

목록 보기
1/3

✅ 스키마

스키마를 이용해서 테이블을 분류하고 권한 관리를 할 수 있다.

스키마 개념

스키마란 데이터베이스의 구조제약조건에 관해 전반적인 명세를 기술한 것

  • 개체의 특성을 나타내는 속성 (Attribute)
  • 속성들의 집합으로 이루어진 개체 (Entity)
  • 개체 사이에 존재하는 관계 (Relation)

이들이 유지해야 할 제약 조건들을 기술 한 것
DB내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조


스키마의 특징

  1. 데이터 사전(Data Dictionary)에 저장된다.
    • 데이터 사전 : 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙 저장소, 항목을 참조하는데 사용되는 식별자, 항목에 대한 Entity의 구성요소, 항목이 저장되는 곳, 항목을 참조하는 곳 등을 포함
  2. 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어지게 된다.
  3. 시간에 따라 불변인 특성을 갖는다. (시불변성)
  4. 데이터의 구조적 특성을 의미한다.
  5. 인스턴스에 의해 규정된다.

스키마 종류

스키마는 사용자의 관점에 따라 외부, 개념, 내부 스키마로 구분된다.

  1. 개념 스키마 = 전체적인 뷰

    • 조직체 전체를 관찰하는 입장에서 DB를 정의한 것
    • 조직의 모든 응용시스템에서 필요로 하는 개체 관계, 제약 조건을 포함하고 있음
    • DB를 효율적으로 관리하는데 필요한 접근권한, 보안정책, 무결성 규칙등에 관한 사항들도 추가적으로 포함됨
    • 개념스키마를 ‘스키마’라고 칭하기도 함 (DB 전체를 기술하고 있는 것)

    특징

    • 데이터 베이스의 전체적인 논리적 구조
    • 데이터 베이스에 실제로 어떤 데이터가 저장되었으며 데이터의 관계가 어떻게 되어있는지 기술
    • 모든 응용프로그램이나 사용자들이 필요로하는 데이터를 종합한 조직 전체의 데이터베이스
    • 개체간의 관계와 제약조건 명시
    • 데이터베이스 관리자 (DBA)에 의해 구성됨
    • 데이터베이스당 하나만 존재
  2. 내부 스키마 = 저장 스키마

    • 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술한 것
    • 실제로 저장될 내부레코드 형식, 내부레크드의 물리적 순서, 인덱스의 유/무 등에 관한 내용
    • DB는 내부 스키마에 의해서 곧바로 구현되는 것이 아니라 내부 스키마에 기술한 내용에 따라 운영체제의 파일시스템에 의해 물리적 저장장치에 기록됨
    • 내부스키마에 의해 DB 실행 속도가 결정적으로 영향을 받으므로, DB 구축 목적에 따라 내부 스키마를 결정해야한다.

    특징

    • 데이터 베이스의 물리적 저장구조를 의미
    • 데이터의 실제 저장방법을 기술
    • 물리적인 저장장치와 밀접한 계층
    • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마
  3. 외부 스키마 = 사용자 뷰

    • 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인지 정의한 스키마

    특징

    • 전체 데이터 베이스의 한 논리적 부분 → 서브 스키마
    • 하나의 데이터베이스에는 여러 개의 외부 스키마가 존재 가능
    • 하나의 외부스키마를 여러 개의 응용 프로그램이나 사용자가 공유 가능
    • 일반 사용자는 질의어를 이용해서 DB를 손쉽게 사용 가능

✅ 데이터 독립성

  • 데이터베이스 내의 데이터, 데이터를 사용하는 사용자 및 응용 프로그램, 데이터베이스의 저장 구조가 서로 영향을 받지 않는 성질

논리적 독립성

  • 개념 스키마가 변경되어도, 외부 스키마에 영향을 주지 않는다.

물리적 독립성

  • 내부 스키마가 변경되어도, 개념 스키마, 외부스키마에 영향을 주지 않는다.

출처 링크
https://jwprogramming.tistory.com/47
https://iingang.github.io/posts/DB-schema/

profile
FrontEnd Developer.

0개의 댓글