Database

03. DB 시스템의 구성

k9e4h 2016. 8. 4. 09:55

학습 목표

1. DB 시스템의 구성과 데이터 언어

2. Key와 무결성 제약조건

DB 시스템의 구성과 데이터 언어


1. DB 시스템이란?

1) DB 시스템(DBS)이란?

DB 시스템은 데이터를 DB에 저장하고, DBMS를 사용해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템


2) DB 시스템의 구성요소


●  데이터베이스

데이터를 저장

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

DB를 생성, 관리, 조작함으로써 사용자와 DB를 연결해주는 소프트웨어

●  데이터 언어 

DB 정의와 조작, 제어를 위한 DB 전용 언어

●  DB 사용자

데이터 언어를 사용해서 DB에 접근하는 사람으로, 일반 사용자와 응용 프로그래머, DB 관리자로 구분함

●  DB 컴퓨터 

효율적인 DB 관리를 위해서 DB에 대한 연산을 전담하는 DB 관리 전용 컴퓨터


2. 데이터 언어


1) 데이터언어란?

DB를 정의하고, 조작, 제어하기 위해서 사용하는 언어. 즉, 사용자가 데이터에 접근하는 수단으로서, 사용자와 DBMS 간의 통신 수단을 제공하는 것


2) 데이터 언어의 완전성이란?

데이터 언어가 반드시 갖추어야할 필수 요건, 사용자가 원하면 어떤 데이터도 검색하고 처리할 수 있으며, 어떤 연산도 표현할 수 있는 능력을 의미


3) 데이터 정의어 (DDL : Data Definition Language)

DB 구조를 정의하거나 변경하기 위해서 사용하는 언어

DB 설계자 또는 DB 관리자가 DB 스키마를 정의하기 위해 사용

논리적 데이터 구조의 정의, 물리적 데이터 구조의 정의, 논리적 데이터 구조와 물리적 데이터 구조 간의 사상 정의.


●  데이터 정의의 저장

DDL로 정의된 DB 스키마는 DMBS의 구성 요소 가운데 하나인 DDL 컴파일러가 컴파일해서 시스템 카탈로그 또는 데이터 디렉토리에 저장해 두고 필요할 때 참조

 System Catalog 

DB에 포함된 모든 객체들에 대한 정의나 명세에 대한 정보가 수록되어 있는 시스템 테이블로, 데이터 사전(Data Dictionary)이라고도 칭함

 Data Directory 

DB에 저장된 데이터를 참조하는데 필요한 정보가 수록된 시스템 테이블


4) 데이터 조작어 (DML : Data Manipulation Language)

DB 사용자와 DBMS 사이의 통신 수단

데이터 검색과 삽입, 삭제, 갱신과 같은 DB 연산을 처리


●  절차적 DML

사용자가 무슨 데이터를 어떻게 접근해서 처리해야하는지 기술해야 하는 저수준(Low Level) 데이터 언어

독자적으로 사용하지 못하고, 응용 프로그램 속에 삽입(embedded)되어 사용


●  비절차적 DML

사용자가 무슨 데이터를 원하는지만 기술하고, 어떻게 접근해서 처리해야 하는지는 DBMS에게 위임하는 고급(High Level) 데이터언어

한번에 여러 개의 레코드를 처리

독자적이고 대화식으로 사용하는 고급 명령어 형태의 데이터 조작어를 질의어(Query Language)라고 칭함


5) 데이터 제어어 (DCL : Data Contrl Language)

공용 DB의 관리를 위해서 데이터 제어를 정의하고 기수하는 언어

DB 관리를 목적으로 주로 DB 관리자가 사용한다.


●  데이터제어의 기능

●  데이터 보 안

●  데이터 무결성

●  데이터 복구

●  병행 수행 제어


3. DB 사용자


1) 일반 사용자

대개 질이의를 사용해서 DB에 접근하는 사람

주로 데이터 검색 및 삽입, 삭제, 갱신을 목적으로 DB에 접근


2) 응용 프로그래머

업무 중심의 응용 프로그램을 개발하는데 참여하는 정보기술 전문가

DB에 대한 기초 지식을 갖춘 프로그래밍 전문가.

C,Java 등과 같은 호스트 언어와 DML에 익숙


3) DB관리자 (DB Administrator)

DB 시스템이 기능을 원활히 수행할 수 있도록 관리를 책임지는 사람

DB 시스템을 총체적으로감시하고 관리하는 책임과 권한을 갖고 있는 사람

DB 설계 및 구축, DB의 변경 계획도 수립


 DBA의 주요 역할 

●  DB 시스템 감시 및 성능 분석

●  DB의 구성 요소 결정 및 스키마 정의

●  DB의 저장 구조와 접근 방법 ㄱ ㅕㄹ정

●  보안 및 권한 부여 정책, 데이터의 유효성 검사 방법 수립

●  백업 및 복구 절차수립

●  DB의 무결성 유지를 위한 대책 수립

●  DB 시스템의 성능 향상 및 새로운 요구에 대응한 DB 재구성

●  시스템 카탈로그의 관리

●  데이터 표현 및 시스템 문서화에 대한 표준 설정

●  사용자의 요구 및 불만 해소 등


4. DB 컴퓨터


1) DB 컴퓨터의 정의 및 특징

  대규모 DB(VLDB Very Large Database)를 보다 효율 적으로 관리하기 위한 DB 관리 전용 컴퓨터

호스트 컴퓨터 후위에서 DB 관리 및 연산 수 행 기능을 전담하는 특수 목적의 컴퓨터

  후위처리기, 고성능의 메인 메모리와 CPU, 대용량 저장장치, 병렬 처리 및 DB 연산 수행을 위한 특수 처리기등으로 구성됨

  DB 관리 기능을 소프트웨어만으로 처리하는 것이아니라, 펌웨어나 하드웨어로 수행하기 때문에 저비용으로 고성능을 달성할 수 있음

 펌웨어 

변경할 필요가 없는 소프트웨어를 ROM 등에 고정 시켜서 하드웨어 처럼 사용하는 것



2) DB 컴퓨터의 주요 역할

DB 연산기능 

DB 관리 기능 : 데이터 접근 권한 확인, 병행 수행 제어, 데이터 복구, 최적의 접근 경로 선정 등을 포함하는 데이터 관리 기능을 직접 수행

DBMS의 구성


1. DBMS의 DB 연산 처리 방법

1) DBMS의 주요 기능과 절차

DB 관리 및 사용자 요구를 처리하기 위한 연산을 수행해서 필요한 정보를 생성


    연산 수행 절차 

  1. 데이터 언어로 작성된 사용자의 접근 요구(access request)를 접수해서 분석

  2. 시스템이 이해할 수 있는 형태로 변환

  3. 외부 / 개념 / 내부 스키마 간의 사상(Mapping)을 수행해서 저장 DB에 접근

  4. 저장된 목표 데이터에 대해 필요한 연산Opertation을 수행


2. DBMS의 구성요소


DB 시스템은 데이터를 DB에 저장하고, DBMS를 사용해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템


●  질의어 처리기

일반 사용자가 입력한 질의문을 컴파일 해서 DB에 접근하기 위한 Object Code를 생성

●  트랜잭션 관리자

데이터를 일관되게 변경하는 하나 이상을 DML 문장으로 구성된 Transaction 단위의 작업을 수행, DB 접근 과정에서의 무결성 제약 조건 검사, 데이터에 대한 접근 권한 검사, 여러 사용자의 요구를 동시에 처리하기 위한 병행 제어, 장애 발생시 복구 작업등을 수행


 트랜잭션  

데이터를 일관되게 변경하는 하나 이상의 DML 문장


●  DDL 컴파일러

DDL 로 정의된 스키마를 내부 형태로 변환해서 시스템 카탈로그에 저장

●  DML 예비 컴파일러    

호스트 언어로 작성된 응용 프로그램에 삽입된 DML을 추출한 다음, 그 자리에 함수 호출문을 삽입한다.

●  DML 컴파일러

DML 명령어를 컴파일해서 오브젝트 코드로 변환

●  Runtime Database Processor (런타임 DB 처리기)

실행 시간에 DB 접근 관리

●  저장 데이터 관리자

디스크에 저장되어 있는 사용자 DB나 시스템 카탈로그에 대한 접근 제어



반응형

'Database' 카테고리의 다른 글

Database Replication  (0) 2016.09.07
04. 데이터 모델링 개요  (0) 2016.08.17
02. DBMS 개요  (0) 2016.07.25
01. 데이터베이스 개요  (0) 2016.07.20
[Database] 식별/비식별 관계  (1) 2016.04.22