💕IT 공부하기/데이터베이스

데이터베이스 시스템의 발전 과정을 알아봅시다.

수리즘 2022. 8. 18. 09:00
반응형

01. DBMS 발전 과정

데이터 모델에 대해 알고 계신가요?

데이터 모델이란 데이터베이스의 구조를 기술하는 데 사용되는 개념들의 집합인 구조를 뜻합니다.

이 구조 위에서 동작하는 연산자들, 무결성 제약조건들로 이루어집니다. 하나의 데이터 모델에 대해

하드웨어, 운영체제, 성능, 신뢰도, 사용자 인터페이스, 추가 유틸리티 및 도구 등에 따라

여러 가지 구현이 있을 수 있습니다.

 

DBMS 분야는 빠르게 변화하고 있습니다. 응용과 DBMS 기능 사이의 갭을 줄이는 방향으로 발전하고 있습니다.

현재에는 계층 및 네트워크 DBMS들은 거의 사용되지 않고 있으며 보다 새롭고 우수한 데이터 모델들이 개발되었고

점차 상용 DBMS에 구현되고 있습니다.

 

① 계층 DBMS

계층 DBMS는 트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS입니다.

 

② 네트워크 DBMS

네트워크 DBMS는 레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를

기반으로 하는 네트워크 데이터 모델을 사용한다. 레코드들이 링크로 연결되어 있으므로

레코드 구조를 변경하기 어려우며 응용 프로그램을 수정하는 것 또한 어렵다.

따라서 데이터 독립성이 매우 제한됩니다.

 

③ 관계 DBMS

관계 DBMS의 장점은 모델이 간단하여 이해하기 쉬우며, 사용자는 자신이 원하는 것(what)만 명시하고,

데이터가 어디에 있는지, 어떻게 접근해야 하는지는 DBMS가 결정하는 테이블을 기반으로 하는

데이터 모델입니다.

 

④ 객체 지향 DBMS

객체 지향 데이터 모델은 객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델입니다.

이 데이터 모델의 장점은 데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉬우며,

유지와 변경이 용이하다는 것입니다.

 

⑤ 객체 관계 DBMS

1990년대 후반에 관계 DBMS에 객체 지향 개념을 통합한 객체 관계 데이터 모델이 제안되었습니다.

객체 관계 DBMS는 관계 DBMS에 새로운 데이터 타입과 데이터베이스에 대한 연산들을 추가할 수 있는

기능을 제공합니다.

 


새로운 데이터베이스 응용과 DBMS의 분류

고전적인 기업 정보 시스템에서 사용되는 데이터베이스는 사원(이름, 주소, 급여, 직책, 상태 등), 부서 등을

포함합니다. 이런 데이터베이스에 대해 수행되는 전형적인 질의들은 사원들의 급여, 어떤 부서에서 근무하는

사원들의 이름 등을 검색하는 것입니다.

 

은행 시스템에서 사용되는 데이터 베이스는 고객의 이름과 주소, 예금의 종류, 잔액, 예금과 대출의 연계 등을

포함합니다. 잔액 조회 등이 대표적인 질의이며, 데이터 갱신 연산은 입금과 출금에 따른 잔액 갱신,

새로운 고객의 계좌 정보 삽입 등을 포함합니다.

 

비행기 예약 시스템에서 사용되는 데이터베이스는 좌석 등급, 출발일, 출발 장소, 도착 장소 등을 포함합니다.

전형적인 질의들은 출발과 도착 시간에 따른 비행기 편, 각 좌석 등급별 빈 좌석 수 등을 검색하며,

데이터 갱신 연산은 비행기 편 예약, 좌석 배정, 예약 취소 등을 포함합니다.

 

이와 같은 기존의 데이터베이스 응용들 이외에 데이터베이스를 활용하는 새로운 응용 분야들이

등장하고 있습니다. 새로운 데이터베이스 응용에는 CAD 데이터베이스, 게놈 데이터베이스, 데이터 웨어하우스,

데이터 마이닝, 소프트웨어 공학 데이터베이스(재사용이 가능한 소프트웨어들의 라이브러리), 

OLAP, 멀티미디어 데이터베이스 등이 있습니다. 또한 웹에 저장되어 있는 방대한 웹 문서들을 위한 웹 데이터베이스의

중요성도 증가하고 있으며, 반구조적(semi-structured)인 데이터와 XML을 지원하는 데이터베이스,

공간(spatial) 데이터베이스, 스트림(stream) 데이터베이스, 이동(mobile) 데이터베이스 등에 대한 연구가

진행되고 있습니다.

 

기준 종류
데이터 모델에 따른 분류 ・계층 DBMS
・네트워크 DBMS
・관계 DBMS
・객체 지향 DBMS
・객체 관계 DBMS
사용자의 수에 따른 분류 ・단일 사용자 DBMS (주로 PC용)
・다수 사용자 DBMS
사이트의 수에 따른 분류 ・중앙 집중식 DBMS
・분산 DBMS
접근 방법에 따른 분류 ・범용 DBMS
・특별한 DBMS (예:공간 DBMS)

 


02. DBMS 언어란?

데이터베이스를 구축하기 위해서 사용자는 먼저 데이터베이스 스키마를 정의한 후에 DBMS에서 제공하는

연산자들을 사용하여 데이터를 저장, 검색, 수정, 삭제하게 됩니다. 일반적으로 DBMS는 이와 같은 작업들을

용이하게 하는 언어들을 제공합니다. 이런 언어들은 DBMS마다 DBMS의 바탕이 되는 데이터 모델, 복잡도,

기능, 사용의 용이성(사용자 인터페이스) 등에 따라 다르다.

 

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

사용자는 데이터 정의어를 사용하여 데이터베이스 스키마를 정의하는데 데이터 정의어로 명시된 문장이 입력되면

DBMS는 사용자가 정의한 스키마에 대한 명세를 시스템 카탈로그 또는 데이터 사전에 저장하며, 시스템 카탈로그는

메타데이터를 저장합니다.

 

  1. 데이터 모델에서 지원하는 데이터 구조를 생성
    SQL에서 CREATE TABLE
  2. 데이터 구조의 삭제
    SQL에서 DROP TABLE
  3. 데이터 구조의 변경
    SQL에서 ALTER TABLE
  4. 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스를 정의
    SQL에서 CREATE INDEX

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

사용자는 데이터 조작어를 사용하여 데이터베이스 내의 원하는 데이터를 검색하고, 수정하고, 삽입하고,

삭제합니다. 일반적으로 데이터 조작어에는 어떤 데이터가 필요하고 어떻게 데이터를 찾을 것인가를

명시하는 절차적 언어(procedural language)와 어떤 데이터를 원하는가만 명시하고 데이터를 검색하는

방법은 명시하지 않는 비절차적 언어(non-procedural language)가 있다.

 

  1. 데이터의 검색
    SQL에서 SELECT
  2. 데이터의 수정
    SQL에서 UPDATE
  3. 데이터의 삭제
    SQL에서 DELETE
  4. 데이터의 삽입
    SQL에서 INSERT

03. DBMS 사용자란?

① 데이터베이스 관리자(DBA: Database Administrator)

데이터베이스 관리자는 조직의 여러 부분의 상이한 요구를 만족시키기 위해서 일관성 있는 데이터베이스 스키마를

생성하고 유지하는 사람(팀)을 말합니다.

 

・데이터베이스 스키마의 생성과 변경

・한꺼번에 적재 (bulk loading)

・무결성 제약조건을 명시

・사용자의 권한을 허용하거나 취소하고, 사용자의 역할을 관리

・저장 구조와 접근 방법(물리적 스키마) 정의

・백업과 회복

・표준화 실행

 

② 응용 프로그래머(application programmer)

응용 프로그래머는 데이터베이스 위에서 특정 응용이나 인터베이스를 구현하는 사람으로서

데이터 조작어의 주요 사용자입니다. 고급 프로그래밍 언어인 C, 코볼 등으로 응용 프로그램을 개발하면서

데이터베이스를 접근하는 부분은 내포된 데이터 조작어를 사용합니다. 이들이 작성한 응용 프로그램을

최종 사용자들이 사용하게 되는데 이를 기작성 트랜잭션(canned transaction)이라 부릅니다.

 

③ 최종 사용자(end user)

최종 사용자는 질의, 갱신하거나 보고서를 생성하기 위하여 데이터베이스를 사용하는 사람으로서

데이터 정의어나 데이터 조작어를 직접 사용하는 경우는 비교적 많지 않습니다.

 

④ 데이터베이스 설계자(database designer)

데이터베이스의 설계를 책임지는 사람으로서 데이터베이스의 일관성을 유지하기 위해서 정규화를

수행하며 데이터베이스에 효율적으로 접근할 수 있도록 인덱스 등을 정의합니다.

 

⑤ 오퍼레이터(operator)

오퍼레이터는 DBMS가 운영되고 있는 컴퓨터 시스템과 전산실을 관리하는 사람입니다.

 

 

 

 

[IT 공부하기/데이터베이스] - ANSI/SPARC 아키텍처와 데이터 독립성에 대하여

 

ANSI/SPARC 아키텍처와 데이터 독립성에 대하여

01. ANSI/SPARC 아키텍처란? DBMS의 주요 목적은 사용자에게 데이터에 대한 추상적인 뷰를 제공하는 것이라고 합니다. 즉 데이터가 어떻게 저장되고 유지되는 건지 자세한 과정이나 내용은 숨기는 것

soonirism.tistory.com

 

 

반응형