DBMS의 발전 배경(1)
데이타베이스 관리 시스템(DBMS: DataBase Management System)
-화일 중심 데이타 처리 시스템(file system)_operating system이 지원
- 각 응용 프로그램이 논리적 화일 구조를 정의하고 직접 물리적 화일 구조로 구현
- 각 응용 프로그램이 물리적 데이타 구조에 대한 접근 방법 구현
- 각 사용자가 데이타와 이를 처리하는 프로그램을 모두 관리 유지
- 응용 간의 데이타 공용이 불가능
데이타의 종속성(dependency)과 중복성(redundancy) 야기
DBMS의 발전 배경(2)
-화일 시스템에서 응용 프로그램과 화일과의 관계
- 1 : 1 관계
응용프로그램과 데이터 1:1 → 특정구조 변경 → 응용 프로그램 변경 여러구조/ 동일한 데이터 중복 문제점 발생
DBMS의 발전 배경(3)
데이타 종속성(dependency)
-응용 프로그램과 데이타 간의 상호 의존 관계
-데이타 구성 방법이나 접근 방법 변경 시 관련 응용 프로그램도 동시에 변경해야 됨
-응용 프로그램 관리가 곤란
데이타 중복성(redundancy)
-한 시스템 내에 같은 내용의 데이타가 여러 화일에 중복 저장되어 관리
-문제점
- 보안성(security)
- 일관성(consistency)
- 무결성(integrity)_데이터를 보호하고, 항상 정상인 데이터를 유지하는 것
- 경제성(economics)
DBMS의 발전 배경(4)
화일 관리 시스템(file management system)과 응용 프로그램
데이타베이스 관리 시스템의 정의
DBMS(Database management system)이란?
응용 프로그램과 데이타 사이의 중재자로서 모든 응용 프로그램(사용자)들이 데이타베이스를 고용할 수 있게 관리해 주는 범용 소프트웨어 시스템
DBMS의 필수 기능
정의(definition) 기능
-하나의 저장 구조(storage structure)로 여러 사용자의 요구를 지원할 수 있도록 데이타를 조직(organize)하는 기능
-정의 기능의 요건
- 데이타의 논리적 구조(logical structure)를 명세
- 데이타의 물리적 구조(physical structure)를 명세
- 물리적/논리적 사상(mapping)을 명세
조작(manipulation) 기능
-사용자와 데이터베이스 간의 interface를 위한 수단
-체계적 데이타베이스 접근 및 조작: 검색(retrieve), 갱신(update), 삽입(insert), 삭제(delete)
-데이타 언어로 표현
- 사용하기 쉽고 자연스러운 도구
- 원하는 연산의 명세 가능
- 효율적인 처리
제어(control) 기능
-데이터의 정확성(correctness)과 보안성(security)을 유지하는 기능
-제어 기능의 요건
- 무결성(integrity) 유지
- 보안(security), 권한(authority) 검사
- 병행 수행 제어(concurrency control)
- 복구(recovery)
DBMS의 장단점
장점
- 데이타 중복(redundancy)의 최소화
- 데이타의 공용(sharing)
- 일관성(consistency) 유지
- 무결성(integrity) 유지
- 보안(security) 보장
- 표준화(standardization) 용이
- 기관 전체 데이타 요구의 조정
단점
- 운영비의 overhead
- 특정 응용 프로그램의 복잡화
- 복잡한 backup과 recovery
- 시스템의 취약성
DBMS의 궁극적 목적
데이타 독립성(data independency)
논리적 데이타 독립성(logical data independency)
-응용 프로그램에 영향을 주지 않고 논리적 데이타 구조의 변경이 가능
-응용 프로그램의 효율적 개발이 가능
물리 데이타 독립성(physical data independency)
-응용 프로그램과 논리적 데이타 구조에 영향을 주지 않고 물리적 데이타 구조의 변경이 가능
-저장 장치의 효율적 개발이 가능
데이타 독립성 구현 기법: 사상(mapping)
데이타 구조 간의 사상과 데이타 독립성
DBMS의 발전 과정
제1세대 DBMS(first-generation DBMS)
-IDS(Integrated Data Store)
- 최초의 범용 DBMS
- 1960년대 초 General Electric의 Charles Bachman에 의해 설계
- 네트워크 데이타 모델(network data model)의 기초
- Bachman은 또한 데이타 구조도(data structure diagram)도 제안
-IMS(Information Management System) DBMS
- 1960년대 후반 IBM이 개발
- 계층 데이타 모델(hierarchical data model)의 기초
- 1970년대 초에는 대형 컴퓨터 회사들이 DBMS를 자체 제작 판매
제2세대 DBMS
-관계 데이타 모델(relational data model)
- IBM의 E.F.Codd가 제안
- Relational Database 이론의 기초
- 1980년대 DBMS의 주류가 되었고 계속 확장
-SQL
- IBM이 관계 DBMS의 일부로 개발
- 세계 표준 데이타베이스 언어
-주요 상용 DBMS
- DB2, Oracle, Ingress, Sybase, Informix
-PC 기반 DBMS
- Access, FoxPro, dBase, Paradox, SQL Serve
제3세대 DBMS
-사용자의 데이타베이스 응용에 대한 복잡성(complexity) 증대
- engineering, images, videos, spatial, time series, data mining
-사용자의 요구에 대처하기 위해 새로운 data model을 기반으로 시스템 개발
- 객체지향 DBMS(OODMBS: Object-Oreiented DBMS)
- Object-oriented programming-basis
-현재는 제2세대 DBMS + 제3세대 DBMS
- DBMS(O-RDBMS: Object-Relational DBMS)
관계 DBMS: INGRES, ORACLE, DB2, SQL/DS
계층 DBMS: IBM의 IMS
네트워크 DBMS: IDMS, IDSⅡ, DMS/1100
'Computer Science > 데이터베이스' 카테고리의 다른 글
[데이타베이스론] CH6. SQL (0) | 2022.05.20 |
---|---|
[데이타베이스론] CH5. 관계 대수와 관계 해석 (0) | 2022.05.20 |
[데이타베이스론] CH4. 관계 데이터베이스 (0) | 2022.05.20 |
[데이타베이스론] CH3. DBS 구성 (0) | 2022.05.20 |
[데이타베이스론] CH1. 데이타베이스 환경 (0) | 2022.05.20 |