데이터베이스

데이터베이스의 등장

데이터베이스가 무언지 알아보기 전에, 데이터베이스의 등장 배경부터 살펴보자. 데이터베이스의 등장 배경에는 바로 “많은 데이터의 발생” 이 있다. 현대 사회에서는 전통적으로 발생하던 업무와 관련된 데이터에 더해, 스마트폰이나 IoT 기술의 등장, 인터넷 발달로 인해 수많은 데이터가 생성되고 있다.

이렇게 많은 데이터가 발생하면서 자연스럽게 데이터를 효율적이고 문제 없게 관리하는 방법의 필요성이 부각되었다. 수많은 데이터 중에서 원하는 정보를 신속하고 정확하게 찾고, 데이터의 완전함과 무결함을 유지하는 방법이 필요했고, 이러한 필요에 의해 데이터베이스가 등장하게 되었다.

데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템

용어 영문 설명
데이터베이스 database 데이터를 구조화하여 체계적으로 저장한 데이터의 집합. 데이터의 효율적인 저장, 검색 및 관리를 위해 사용됨.
데이터베이스 관리 시스템 database management system DBMS. 데이터베이스(데이터의 집합)을 다수의 사용자가 공용으로 문제없이 사용하기 위한 통합 관리 패키지. 데이터베이스를 생성, 관리, 조작하기 위한 소프트웨어.
데이터베이스 시스템 database system 데이터베이스 + DBMS + 이들에 더해 응용프로그램이나 애플리케이션을 포함하는 전체 시스템.

데이터 관리의 역사

데이터 관리의 역사

파일 처리 시스템

데이터베이스 관리 시스템이 등장하기 전, 전통적인 데이터 관리 방식은 바로 파일 처리 시스템 이었다. 파일 처리 시스템은 업무처리에 사용되는 데이터를 여러 파일들에 저장하고 운영하는 시스템을 의미한다.

파일 처리 시스템이 데이터 관리의 주류이던 때엔 각 업무에 해당하는 각 애플리케이션마다 각각의 데이터 파일을 가지고 운용을 하였다. 예를 들어 학교의 경우 학적관리 업무에 해당하는 파일, 성적처리 업무에 해당하는 파일, 수강관리 업무에 해당하는 파일을 각각 유지하면서 데이터를 처리하였다.

파일 처리 시스템의 한계

이러한 파일 처리 시스템은 하에서는 그 특징상 아래와 같은 4가지 문제가 발생하였고, 이에 따라 업무상에 문제가 일어나거나, 업무를 처리하는 애플리케이션 프로그램을 유지보수하는 데 많은 비용이 발생하는 원인을 제공하기도 했다.

발생 가능한 문제 설명
데이터 종속 문제 데이터가 데이터 외부의 상황에 종속되어 발생하는 문제들
물리적 데이터 종속
- 데이터가 하드웨어에 종속됨.
- 디스크의 교체 등 하드웨어 변경사항에 대해 영향을 받음
논리적 데이터 종속
- 데이터가 업무 혹은 데이터의 논리적 구조에 종속됨
- 데이터 구조의 변경, 업무 프로세스 변경시 데이터 수정 작업 발생
데이터 중복 문제 동일한 데이터가 여러 위치에 존재함으로써 발생하는 문제들.
일관성 문제
동일 데이터가 여러 위치에 중복으로 저장된 경우,
모든 위치의 데이터 값이 동일하다(=업데이트 되었다)는 것을 보장 못함.
보안성 문제
동일 데이터는 동일 보안 수준을 갖춰야 하나
파일이 분산되어있을 경우 동일 수준의 보안 유지가 어려움.
경제성 문제
중복 저장을 위해서는 추가적인 저장 공간이 필요함.
무결성 훼손 문제 무결성 문제 : 데이터의 정확성, 제약조건을 만족하는가
- 중복된 데이터가 서로 일치하지 않는 문제
- 부정확한 데이터의 저장 문제
- 현실세계에 있는 제약 조건(최대 수강신청 학점수 등) 반영 불가
동시 접근의 문제 동시 접근의 문제 : 동일 데이터를 동시에 수정할 때 발생하는 문제
다양한 현상의 비정상적인 수정이 일어날 수 있다.
일부 수정 내역이 적용되지 않거나, 수정의 선후가 바뀌거나 하는 등

데이터베이스 관리 시스템

전통적인 데이터 관리 방식인 파일 처리 시스템에서 발생하는 데이터 관리 측면에서의 문제가 발생하지 않도록, 데이터베이스 관리 시스템(DBMS)는 새로운 기능과 장치를 제공한다.

DBMS는 프로그램과 데이터 사이, 혹은 사용자와 데이터 사이를 중재하는 에이전트 역할을 하면서, 사용자가 직접 데이터에 접근할 수 없고 자신을 통해서만 데이터에 접근할 수 있게 하여 여러 가지 문제를 방지한다. 관련된 자세한 내용은 다음 섹션에서 살펴보자.

데이터베이스 관리 시스템

데이터베이스 관리 시스템 사용의 의미

데이터베이스 관리 시스템(이하 DBMS)은 사용자(혹은 프로그램)와 데이터 사이에서 중재자 역할을 하며, 데이터에 직접 접근할 수 있는 권한을 오직 DBMS로 한정한다. 이를 통해 사용자나 프로그램은 반드시 DBMS를 통해서만 데이터에 접근할 수 있다.

이러한 구조 덕분에 DBMS는 데이터의 독립성을 보장하며, 파일 처리 시스템에서 발생했던 여러 문제를 효과적으로 방지할 수 있다. 또한, 데이터 관리의 효율성과 일관성을 높이는 다양한 기술적 지원을 제공한다. 이러한 특징은 DBMS를 사용하는 주요 이유 중 하나로 꼽힌다.

데이터베이스의 개념과 특징

특징 설명
자기 기술성 데이터 뿐 아니라, 데이터를 설명하는 데이터(메타데이터)도 함께 저장
메타데이터 : 데이터 구조, 제약 조건, 접근 권한 등
이러한 메타데이터는 시스템 카탈로그 또는 데이터 사전에 저장되어 관리된다.
self-describing
데이터의 독립성 및 추상화 데이터 파일이 프로그램(애플리케이션, 혹은 사용자)와 격리됨
오직 DBMS를 통해서만 데이터(데이터파일)에 접근 가능.
데이터에 대한 개념적인 표현을 통해 필요한 데이터에만 접근할 수 있도록 데이터에 대한 접근성을 향상시킨다.
다중 뷰 제공 사용자 혹은 프로그램마다 필요한 데이터는 달라진다.
이런 서로 다른 관점마다 필요한 데이터만을 추출해서 보여주는 뷰 기능이 제공된다.
다수 사용자 요청 처리 다수의 데이터 조작 요청에 대해 동시성 제어 기능을 통해 수행.
단일 작업을 수행하는 일련의 명령의 집합인 트랜잭션 동시성 제어 기법.
이를 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행한다.

데이터베이스 시스템의 구성

DBMS의 3단계 구조

사상

데이터베이스 언어

데이터 정의 언어

데이터 조작 언어

데이터베이스 시스템 아키텍처

중앙집중식 데이터베이스 관리 시스템 구조

클라이언트 - 서버 구조

2계층 클라이언트 - 서버 구조

3계층 클라이언트 - 서버 구조

Reference

데이터베이스시스템 (정재화 저)

Updated: