DBMS의 발전 배경
1. 파일 중심 데이터 처리 시스템
- 초기 데이타 처리 시스템은 파일 중심 데이터 처리 시스템이었다. (1:1 대응)
- 각 응용 프로그램이 개별적으로 자기 자신의 데이터를 파일로 관리 유지하는 처리 시스템
파일 중심 데이터 처리 시스템의 특성
- OS가 지원
- 응용 프로그램은 응용 프로그래머가 생각하는 논리적 파일 구조를 직접 물리적 파일 구조로 구현해야 한다.
- 응용 프로그래머는 물리적 데이터 구조에 대해 잘 알고 있어야 함
- 모든 응용 프로그램은 자기 자신의 데이터 파일을 가지고 있어야 함
- 응용 간의 데이타 공용이 불가능
- -> 하나의 파일은 하나의 응용만을 위해 존재함(1:1 관계)
=> 데이터 공용을 할 수 없어서 데이터 종속성, 데이터 중복성을 야기함
2. 데이터 중복성
- 한 시스템 내에서 내용이 같은 데이터가 여러 파일에 중복되게 저장되어 관리되는 것
데이터 중복성의 문제점
- 일관성: 여러 개의 데이터가 데이터 중복으로 인해서 동일성 유지하지 못하고, 데이터 간의 불일치 일어나서 일관성 X
- 보안성: 한 시스템 내에 존재하는 같은 내용의 데이터이지만 데이타 중복을 인해서 같은 수준의 보안이 유지되지 X
- 경제성: 데이터 중복 저장되면 저장 공간에 대한 비용 많이 듦
- 무결성: 데이터 중복 저장되면 제어가 분산되어서 데이터 무결성(데이타 정확성) 유지하기 힘듦
3. 데이터 종속성
- 응용 프로그램과 데이터 간의 상호 의존 관계
- 데이터의 구성 방법이나 접근 방법을 변경할 때 자연히 이것을 기초로 한 응용프로그램도 같이 변경시켜야 함
- 응용 프로그램 관리가 곤란
=> 파일 관리 시스템(공동 접근 루틴)도 데이터의 중복성을 야기함! => 최종적으로 DBMS가 발전되었습니다.
DBMS의 정의
- 데이터베이스를 편리하고 효율적으로 관리하기 위해 필요한 기능을 집대성한 소프트웨어 패키지
- 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램(사용자)들이 데이터베이스를 공용할 수 있게끔 관리해 주는 범용 소프트웨어 시스템
- 데이타베이스는 여러 사용자나 응용 프로그램들이 공유해서 사용할 수 있는 데이터의 집합
- 응용 프로그램은 사용자가 시스템에 표현한 여러 가지 형태의 요구


DBMS의 필수 기능
1. 정의 기능(구조 설계, CREATE)
- 하나의 저장 구조로 여러 사용자의 요구를 지원할 수 있도록 데이타를 조직하는 기능
- 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 생성, 수정, 삭제하는 기능을 제공합니다.
- -> 필수 요건: 데이터베이스의 논리적 구조와 특성이 DBMS가 지원하는 데이터 모델에 맞게 기술, 데이터의 물리적 구조의 명세 포함, 물리적/논리적 구조 상호 변환 가능하도록 사상 명세
2. 조작 기능(데이터를 데이타 언어로 검색, 삽입, 수정, 삭제할 수 있도록)
- 사용자와 데이터베이스 사이의 인터페이스를 위한 수단 제공함-> 사용자가 데이타에 접근해서 검, 삽, 수, 삭 함!!
- 체계적인 데이타베이스 접근 및 조작을 하는 것입니다.
- 검색, 갱신, 삽입, 삭제 등의 데이타베이스 연산을 지원하는 도구
- SELECT, INSERT, UPDATE, DELETE 등의 SQL 문을 사용하여 데이터를 조작할 수 있습니다.
- 데이터 언어(SQL)로 표현 = 사용자가 사용하기 쉽고 자연스러움, 명확하고 완전해야 함, 효율적이어야 함
- -> 6장에서 데이타 조작어 배웠잖아!! 그거야 그거
3. 제어 기능
- 데이타의 정확성과 보안성을 유지하는 기능
- -> 필수 요건: 병행 수행 제어, 보안, 권한 검사, 데이타 무결성 유지, 복구
DBMS의 장단점
1. DBMS의 장점
- 데이터 중복의 최소화(DBMS는 데이터를 중앙에서 관리)
- 데이터 공용
- 데이터 일관성 유지
- 데이터 무결성 유지
- 데이터 보안 보장
- 표준화 용이
- 기관 전체 데이터 요구의 조정(다양한 방식으로 기여, 가장 유익한 구조로 데이타 조직 -> 효율적인 정보 처리 가능)
2. DBMS의 단점
- 운영비의 증대(소프트웨어와 하드웨어의 조합으로 구성되므로 초기 구축 비용이 높음)
- 특정 응용 프로그램의 복잡화(상이한 DB중에 내 것을 찾아서 접근하기 위해서)
- 복잡한 백업과 회복
- 시스템의 취약성(DBMS는 중앙에서 데이터를 관리하므로, DBMS에 장애가 발생하면 전체 시스템이 영향을 받을 수 있음)
DBMS의 궁극적 목적? 데이터 독립성
- 데이타의 논리적 구조나 물리적 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는 것입니다.
- 데이타베이스(데이타 집합)-DBMS(중재자)-응용프로그램(사용자)
- 원래는 종속돼있어서 데이타 변경하면 응프도 같이 변경해줬어야 했지만 DBMS가 중간다리 역할을 해줘서 데이타 독립성 보장됩니다~~~
1. 물리적 데이터 독립성
- 파일 구조를 변경하더라도 응용프로그램에 영향을 주지 않는 것
- 기존 응용 프로그램과 논리적 데이타 구조에 아무런 영향을 주지 않고 데이터베이스 관리 시스템이 데이터베이스의 물리적 구조를 변경할 수 있는 것
- 데이타베이스의 물리적 구조를 변경했습니다 -> 응용 프로그램에 아무런 영향이 가지 않습니다. 물리적인 데이타가 독립적입니다!!!
2. 논리적 데이터 독립성
- 응용프로그램이 변경되더라도 파일구조를 변경할 필요가 없는 것
- 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램들에 아무런 영향을 주지 않는 것
- 데이타베이스의 논리적 구조를 변경했습니다 -> 응용 프로그램에 아무런 영향이 가지 않습니다. 논리적인 데이타가 독립적입니다!!!
3. 데이터 독립성 구현 기법? 사상

DBMS의 발전 과정
- 제1세대 DBMS? 네트워크 데이타 모델
- 제2세대 DBMS? 관계 데이터 모델, SQL(세계 표준 데이타베이스 언어)
- 제3세대 DBMS? 객체지향 데이터베이스
- -> 현재: 객체-관계 데이타베이스(제2세대+제3세대)
'데이터베이스기초' 카테고리의 다른 글
[데이타베이스기초] 5장 관계 대수 (0) | 2023.04.17 |
---|---|
[데이타베이스기초] 4장 관계 데이타베이스 (0) | 2023.04.17 |
[데이타베이스기초] 데이타베이스 시스템의 구성 (0) | 2023.04.17 |
[데이타베이스기초] 정보 환경 (0) | 2023.04.16 |
[데이터베이스기초] SQL (0) | 2023.04.16 |