데이터베이스의 역사 - 데이터베이스의 등장 #49
jcrescent61
started this conversation in
Database
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
이전 아티클: 데이터베이스의 역사 - 파일 시스템의 위기
데이터베이스의 등장
파일 시스템의 단점을 극복하면서 다수의 사용자들이 정보를 공유할 수 있어야 하는 조건을 맞추기 위해 연구자들이 데이터베이스 개념을 제안했다.
데이터베이스의 철학은 첫 번째 파일 형태로 여기저기에 흩어져 있는 데이터, 정보들을 하나로 모아 관리하자. 두 번째 응용프로그램들이 운영체제를 통해 시스템 자원을 이용하는 것 처럼 모아놓은 데이터들을 관리하고 사용자와 데이터 사이에 인터페이스 역할을 할 수 있는 소프트웨어를 만들자는 것.
모아놓은 데이터의 집합을 데이터베이스(Data base) 데이터를 관리하는 소프트웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라 부른다. 데이터베이스에 기초해서 데이터나 정보를 처리하는 체제를 데이터베이스 시스템(Database System) 이라고 부른다. 이는 파일 시스템에 대응되는 개념이다.
잡상식
이후 1970년 E. F. Codd에 의해 제안된 관계형 데이터 모델은 튼튼한 이론적 기반과 선언적 질의를 통한 사용의 용이성을 바탕으로 기존의 계층형 데이터베이스와 네트워크 데이터베이스를 대체하기 시작했다. 현재는 데이터베이스 시스템의 대부분을 관계형 시스템이 차지하고 있다.
즉, 파일 시스템 -> 계층형 데이터베이스, 네트워크 데이터 베이스 -> 관계형 데이터 베이스 시스템으로 발전 되었다.
데이터베이스의 특징
데이터 독립성 지원
데이터베이스 시스템에서는 사용자 혹은 응용프로그램이 직접 데이터베이스에 접근할 수 없고 반드시 DBMS를 통해서만 접근이 가능하다.
DBMS는 데이터베이스 내에 있는 데이터의 물리적, 논리적 변화가 응용 시스템에 영향을 미치지 않도록 함으로서 데이터 독립성을 보장한다.
데이터 무결성 유지
DBMS는 데이터베이스 내에 저장될 데이터에 대하여 데이터 타입, 길이, 값의 범위 등에 대한 정보를 가지고 있으며, 이를 위반하는 데이터가 들어올 경우 처리를 거절함으로서 데이터의 무결성을 지원한다.
데이터 중복성 및 불일치 최소화
데이터베이스 내의 데이터는 한 개인의 관점이나 특정 부서의 관점에서 관리되는 것이 아니라 데이터베이스를 공용하는 조직 전체의 관점에서 관리한다. 그 때문에 동일 데이터가 여러 부서에서 사용하는 경우 이를 하나로 관리함으로써 중복성을 방지하며 그 결과로 중복된 데이터 간의 불일치 문제를 해결한다.
데이터 표준화의 용이성
데이터베이스 시스템에는 응용 개발자와는 별도의 데이터베이스 관리자가 존재하며 DBA는 데이터베이스의 설계과정을 주도함으로써 부서 간 이해를 조정하고 관리될 데이터를 표준화시킬 수 있다. 또한 DBMS는 데이터의 구조에 관한 정보(예: 테이블 이름, 칼럼 이름, 칼럼의 데이터 타입)을 가지고 있으며 응용프로그램에서 데이터에 접근하기 위해서는 DBMS가 가지고 있는 구조 정보에 따라야 하기 때문에 자연스럽게 표준화가 이루어질 수 있다.
높은 데이터 보안성
DBMS는 사용자의 권한에 따라 데이터베이스 내에 있는 데이터에 대한 접근을 제한할 수 있다. 저장된 데이터베이스는 일반적으로 DBMS를 통하지 않고는 외부에서 내용을 알아내기 매우 어렵기 때문에 데이터가 보호될 수 있다.
데이터 공유(data sharing)의 용이성
데이터베이스 시스템의 기본 철학이 데이터를 통합 관리하고 이를 여러 부서, 사용자들이 공유하도록 하는 것이다.
DBMS는 여러 사용자의 요구를 동시적으로 처리할 수 있는 능력을 가지고 있으며 데이터를 쉽게 이용할 수 있는 수단을 제공한다.
Beta Was this translation helpful? Give feedback.
All reactions