개발/CS

[DB] 데이터베이스 시스템 (DataBase System)

zz132456zz 2022. 4. 6. 00:24
728x90

데이터베이스 시스템 (DataBase System, DBS)

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

사용자, 데이터 언어, 데이터베이스 관리시스템 (DBMS), 데이터베이스 모두를 포함하는 개념이다.

데이터베이스

스키마와 인스턴스

스키마 (schema) : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것

인스턴스 (instance) : 스키마에 따라 데이터베이스에 실제로 저장된 값

 

3단계 데이터베이스 구조

외부 단계 (external level) - 데이터베이스를 개별 사용자 관점에서 이해하고 표현하는 단계

개념 단계 (conceptual level) - 데이터베이스를 조직 전체의 관점에서 이해하고 표현하는 단계

내부 단계 (internal level) - 데이터베이스를 물리적인 저장 장치의 관점에서 이해하고 표현하는 단계

  • 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아진다.

데이터 독립성 (data independancy)

하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성

  • 논리적 데이터 독립성 - 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다.
  • 물리적 데이터 독립성 - 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않는다.

데이터 사전 (data dictionary)

데이터베이스에 저장되는 데이터에 관한 정보 (메타 데이터)를 유지하는 시스템 데이터베이스

스키마, 제약조건 등을 저장한다.

데이터베이스 관리 시스템이 스스로 생성하고 유지한다.

일반 사용자도 접근이 가능하지만 조회만 할 수 있다.

 

데이터 디렉토리 (data directory)

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

일반 사용자의 접근이 허용되지 않는다.

 

사용자 데이터베이스 (user database)

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

데이터베이스 사용자

데이터베이스를 이용하기 위해 접근하는 모든 사람

 

  • 데이터베이스 관리자 - 데이터베이스 시스템을 운영, 관리하는 사람
  • 최종 사용자 - 데이터베이스에 접근하여 데이터를 조작(삽입, 삭제, 수정, 조회)하는 사람
  • 응용 프로그래머 - 데이터 언어를 삽입하여 응용 프로그램을 작성하는 사람

데이터 언어

사용자와 데이터베이스 관리시스템 간의 통신 수단

 

  • 데이터 정의어 (DDL) - 스키마를 정의하거나, 수정, 삭제하기 위해서 사용한다.
  • 데이터 조작어 (DML) - 데이터의 삽입, 삭제, 수정, 조회 등을 처리하기 위해서 사용한다.
  • 데이터 제어어 (DCL) - 내부적으로 필요한 규칙이나 기법을 정의하기 위해서 사용한다. (무결성, 보안, 회복, 동시성 제어를 목적으로 사용한다)

데이터베이스 관리시스템

데이터베이스 관리와 사용자의 데이터 처리 요구 수행

 

주요 구성 요소

  • 질의 처리기 (query processor) - 사용자의 데이터 처리 요구를 해석해서 처리해준다.
  • 저장 데이터 관리자 (stored data manager) - 디스크에 저장된 사용자 데이터베이스와 데이터 사전을 관리하고, 접근하는 역할을 담당한다.

 

 

 

 

 

 

 

 

 

 

728x90