본문 바로가기

데이터베이스

[Database] 데이터베이스 시스템(DBS)

 

데이터베이스 시스템DBS; DataBase System

데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보를 제공해주는 전체 시스템


Note.

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

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

3단계 데이터베이스의 구조

미국 표준화 기관인 ANSI에서 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 제안하였다.

하나의 데이터베이스를 3단계로 나누고, 각 단계별로 다른 추상화를 제공하면서 데이터베이스를 효과적으로 관리

외부 단계 : 개별 사용자 관점; 개별 사용자가 데이터베이스를 어떻게 보는가를 표현하므로 사용자마다 생각하는

데이터베이스의 구조가 다르다. 이처럼 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것

외부 스키마external schema라 한다. 데이터베이스 하나에는 외부 스키마가 여러 개 존재할 수 있고,

외부 스키마 하나를 사용 목적이 같은 사용자들이 공유할 수 있다.

개념 단계 : 조직 전체의 관점; 데이터베이스의 일부분이 아닌 전체 데이터베이스에 관심을 둔다.

DBMS나 관리자의 관점에서 모든 사용자에게 필요한 데이터를 통합하여 전체 데이터베이스의 논리적

구조를 정의한다. 이를 개념 스키마conceptual schema라 한다. 데이터베이스 하나에는 개념 스키마가 하

나만 존재하고, 각 사용자는 개념 스키마의 일부분(외부 스키마)을 사용한다.

내부 단계 : 저장 장치의 관점; 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의하며 이를 내부 스키

internal schema라고 한다. 데이터베이스의 개념 스키마에 대한 물리적인 저장 구조를 표현하므로 하나

의 데이터베이스에 하나만 존재한다.

데이터베이스를 3단계 구조로 나누고,

단계별로 스키마를 유지하며 스키마 사이의 대응관계를 정의하는 궁극적인 목적은 데이터 독립성을 실현하기 위해서다.

외부 단계(사용자 관점) - 응용프로그램

외부/개념 사상(논리적인 데이터 독립성)

개념 스키마가 변경되더라도 적절한 외부/개념 사상 수정을 통해 외부 스키마가 영향을 받지 않은 것이다.

외부/개념 사상은 외부 스키마와 개념 스키마의 대응 관계를 정의한 것으로, 응용 인터페이스라고도 한다,

개념 단계(조직 전체 관점) - 모델링

개념/내부 사상(물리적인 데이터 독립성)

내부 스키마가 변경되더라도 적절한 개념/내부 사상 수정을 통해 개념 스키마가 영향을 받지 않은 것이다.

개념/내부 사상은 개념 스키마와 내부 스키마의 대응 관계를 정의한 것으로, 저장 인터페이스라고도 한다.

내부 단계(저장 장치 관점) - DB Storage

데이터 사전data dictionary

데이터베이스에 저장되는 데이터에 관한 정보를 저장하는 곳이며 시스템 카탈로그system catalog라고도 한다.


데이터베이스 사용자

데이터베이스에 접근하는 모든 사람을 의미

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

데이터베이스를 직접 활용하기보다는 조직 내의 사용자를 위해 데이터베이스를 설계 및 구축하고,

데이터베이스 관리자는 데이터 정의어데이터 제어어를 이용하여 데이터베이스에 접근한다.

2) 최종 사용자end user

데이터를 조작하기 위해 데이터베이스에 접근하는 사람들을 일반 사용자 또는 최종 사용자라 한다.

최종 사용자는 데이터 조작어로 자신의 요구를 직접 표현하기보다는 메뉴나 GUI 형태의 응용 프로그램을 통해

데이터베이스를 사용한다.

3) 응용 프로그래머application programmer

응용 프로그램을 작성할 때 데이터베이스에 접근하는 데이터 조작어를 삽입하는 사용자다. 데이터 정의어를 삽입

할 수도 있지만 주로 데이터 조작어를 삽입한다.


데이터 언어

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

1) 데이터 정의어DDL; Data Definition Language

새로운 데이터베이스를 구축하기 위해 스키마를 정의하거나 기존 스키마의 정의를 삭제 또는 수정하기 위해 사용

하는 데이터 언어. 주로 설계자나 관리자가 사용한다.

2) 데이터 조작어DML; Data Manipulation Language

사용자가 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 데이터베이스 관리 시스템에 요구하기 위해 사용하는 데

이터 언어. 설명 방식에 따라 절차적 데이터 조작어와 비절차적 데이터 조작어로 나눈다.

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

데이터베이스에 저장된 데이터를 여러 사용자가 무결성과 일관성을 유지하며 문제없이 공유할 수 있도록, 내부적

으로 필요한 규칙이나 기법을 정의하는 데 사용하는 데이터 언어.


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

주요 기능은 데이터베이스를 관리하고 사용자의 데이터 처리 요구를 수행이다.

사용자와 데이터베이스 사이에 위치하며, 기능에 따라 크게 질의 처리기저장 데이터 관리자로 나뉜다.

1) 질의 처리기query processor

사용자의 데이터 처리 요구를 해석하여 처리하는 역할을 담당한다.

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

디스크에 저장된 데이터베이스와 데이터 사전을 관리하고, 여기에 실제로 접근하는 역할을 담당한다.