개발/CS

[DB] DBMS - 데이터베이스 관리시스템 (DataBase Management System)

zz132456zz 2022. 4. 2. 00:21
728x90

데이터베이스 관리시스템이 등장하기 전은 파일 시스템을 사용해왔다. 그러면 데이터베이스 관리시스템을 알아보기 전에 간단하게 파일 시스템이 무엇인지 알아보자.

파일 시스템

- 파일 시스템(file system)이란?

데이터를 파일로 관리하기 위해 파일을 생성, 수정, 삭제, 검색하는 기능을 제공하는 소프트웨어이다. 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리해야 한다.

- 파일 시스템의 문제점은?

1. 같은 내용의 데이터가 여러 파일에 중복 저장된다.

-> 데이터 중복성 문제 (저장 공간의 낭비와 데이터 일관성, 데이터 무결성을 유지하기 어렵다.)

2. 응용 프로그램이 데이터 파일에 종속적이다.

-> 데이터 종속성 문제 (사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 한다.)

3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.

4. 응용 프로그램 개발이 쉽지 않다.

 

이러한 파일 시스템의 문제점들을 해결하기 위해 제시된 소프트웨어가 데이터베이스 관리시스템이다.

데이터베이스 관리시스템

- 데이터베이스 관리시스템(DBMS)의 주요 기능은?

1. 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.

2. 조작 기능 : 데이터를 삽입, 수정, 삭제, 검색하는 연산을 할 수 있다.

3. 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.

- 데이터베이스 관리시스템(DBMS)의 장단점

장점 단점
데이터의 중복 통제 개발 비용 이외의 비용이 많이듬
데이터의 독립성 확보 백업과 회복 방법이 복잡
데이터 동시 공유 가능 중앙 집중 관리로 인한 취약점이 존재
데이터 보안 향상  
데이터 무결성 유지 가능  
표준화 가능  
장애 발생 시 회복 가능  
응용 프로그램 개발 비용이 줄어듬  

 

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

1세대

네트워크 DBMS : 데이터베이스를 그래프 형태로 구성

-> 간선을 이용해서 표현하기 때문에 데이터베이스 구조가 복잡해지고 변경하기 어렵다는 단점이 있다.

계층 DBMS : 데이터베이스를 트리 형태로 구성

-> 복잡한 현실세계의 모습을 트리 형태로 표현하기 어렵다는 한계가 있고, 구조 변경이 어렵다는 단점이 있다.

 

2세대

관계 DBMS : 데이터베이스를 테이블 형태로 구성

-> 현재 많이 쓰이는 데이터베이스이다.(Oracle, MS SQL 서버, MySQL 등)

 

3세대

객체지향 DBMS : 객체를 이용해 데이터베이스를 구성

객체관계 DBMS : 객체 DBMS + 관계 DBMS

 

 

 

 

 

 

 

 

 

 

728x90