[데이터베이스] #2 데이터베이스 시스템

2023. 9. 9. 16:01·Computer Science

데이터베이스 시스템

데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템

-> 정보 : 데이터를 토대로 의미있는 내용을 도출한 것

데이터베이스 시스템

스키마와 인스턴스

  • 스키마
    • 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
    • class, definition의 개념
  • 인스턴스
    • 스키마에 따라 데이터베이스에 실제로 저장된 값
    • object, 실체화된 내용임

3단계 데이터베이스 구조

ANSI/SPARC에서 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눔.

  • 외부 단계 : 개별 사용자 관점
    • 데이터베이스 하나에 대해 여러 개의 외부 스키마가 존재할 수 있음
    • 개별 사용자마다 필요한 데이터가 다르므로 -> 사용자마다 정의하는 외부 스키마가 다름
    • 실제로는 20개의 정보가 존재하더라도 내게 보이는 것은 10개일 수 있음 (정의하는 외부 스키마가 다르기 때문!)
  • 개념 단계 : 조직 전체의 관점
    • 데이터베이스 하나에 개념 스키마가 하나만 존재함
    • 개념 단계에서 데이터베이스 전체의 논리적 구조를 정의한 것
  • 내부 단계 : 물리적인 저장 장치의 관점
    • 데이터베이스 하나에 내부 스키마가 하나만 존재함
    • 데이터베이스를 저장 장치의 관점에서 이해함
     

스키마 사이의 대응 관계

  • 외부 / 개념 매핑 : 외부 스키마와 개념 스키마 사이의 매핑 관계
  • 개념 / 내부 매핑 : 개념 스키마와 내부 스키마 사이의 매핑 관계
  • DB를 3단계 구조로 나누고 단계별로 스키마 유지하며 스키마 사이의 대응 관계를 정의 -> 데이터 독립성의 실현

데이터 독립성 (Data Independency)

=> 하위 스키마를 변경하더라도 상위 스키마는 영향을 받지 않는 특성이다. 

 

1. 논리적 데이터 독립성

  • 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않음
  • 개념 스키마가 변경되면 관련된 외부 / 개념 매핑 내용만 수정해주면 됨

2. 물리적 데이터 독립성

  • 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않음
  • 내부 스키마가 변경되면 관련된 개념 / 내부 매핑만 수정해주면 됨

데이터 언어

  • 데이터 정의어 (DDL) -> definition
    • 스키마를 정의하거나, 수정 또는 삭제하기 위해서 사용됨
  • 데이터 조작어 (DML) -> modification
    • 데이터의 삽입 / 삭제 / 수정 / 검색 등의 처리를 요구하기 위해 사용됨
  • 데이터 제어어 (DCL) -> control
    • 내부적으로 필요한 규칙, 기법을 정의하기 위해서 사용됨

DBMS의 구성

  • 질의 처리기 (query processor)
    • 사용자의 데이터 처리 요구 해석하여 처리함
    • DDL 컴파일러, DML 컴파일러, DML 프리 컴파일러 (주황색 - DBMS request 요소), 런타임 DB 처리기, 트랜잭션 관리자 등이 포함됨.
  • 저장 데이터 관리자
    • 디스크에 저장된 DB, Dict(데이터 사전) 관리하고 접근함

예시 ) 파이썬 프로그램 -> DML 컴파일러는 이해하지 못하므로, 해당 py 파일에서 DML 프리 컴파일러가 SQL 추출을 진행함.

 


- 김연희. 『데이터베이스개론』. 한빛아카데미.

저작자표시 (새창열림)

'Computer Science' 카테고리의 다른 글

[데이터베이스] 데이터베이스 저장 및 인덱스  (0) 2023.11.29
[데이터베이스] #3 데이터 모델링, 관계 데이터 모델  (1) 2023.10.10
[데이터베이스] #1 데이터베이스 기본 개념, 관리 시스템 DBMS  (0) 2023.09.09
'Computer Science' 카테고리의 다른 글
  • [데이터베이스] 데이터베이스 저장 및 인덱스
  • [데이터베이스] #3 데이터 모델링, 관계 데이터 모델
  • [데이터베이스] #1 데이터베이스 기본 개념, 관리 시스템 DBMS
jjjaeunn
jjjaeunn
  • jjjaeunn
    eunlogツ
    jjjaeunn
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 논문 리뷰
      • AI
      • Computer Science
      • 알고리즘
  • 블로그 메뉴

    • 홈
    • papers
    • algorithm
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터베이스
    빅데이터연합동아리
    동아리
    MLM
    BERT
    gpu
    pytorch
    db
    보아즈
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
jjjaeunn
[데이터베이스] #2 데이터베이스 시스템
상단으로

티스토리툴바