데이터베이스 관리 시스템
23년 이전 글/데이터베이스

데이터베이스 관리 시스템

데이터베이스 관리 시스템 등장 배경

 

파일 중심 데이터 처리 시스템

  • 파일 시스템은 1960년대부터 사용
  • 파일은 기본적으로 순차적인 레코드들로 구성됨
  • 파일 시스템에서는 정보를 운영체제의 파일에 저장
  • 일반적으로 각각의 응용프로그램마다 별도의 파일을 유지

  • 각각의 응용프로그램마다 별도의 파일 유지(응용프로그램 종속적)
  • 파일내의 데이터 구조가 응용 프로그램에 반영(프로그래머는 데이터의 논리적인 구조와 물리적인 구조도 프로그램에 표현
  • 프로그램의 논리적 파일 구조는 직접 물리적 파일 구조로 구현(논리적 파일 구조와 물리적 파일 구조가 일대일로 대응)

두개의 프로그램이 하나의 Employee 파일과 대응

두개의 프로그램에는 Employee 파일의 내용들이 열거 됨

단점

  • 데이터가 여러 파일에 중복되어 저장됨, 데이터 중복성(Data Redundancy)
  • 응용 프로그램과 데이터 간의 상호 의존 관계, 데이터 종속성(Data Dependency)
  • 다수 사용자들을 위한 동시성 제어가 없음
  • 회복 기능이 없음

 

데이터 종속성(Data Dependency)

  • 데이터와 응용 프로그램 간의 상호 의존관계
  • 데이터의 구성방법이나 구성 형식, 접근 방법이 변경되면 관련 응용 프로그램도 동시에 변경
  • 응용 프로그램의 관리 곤란

데이터 중복성(Data Redundancy)

  • 파일 시스템에서는 데이터 내용이 같아도 구조가 다르면 별도의 파일을 만들어 사용
  • 한 시스템 내에 같은 데이터가 중복되어 저장 관리
  • 일관성, 보안성, 경제성, 무결성의 문제가 발생

일관성(Consistency)

  • 여러개의 데잍터가 모두 하나의 동일한 사실을 표현하면 논리적으로 내용이 모두 같아야 함

보안성(Security)

  • 논리적으로 한 시스템 내에 존재하는 같은 내용의 데이터에 대해서는 동일한 수준의 데이터 보안이 유지 되어야함

경제성(Economics)

무결성(Integrity) : 데이터의 정확성

 

데이터베이스 관리 시스템

사용자 또는 응용프로그램과 데이터베이스 사이의 중재자로서 데이터베이스를 공용 이용 할 수 있도록 관리해주는 소프트웨어 시스템

  • 데이터베이스에서 데이터의 검색/삽입/수정/삭제를 효율적으로 지원하는 프로그램
  • 데이터베이스를 정의하고, 질의어(Query)를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 소프트웨어

 

정의 기능(Definition Function)

하나의 저장 구조로 여러 사용자의 요구를 지원할 수 있도록 데이터를 조직하는 기능

정의 기능의 요건

  • 데이터의 논리적 구조 명세
  • 데이터의 물리적 구조 명세
  • 논리적/물리적 스키마 명세

조작 기능(Manipulation Function)

사용자 : 데이터베이스 사이의 인터페이스

체계적 데이터 처리를 지원(검색, 삽입, 삭제, 갱신)

조작 기능 요건

  • 사용이 쉽고 자연스러운 도구
  • 원하는 연산의 명세 가능
  • 효율적인 접근

제어 기능(Control Function)

데이터의 정확성과 보안성을 유지하는 기능

제어 기능의 요건

  • 무결성(Integrity) 유지
  • 보안, 권한 검사
  • 병행 수행 제거(Concurrency Control)

 

DBMS 장단점

장점

  • 데이터 중복의 최소화
  • 데이터의 공용
  • 일관성 유지
  • 무결성 유지
  • 보안 보장
  • 표준화 용이
  • 전체 데이터 요구의 조정

단점

  • 운영비의 오버헤드 : 추가적인 하드웨어 및 DBMS 구입 비용
  • 특정 응용 프로그램의 복잡화
  • 복잡한 백업과 회복
  • 시스템의 취약성

 

DBMS와 파일 시스템 비교

 

 

데이터베이스 관리 시스템의 발전 과정

 

네트워크 모델과 계층 데이터 모델에 기반 1세대

IDS(Integrated Data Store)

-1960년대 초 하니웰, Charles Bachman에 의해 설계된 최초의 범용 데이터베이스 관리 시스템

- 네트워크 데이터 모델의 기초

 

CODASYL ( Conference / Committee on Data System Language) DBTG 모델

  • 1960년대 후반
  • 표준화된 네트워크 모델
  • 데이터베이스와 독립적인 호스트 언어의 개념이 부상

 

네트워크 DBMS

  • 레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를 기반으로 하는 네트워크 모델을 사용
  • 레코드들이 링크로 연결되어 레코드 구조 변경의 어려움
  • 레코드 구조에 따른 응용 프로그램 작성

 

IMS(Information Management System)

  • 1960년대 후반 IBM의 최초 상업적인 데이터베이스 관리 시스템
  • 네트워크 모델을 단순화하여 트리 구조로 표현
  • 계층 데이터 모델(Hierarchical Data Model)의 기초

 

계층 DBMS

  • 레코드들을 트리 구조로 표현
  • 특정 응용에 대해 빠른 속도와 높은 효율성을 제공
  • 데이터 접근 방법을 응용 프로그램에 정의
  • 레코드들이 링크로 연결되어 레코드 구조와 응용 프로그램의 수정이 어려움

 

관계 데이터 모델 기반 2세대

  • 1970년대 IBM의 E.F.Codd가 관계 데이터 모델을 제안
  • 데이터베이스의 논리적 구조를 릴레이션(Relation)인 테이블 구조로 표현
  • 데이터베이스 이론의 기초 수립
  • 관계 데이터 모델의 단순함으로 IBM, 버클리 대학 등 관계 DBMS 개발
  • 1980년대 DBMS의 주류로서 계속 확장됨
  • 모델이 간단하여 이해하기 쉬움
  • 사용자는 원하는 것(what)만 명시하고 접근 방법이나 위치는 명시하지 않음

 

System/R DBMS 2세대

  • IBM이 개발, 추후 DB2로 상용화 됨
  • 개발 내용 중 SEQUEL( Structured English Query Language) 언어는 DBMS의 표준 언어인 SQL의 시초가 됨

 

Ingres

버클리 대학 Stonebraker 박사 팀에서 개발

 

Oracle, MS-SQL, MySql 

현재 주력 DBMS

 

객체지향(Object-Oriented) 모델에 기반

  • 1980년대 후반 들어 새로운 데이터 모델인 객체 지향 데이터 모델이 등장
  • 객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델
  • 장점 : 데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉬우며, 유지와 변경이 용이함
  • 예) ONTOS, OpenODB, GemStone, ObjectStore, Versant, O2등

 

객체 관계(Object-Relational) 모델에 기반

  • 1990년대 후반에 관계 DBMS에 객체 지향 개념을 통합한 객체 관계 데이터 모델이 제안됨
  • 예) Informix Universal Server, UniSQL, Orade 등

 

새로운 데이터베이스 응용

  • 게놈 데이터베이스, 데이터 웨어하우스, 데이터 마이닝
  • CAD 데이터베이스, 소프트웨어 공학 데이터베이스(재사용이 가능한 소프트웨어들의 라이브러리)
  • OLAP, 멀티미디어 데이터베이스, 웹 데이터베이스 등

 

내용 정리

 

데이터베이스 관리 시스템 등장 배경

  • 파일 시스템의 문제점을 극복하기 위해 등장

데이터베이스 관리 시스템

  • 사용자 또는 응용 프로그램과 데이터베이스 사이의 중재자로서 데이터베이스를 공용할 수 있도록 관리해주는 소프트웨어 시스템

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

  • 정의 기능, 조작 기능, 제어 기능

데이터베이스 관리 시스템 발전 과정

  • 계층 및 네트워크 데이터 모델, 관계 데이터 모델, 객체지향 및 객체 관계 데이터 모델

 

 

반응형