intro
프로그램에서 다루는 데이터가 많아지면 많아질 수록 데이터의 관리는 어려워진다. 이러한 데이터를 쉽고 편리하게 다룰 수 있도록 하기 위해 나온 것이 DBMS(DataBase Management System)
이다.
데이터베이스의 기본개념
- 데이터의 집합(a Set of Data)
- 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합
- 효율적으로 저장, 검색, 업데이트를 할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다.
데이터베이스의 특성
- 실시간 접근성(Real-time Accessability)
사용자의 요구를 즉시 처리할 수 있다.
- 계속적인 변화(Continuous Evolution)
정확한 값을 유지하려고 삽입/삭제/수정 작업 등을 이용해 데이터를 지속적으로 업데이트할 수 있다.
- 동시 공유성(Concurrent Sharing)
사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다.
- 내용 참조(content Reference)
저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.
데이터베이스 관리 시스템(Database Management System = DBMS)
데이터베이스
를 관리하는 소프트웨어
- 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에
데이터베이스
에 접근하여 사용할 수 있게 한다.
- 필수 3기능
정의 기능 : 데이터 베이스
의 논리적, 물리적 구조를 정의
조작 기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
제어 기능 : 데이터베이스
의 내용 정확성과 안전성을 유지하도록 제어하는 기능
- Oracle, SQL Server, MySQL, DB2 등의 사용 또는 공개 DBMS가 있다.
데이터베이스 관리 시스템의 장/단점
데이터베이스
가 없다면 파일 시스템같은 것을 이용해야 하는데 파일에 텍스트를 넣어놓고 데이터를 가져가 쓰는 형식이어야 한다. 요즘에는 JSON과 같은 형태로 편하게 가져다 사용할 수 있는 형태도 있지만 일반적인 텍스트를 저장하는 파일들을 생각해보면 파일에는 데이터가 중복이되는지 안되는지 관리해주지 않는다. 이러한 문제를 DBMS는 해결해 줄 수 있다.
- 장점
- 데이터 중복이 최소화
- 데이터의 일관성 및 무결성 유지
- 데이터 보안 보장
- 단점
- 운영비가 비싸다. (기술자 월급/Oracle의 경우 비용 지불/학습 비용)
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정지
생각해보기
Q. Database와 DBMS란?
A. Database는 데이터들을 모아놓은 곳이고 DBMS는 모아놓은 데이터를 관리하는 시스템이다.
참고
부스트 코스