데이터베이스를 이해하려면 자료(Data) 정보(Information) 지식(Knowledge) 에 대해서 알아야 한다. 간단히 말하면, 현실세계에서 표본을 추출한 것이 자료(Data)이고 자료를 처리하면 정보(Information)가 된다. 그리고 정보를 토대로 추론을 하면 지식(Knowledge)이 된다.
자료란?
실세계, 실체, 현상, 사건, 아이디어 같은 현실세계에서 가치가 있다고 판단되어 실체를 묘사하여 추출한 원소적인 단위값을 의미한다. 그러므로 자료란 아직 가공되지 않은 일차적인 표현이다. 데이터베이스에 저장되는 데이터는 영구적(persistent) 데이터이다. 반대로 RAM이나 플립플롭처럼 휘발성이 있는 기억장치에 저장되는 데이터는 일시적(transient) 데이터이다.
정보란?
데이터로부터 유도, 유추된 사실들을 의미한다. ( 1차 가공 ) 어떤 대통령의 월별 지지율은 데이터가 된다. 월별 데이터들이 모이면 1년 동안의 대통령 지지율 추이가 된다. 이는 정보다.
지식이란?
자료와 정보는 수동적이다. '수동적'의 의미는 정보를 사용하는 사람에 따라 다른 정의가 내려진다는 의미다. 그러므로 지식(Knowledge)이란 데이터와 정보를 처리, 분석, 판단하는 방법이나 규칙을 의미한다. 이는 데이터와 정보를 사용하는 사람에 따라 특징이 달라지는 능동적 특성을 가진다.
그렇다면 데이터베이스(DataBase)란?
지식은 데이터보다 '상위개념'이다. 그러므로 데이터에 따라 지식이 바뀌는 것이 아니라 지식에 따라 수집되는 데이터가 달라진다. 그러므로 데이터베이스는 지식과 관련된 데이터의 모임 또는 집합의 정의다. 그리고 데이터베이스는 사용자의 목적(지식)에 맞게 데이터를 조작, 가공하여 정보를 만들어 낼 수 있어야한다.
그러므로 데이터 베이스란 데이터베이스 사용자의 목적(Knowledge)에 부합하는 정형화된 데이터(Data)의 모임(Database)이다. 그리고 그 목적에 맞게 처리(검색, JOIN, 삭제, 정렬...)하여 정보(Information)를 만들어내는 조작가능한 데이터 모임(Database)이다.
데이터베이스관리시스템(DBMS,Database Management System)
데이터베이스는 자료(Data)를 목적에 맞게(Knowledge) 정보(Information)를 추출하는 자료의 모임이다. 그러므로 자료들이 잘 정리되어 있어야한다. 그래서 이를 관리할 시스템이 있는데, 이것이 DBMS이다.
DBMS 기능
- 데이터 모델
DBMS는 자료를 관리한다. 그러므로 어떤 구조로 관리할지가 중요하다. 그래서 데이터 모델이 필요하다. 기본적으로 한 가지 DBMS는 한 가지 데이터 모델을 지원한다. 관계형 데이터 모델은 가장 많이 사용되는 데이터베이스 데이터 모델 중 하나이다.
- 데이터 공유 기능
여러 응용프로그램이 DBMS의 관리 하에 있는 데이터에 접근이 가능하다.
DB는 한정된 자원이다 DBMS는 여러 응용프로그램이 DB를 어지럽히는 것을 관리해야한다. 여러 응용프로그램이 같은 데이터를 중복하여 만들지 않도록 관리하고(일관성 문제, Consistency Problem) 데이터에 한번에 한 응용프로그램만 접근시켜 데이터를 동시에 처리하지 못하도록한다. (동시성 문제, Concurrency Promblem)
- 데이터 독립성
DBMS가 여러 응용프로그램의 접근을 관리하므로 데이터는 한 가지 응용프로그램에 종속되지 않는다.
- 데이터 무결성 유지기능
데이터 무결성이란 얼마나 데이터가 믿을만한지를 의미한다. 나이를 표현하는 데이터가 200이거나 -23이면 무결성이 깨진것이다. 혹은 같은 데이터가 중복되어 저장되어 있는 것도 무결성이 깨졌다고 표현할 수 있다.
-효율적인 자원관리 기능
DBMS는 저장장치인 디스크(Disk)와도 밀접하게 일한다. Disk에 데이터를 배치하거나 Disk에서 주기억장치로 데이터를 로딩하는 일도 맡는다. 그러므로 많은 양의 데이터를 처리할 적합하고 효율적인 방법을 사용해야 한다.
-데이터 보안성과 안정성 유지 기능
보안성이라 해커와 같은 사람으로부터의 데이터보호를 의미하고 안정성이란 컴퓨터 장애나 고장으로 부터 데이터를 보호하는 것을 의미한다. DBMS는 이런 위협으로부터 자체적인 보안기능을 제공해야한다.
DBMS 종류
외산 : Oracle , MS SQL-Server, DB2
국산 : 큐브리드, 티베로 - 티맥스소프트, ALTIBASE
공개S/W : MySQL, PostgressSQL
데이터베이스 시스템의 사용자
최종사용자
응용프로그램을 활용하여 DB에 접근하는 사람
숙련된 사용자는 DB에 직접 접근
응용프로그램 개발자
DBMS를 이용하여 응용프로그램을 개발하는 사람
데이터베이스 관리자(Database Adminisrator, DBA)
DBMS와 관련된 하드웨어와 소프트웨어를 관리 감독하는 사람
DBMS 개발자
DBMS를 구성하는 모듈들을 설계하고 구현하는 사람.
참고자료
Understanding of Database
저자 이상구, 장재영, 김한준, 정재헌
출판이한미디어발매2017.03.01.
'DB > DB Basic' 카테고리의 다른 글
[DB] Oracle의 구조 (0) | 2021.06.24 |
---|---|
[DB] 관계해석(Relational Calculus) (0) | 2021.06.24 |
[DB] 관계형 데이터 모델 (0) | 2021.06.24 |
[DB] 파일시스템 (0) | 2021.06.24 |
[DB] 관계대수 (Relational Algebra) (0) | 2021.06.24 |