Database

02. DBMS 개요

k9e4h 2016. 7. 25. 15:14

학습 목표

1. DBMS 이해하기

2. ANSI / SPARC 구조와 데이터 독립성

DBMS 이해하기


1. DBMS 란?

 DBMS  ( Database Management System )

DB의 정의와 조작,제어 기능을 제공

여러 자용자와 응용 프로그램이 DB를 공용할 수 있도록 관리


 데이터 독립성 (Data Independency) 

응용 프로그램에 영향을 주지 않고 DB의 구조를 변경할 수 있는 것


DB의 구조를 변경해도 응용 프로그램에 영향을 주지 않고, 반대로 응용 프로그램을 변경해도 DB에 영향을 주지 않도록 하는 것


즉, 응용 프로그램이 데이터에 종속되지 않는 데이터 독립성을 제공하는 것


2. DBMS의 필수 기능


데이터 정의(Definition) 기능

다양한 응용 프로그램과 DB가 서로 인터페이스 할 수 있는 수단 제공, 하나의 저장된 DB를 기초로 여러 사용자와 응용 프로그램의 다양한 데이터 요구를 지원할 수 있도록 DB구조를 정의하는 기능 제공


데이터 조작(Manipulation) 기능

사용자와 DB간의 인터페이스를 위한 수단을 제공, B에 저장된 데이터의 CRUD등과 같은 DB 연산을 처리하는 기능


데이터 제어(Control) 기능

공용으로 관리되는 DB의 내용을 정확하고 안전하게 유지할 수 있도록 다음과 같은 3가지 제어 기능 제공

●  데이터의 삽입, 삭제등 DB 변경 시에 데이터의 무결성 및 일관성 유지가능

●  권한이 부여된 사용자만이 허용된 데이터에 접근할 수 있도록 접근 권한 검사 기능

●  여러 사용자가 DB에 동시에 접근할 수 있도록 동시성(Concurrency) 제어 가능


3. DBMS의 장단점


1) 장점

●   데이터의 동시 공유가 가능

 동시성 제어 

동일한 데이터를 여러 프로그램이 동시에 검색할 수는 있지만, 삭제 또는 갱신은 한 프로그램만 하도록 제어하는 것

●   데이터 중복의 최소화

●   데이터 일관성, 무결성 유지 용이

●   프로그램과 데이터 간의 독립성 유지

●   데이터 보안 보장

 접근 권한 통제 기능 

사용자에게 DB 접근 권한 또는 테이블 접근 권한등을 부여할 수 있음


2) 단점

●   운영비 증가

●   데이터 처리 복잡

●   백업 및 복구 복잡

●   시스템 장애에 취약

데이터가 한 곳에 통합되어 있으므로 일부의 장애가 시스템 전체에 영향을 미칠 수 있다.


4. DBMS의 역사


1) 제 1세대

60년대 초반부터 70년대 중반까지 네트워크 데이터 모델과 계층 데이터 모델을 기반으로 한 DBMS, IDS(Integrated Data Store)


2) 제 2세대

70년대 후반에 등장해서 80년대 주류가 된, 관계 데이터 모델을 기반으로 한 DBMS


3) 제 3세대

80년대 후반부터 새롭게 출현한 객체 DBMS나 객체-관계 DBMS


※ 현재는 2세대와 3세대의 공존, 4세대 기술이 개발 중임



ANSI/SPARC 구조와 데이터 독립성


1. ANSI/SPARC 구조 이해

ANSI : American National Standards Institute

SPARC : Standards Planning And Requirements Committee




DBMS의 구현을 위한 추상적인 설계 표준으로서, DB에 대한 여러 사용자의 관점과 DB가 실제로 표현되는 방식(물리적 관점)을 분리시킬 수 있도록, DB구조를 크게 외부 단계, 개념 단계, 내부 단계로 구분한 구조.


응용 프로그램과 데이터 간의 독립성을 제공


사용자             DB의 내부 구조에 대해 알지 못해도 DB를 사용할 수 있음

DB 관리자      응용 프로그램에 영향을 주지 않고 DB 구조를 변경할 수 있음


2. ANSI/SPARC 3단계 구조의 구성


1) 외부 단계 

개별 사용자의 관점(View)으로서 각 사용자나 응용 프로그래머가 생각하는 개인적 DB 구조 의미

외부 스키마라고도 하며, 여러 개 존재할 수 있음


2) 개념 단계 

DB에 관한 사용자 공동체의 관점,즉 한 조직 전체를 위한 DB의 논리적 구조를 의미

범 기관적 입장에서 전체 DB를 정의한 것을 개념스키마라고 하며, 개념 스키마는 단 하나만 존재


3) 내부 단계 

물리적 저장 장치 관점

DB에 어떤 데이터가 어떻게 저장되는지를 표현하는 저장 구조

실제로 저장된 내부 레코드의 형식, 인덱스 유무, 저장 데이터 항목의 표현 방법 등을 포함함

내부 단계에서 DB의 물리적 데이터 구조를 정의한 것을 내부 스키마라고 하며, 단 하나만 존재


4) 외부/개념 사상(Mapping) 

외부 스키마와 개념 스키마 간의 대응 관계를 정의 응용 인터페이스라고도 함

개념 스키마가 변경되어도 응용 인터페이스만 수정하면 외부 스키마에 영향을 미치지 않음


5) 개념 내부 사상(Mapping) 

개념 스키마와 내부 스키마 간의 대응 관계를 정의한 것으로, 저장 인터페이스라고 칭함

부득이 내부 스키마가 변경되어도 저장 인터페이스만 수정해주면, 개념 스키마에 아무런 영향을 미치지 않게 됨


※ 디스크와 같은 저장 장치에 데이터를 실제로 저장하는 기 법을 다루는 물리 단계는 DBMS의 지시에 따라 운영체제가 관리하므로 3단계 DB 구조에는 포함되지 않는다.


3. ANSI/SPARC 구조와 스키마


 스키마(Schema) 

DB의 구조 즉, 개체와 속성, 관계를 포함하는 논리적 정의와 제약조건을 기술한 것


ANSI/SPARC의 3단계 구조와 스키마구분




4. 데이터 독립성


1) 데이터 독립성

응용 프로그램과 데이터가 서로 종속적되지 않는 것, 서로 영향을 미치지 않도록 하는 것

DB의 논리적 구조나 물리적 구조가 변경되어도 응용 프로그램에 영향을 주지 않는 것


2) 논리적 데이터 독립성

응용 프로그램에 영향을 주지 않고 DB의 논리적 구조(개념 스키마)를 변경할 수 있는 것을 의미

외부/개념 단계 간의 사상에 의해 보장


3) 물리적 데이터 독립성

응용 프로그램이나 DB의 논리적 구조에 영향을 주지 않고 DB의 물리적 구조(파일 편성, 데이터 접근 방법 등)를 변경할 수 있는 것

개념/내부 단계 간의 사상에 의해 보장







반응형

'Database' 카테고리의 다른 글

04. 데이터 모델링 개요  (0) 2016.08.17
03. DB 시스템의 구성  (0) 2016.08.04
01. 데이터베이스 개요  (0) 2016.07.20
[Database] 식별/비식별 관계  (1) 2016.04.22
[Database] 2.물리모델링 (eXerd 이용)  (0) 2016.04.08