데이터베이스의 필요성
현대 사회에서 중요한 가치 판단의 기준이 되는 "정보"는 매우 중요하다. 정보란 데이터(data)를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조직한 결과물을 말한다. 그렇다면 "데이터"란 무엇인가? 데이터는 현실 세계에서 관찰되거나 측정하여 수집한 사실이나 값을 의미한다. 자료라고 불리기도 한다.
데이터에서 정보를 추출하는 과정 또는 방법을 "정보 처리"라고 하는데, 결국 이 정보 처리가 얼마나 잘 진행되는지가 중요한 것이다.
좋은 정보를 얻기 위해서는 정확한 데이터를 많이 수집해야 하며 수집한 데이터를 체계적으로 저장했다가 필요할 때 바로 사용할 수 있어야 한다. 이를 위한 수단을 정보 시스템이라고 하는데, 정보 시스템에서 데이터를 저장하고 필요할 때 제공하는 핵심 역할을 "데이터베이스"가 담당한다.
데이터베이스의 정의
"데이터베이스(Database)"란 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장한 운영 데이터의 집합이다. 여기서 중요한 키워드들은 "공유", "통합", "저장", "운영"인데, 차근차근 알아보도록 하겠다.
데이터베이스 핵심 개념
- 공유 데이터(Shared Data): 데이터베이스는 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있어야 하는 공용 데이터이다.
- 통합 데이터(Integrated Date): 데이터베이스는 같은 데이터가 여러 개 존재하는 것을 허용하지 않는다. (다만, 중복을 의도적으로 허용하는 경우도 있다.) 통합 데이터는 중복을 최소화하고 통제가 가능한 중복만 허용한다.
- 저장 데이터(Stored Data): 데이터베이스의 데이터는 컴퓨터가 처리하기에, 컴퓨터가 접근 가능한 매체에 데이터베이스를 저장해야 한다.
- 운영 데이터(Operational Data): 조직을 운영하고 조직의 주요 기능을 수행하기 위해 꼭 필요하기에 지속적으로 유지해야 한다.
데이터베이스 특징
데이터베이스가 가지는 주요한 특징들은 다음과 같다.
- 실시간 접근(Real-Time Accessibility): 데이터베이스는 사용자의 데이터 요구에 실시간으로 응답할 수 있어야 하기에, 몇 초를 넘지 않는 시간 내에 데이터를 제공할 수 있어야 한다.
- 계속되는 변화(Continous Evolution): 데이터베이스는 현실 세계의 상태를 정확히 반영해야 하기에, 데이터를 계속 "삽입/삭제/수정"하여 현재의 정확한 데이터를 유지해야 한다.
- 동시 공유(Concurrent Sharing): 데이터베이스는 여러 사용자가 동시에 이용할 수 있어야 하며, 서로 다른 데이터와 서로 같은 데이터를 모두 동시에 사용하도록 지원해야 한다.
- 내용 참조(Content Reference): 데이터베이스는 주소나 위치가 아닌 내용, "값"으로 참조할 수 있다. 데이터의 내용 조건만 제시하면 조건에 맞는 데이터가 다른 위치에 저장되어도 모두 검색할 수 있어야 한다.
데이터 분류
데이터베이스의 가장 중요한 목적은 데이터를 수집하는 것인데, 수집 대상이 되는 데이터의 유형을 잘 파악하고 유형별로 저장 및 처리 기술을 적합하게 선택하는 것이 중요하다. 저장 및 처리 방식을 선택할 때는 데이터의 형태와 특성이 중심이 된다. 이에 따라 데이터를 분류해보도록 하겠다.
형태에 따른 데이터 분류
데이터는 구조화된 형태에 따라 "정형 데이터", "반정형 데이터", "비정형 데이터"로 분류된다.
- 정형 데이터(Structured Data): 미리 정해진 구조에 따라 저장된 데이터로 스프레드시트, 관계 데이터베이스의 테이블이 정형 데이터를 담고 있는 대표적인 예시이다.
- 반정형 데이터(Semi-Structured Data): 구조에 따라 저장된 데이터지만, 데이터 내용 안에 구조에 대한 설명이 함께 존재하는 데이터이다. 구조를 파악하는 파싱 과정이 필요하고 파일 형태로 저장된다. JSON, XML 등이 반정형 데이터에 속한다.
- 비정형 데이터(Unstructured Data): 정해진 구조가 없이 저장된 데이터로 텍스트, 영상, 이미지, 음성, PDF 문서와 같은 멀티미디어 데이터가 대표적이다.
특성에 따른 데이터 분류
일반적으로 데이터를 특성에 따라 "범주형 데이터"와 "수치형 데이터"로 분류한다. 데이터 분석 분야에서 주로 활용되는 분류 방법이다.
- 범주형 데이터(Categorical Data): 범주로 구분할 수 있는 값을 가진 데이터를 의미한다. 대부분 문자 타입의 값으로 산술 연산이 의미가 없다. 질적 데이터라고도 불린다. 범주형 데이터는 "명목형 데이터"와 "순서형 데이터"로 또 분류가 가능하다.
- 명목형 데이터(Nominal Data): 서열이 없는 값을 가지는 데이터를 의미한다.
- 순서형 데이터(Ordinal Data): 서열이 있는 값을 가지는 데이터를 의미한다.
- 수치형 데이터(Numerical Data): 양적 측면에서 크기 비교와 산술적인 연산이 가능한 숫자 값을 가진 데이터로, 양적 데이터라고도 불린다. 수치형 데이터는
"이산형 데이터"와"연속형 데이터"로 분류가 가능하다.- 이산형 데이터(Discrete Data): 개수를 셀 수 있는 데이터로, 띄엄띄엄 단절된 숫자 값을 가지는 데이터를 의미한다. 주로 정수 값이다.
- 연속형 데이터(Continuous Data): 연속적으로 이어지는 숫자 값을 가지는 데이터를 의미하며, 주로 소수점이 있는 실수 값이다.