프로그래밍/DataBase

DBMS

jay.den 2019. 11. 21. 16:17
728x90

DBMS

 

개념-데이터베이스를 구축하고 이용하는 기능을 제공하는 시스템 소프트웨어로, 파일시스템의 문제점인 종속성과 중복성의 문제를 해결하고자 고안된 시스템.응용 프로그램과 데이타 사이의 중재자로서 모든 응용 프로그램들이 데이타베이스를 공용할 수 있게끔 관리해 주는 소프트웨어 시스템(software system) -데이터와 응용프로그램의 중간에서 응용프로그램이 요구한 대로 데이터를 정의하고, 읽고, 쓰고, 갱신하는 등의 데이터를 조작하고 관리하는 프로그램의 집합체

 

1.데이터베이스 관리 시스템(DBMS) 개요

     DBMS의 등장배경

데이터베이스 관리 시스템(DBMS) 개념도

  가. 데이터베이스 관리 시스템의 개념도

- 응용 시스템은 DBMS를 통해서만 데이터베이스 접근 가능

- DBMS는 데이터베이스의 구성, 접근방법, 관리 유지에 대한 모든 책임

 

                           

  나. 데이터베이스는 데이터베이스를 여러 응용프로그램들이 공용할 수 있도록 관리하고 지원함

모듈

기능

자료

정의기

- 스키마를 입력하고

자료사전(Data Dictionary)에 저장함

질의

처리기

- Query Processor

- 사용자의 질의를 받아서 SQL문법에 맞는지?

-DB Access횟수를 줄이는 최적 실행전략 수립

(Query Optimization)

트랜잭션

관리기

- 데이터베이스 프로그램들을 병행제어

(직렬화 보장)

저장

관리기

-Data를 Hard Disk에 저장하고 읽기

 

  다. 데이터베이스 관리시스템의 필수 기능

기능

설명

데이터 언어

정의
기능

다양한 형태의 데이터 요구를 지원할 수 있도록 가장 적절한 데이터베이스 구조를 정의 할 수 있는 기능

DDL (Data Definition Language)

조작 기능

사용자의 요구에 따라 체계적으로 데이터베이스를 접근 하고 조작할 수 있는 기능

DML (Data Manipulation Language)

제어 기능

데이터베이스의 내용에 대해 항상 정확성과 안전성을 유지할 수 있는 기능

DCL (Data Control Language)

 

구성요소

설명

DDL 컴파일러

DDL로 명세된 스키마를 내부 형태 즉, 메타데이터로 처리하여 시스템 카탈로그에 저장.

모든 DBMS 모듈들은 필요 시에 이 카탈로그 정보를 접근해서 이용함

질의어 처리기

일반 사용자가 제출한 고급 질의문을 처리한다. 즉, 이것은 검사하고 파싱해서 컴파일한다. 그리고 데이터베이스 접근코드를 생성한 뒤, 실행을 위해 런타임 DB 처리기에 보내짐

DML 예비

컴파일러

응용 프로그램에 삽입된 DML명령문을 추출하고, 추출된 DML 명령문은 데이터베이스 접근을 위한 목저고드로 컴파일 되도록 DML 컴파일러에 보내짐

DML 컴파일러

넘겨받은 DML 명령어를 파싱하고 컴파일하여 목적 코드를 생성함

런타임 데이타베이스 처리기

실행시간에 데이터베이스 접근을 관리한다. 즉, 검색이나 갱신과 같은 데이터베이스 연산을 저장 데이터 관리자를 통해 데이터베이스에 실행시킨다

트랜잭션 관리자

데이터베이스에 접근하는 과정에서 무결성 제약조건의 만족여부, 사용자의 권한 검사 등 체크

트랜잭션의 병행제어나 장애발생 시의 회복작업 등을 수행한다.

저장 데이터 관리자

디스트에 저장되어 있는 사용자 데이터베이스나 카탈로그 접근을 책임진다.

(OS의 파일관리자에게 요청)

'프로그래밍 > DataBase' 카테고리의 다른 글

[Oracle] ORA-12899 : value too large for column  (0) 2020.09.28