본문 바로가기

데이터베이스

[데이터베이스] 데이터베이스 관리 시스템 구성

데이터베이스 관리 시스템의 구성

데이터베이스 사용자

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

 - 이용 목적에 따라 데이터베이스 관리자, 최종 사용자, 응용 프로그래머로 구분

 

데이터베이스 관리자(DBA; DataBase Administrator)

데이터베이스 시스템을 운영, 관리하는 사람

주로 데이터 정의어와 데이터 제어어를 사용

주요 업무

 - 데이터베이스 구성 요소 산정

 - 데이터베이스 스키마 정의

 - 물리적 저장 구조와 접근 방법 결정

 - 무결성 유지를 위한 제약조건 정의

 - 보안 및 접근 권한 정책 결정

 - 백업 및 회복 기법 정의

 - 시스템 데이터베이스 관리

 - 시스템 성능 감시 및 성능 분석

 - 데이터베이스 재구성

 

최종 사용자(end user)

 - 데이터베이스에 접근하여 데이터를 조작(삽입·삭제·수정·검색) 하는 사람

 - 주로 데이터 조작어를 사용

 - 캐주얼 사용자와 초보 사용자로 구분

 

응용 프로그래머(application programmer)

 - 데이터 언어를 삽입하여 응용 프로그램을 작성하는 사람

 - 주로 데이터 조작어를 사용

 

데이터 언어

데이터 언어

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

 - 사용 목적에 따라 데이터 정의어, 데이터 조작어, 데이터 제어어로 구분

 

데이타 정의어

 - DDL : Data Definition Language

 - 데이터베이스 구조를 정의(definitions)하고 변경(alteration) 하는데 사용

 

데이타 정의의 내용

 - 논리적 데이타 구조의 정의

   - 스키마, 외부 스키마 명세

 - 물리적 데이타 구조의 정의

   - 내부 스키마 명세

   - 데이타 저장 정의어 (Data Storage Definition Language)

 - 논리적 데이타 구조와 물리적 데이타 구조 간의 사상을 정의

 

데이타 조작어

 - DML : Data Manipulation Language

 - 사용자 (응용 프로그램) DBMS 사이의 통신 수단

 - 데이타 처리 연산(operations) 집합 (데이타의 검색, 삽입, 삭제, 변경 연산)

 - 절차적(procedural) DML

   - 저급 데이타 언어(low-level data language)

   - what how 명세

   - 한번에 하나의 레코드만 처리(one record at a time)

   - 응용 프로그램 속에 삽입(embedded)되어 사용

   - DML 예비 컴파일러(precompiler) 의해 처리

 - 비절차적(non-procedural) DML

   - 고급 데이타 언어(high-level data language)

   -  “what” 명세(declarative)하고 “how” 시스템에 위임

   - 한번에 여러 개의 레코드를 처리(set of records at a time)

   - 질의어 (Query Language) 독자적이고 대화식 : command 타입 프로그램의 추상적 표현

 - 데이타 부속어(DSL, Data Sublanguage)

   - host program 속에 삽입되어 사용되는 DML

   - 비절차적 또는 절차적 DML

 - 데이타 언어의 완전성(completeness of data language)

   - 사용자가 원하면 어떤 객체도 추출할  있고, 관계도 표현할  있는 능력

 

데이터 제어어(DCL; Data Control Language)

 - 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용

 - 사용 목적

무결성 : 정확하고 유효한 데이터만 유지

보안 : 허가받지 않은 사용자의 데이터 접근 차단, 허가된 사용자에 권한 부여

회복 : 장애가 발생해도 데이터 일관성 유지 동시성 제어 : 동시 공유 지원

 - DB 관리 목적으로 DBA 사용

 

데이터베이스 관리 시스템

 - 데이터베이스

 

관리와 사용자의

 

데이터 처리 요구 수행

 - 주요 구성 요소

   - 질의 처리기(query processor)

     - 사용자의 데이터 처리 요구를 해석하여 처리

     - DDL 컴파일러, DML 프리 컴파일러, DML 컴파일러, 런타임 데이터베이스 처리기, 트랜잭션 관리자 등을 포함

   - 저장 데이터 관리자(stored data manager)

     - 디스크에 저장된 사용자 데이터베이스와 데이터 사전을 관리