데이터베이스 관리 시스템 등장 배경
파일 중심 데이터 처리 시스템
- 파일 시스템은 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, 멀티미디어 데이터베이스, 웹 데이터베이스 등
내용 정리
데이터베이스 관리 시스템 등장 배경
- 파일 시스템의 문제점을 극복하기 위해 등장
데이터베이스 관리 시스템
- 사용자 또는 응용 프로그램과 데이터베이스 사이의 중재자로서 데이터베이스를 공용할 수 있도록 관리해주는 소프트웨어 시스템
데이터베이스 관리 시스템 필수 기능
- 정의 기능, 조작 기능, 제어 기능
데이터베이스 관리 시스템 발전 과정
- 계층 및 네트워크 데이터 모델, 관계 데이터 모델, 객체지향 및 객체 관계 데이터 모델
반응형
'23년 이전 글 > 데이터베이스' 카테고리의 다른 글
데이터베이스 시스템, 데이터 모델 (0) | 2022.07.23 |
---|---|
데이터베이스 시스템 구성 요소 (0) | 2022.07.23 |
정보의 환경 (0) | 2022.07.06 |
SQL 쿼리, SELECT 사용 방법 (0) | 2022.07.01 |
Entity Relations Database 표기 관련 참고링크 (0) | 2022.06.30 |