[Database] 1. 데이터베이스 기본 개념
이번 포스트에서는 데이터베이스 기본 개념에 대해 정리하겠습니다.
데이터 베이스의 필요성
[ 데이터와 정보의 차이점 ]
데이터와 정보를 같은 의미로 사용하는 경우가 많지만, 이 둘은 명확히 구별해야 한다.
데이터 -> 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실(fact)나 값(value)로, 자료라고도 한다.
정보 -> 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조작한 결과물.
쉽게 비유하자면, 목장에서 방금 짠 원유가 데이터이고 고객을 위해 공장에서 가공하여 팩에 담는 우유가 정보다.
정보 처리 -> 데이터에서 정보를 추출하는 과정 또는 방법. 즉, 정보처리는 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미 관계를 파악하는 것.
위 그림은 쇼핑몰은 주문 내역 데이터를 분석하여 제품별 총 판매액과 분기별 총 판매액 정보를 추출하였음. -> 이렇게 추출한 정보는 이듬해 제품 판매 전략을 세우는 데 의미있게 사용할 수 있다.
즉, 현재성과 정확성을 보장하는 가치 있는 정보를 얻으려면 현재 상황을 정확히 관찰하고 많이 수집해야한다. 그러나, 의미있는 데이터를 수집하는데 그쳐서는 안되고 수집한 데이터를 효율적으로 저장했다가 필요할 때 언제든 사용할 수 있어야 한다.
즉, 유용하게 활용할 수 있는 정보를 정확히 추출할 수 있도록 데이터를 대신 관리해주는 역할은 데이터베이스가 담당한다.
[ 정보 시스템과 데이터베이스 ]
정보 시스템 -> 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 의사 결정이 필요할 때 처리하여 유용한 정보를 만들어주는 수단. 이 정보 시스템안에서 데이터를 저장하고 있다가 필요할 때 제공하는 핵심 역할은 데이터베이스가 담당한다.
데이터베이스의 정의와 특징
[ 데이터베이스 정의 ]
데이터베이스란? -> 데이터베이스는 특정 조직의 여러 사용자가 '공유'하여 사용할 수 있도록 '통합'해서 '저장'한 '운영' 데이터의 집합이라고 정의한다.
[ 데이터 베이스의 핵심 개념 ]
데이터베이스는 실시간 접근이 가능하다. -> 데이터베이스는 사용자의 데이터 요구에 실시간으로 응답할 수 있어야 한다.
제공되는 서비스에 따라 허용되는 응답 시간이 다르지만 대개 몇 초를 넘지 않는 시간 내에 데이터를 제공할 수 있어야 한다.
데이터베이스는 계속 변화한다. -> 데이터베이스는 동적인 특징이 있어 데이터를 계속 삽입(insert), 삭제(delete), 수정(update)하여 현재의 정확한 데이터를 유지해야 한다.
현실세계는 끊임없이 변하므로 데이터베이스는 현실 세계의 상태를 정확히 반영해야 의미가 있기 때문이다.
데이터베이스는 동시 공유가 가능하다. -> 데이터베이스는 여러 사용자가 동시에 이용할 수 있는 동시 공유의 특징을 제공해야 한다.
동시 공유는 단순히 여러 사용자가 함께 이용한다거나 시간 차를 두고 같은 데이터 영역을 함께 사용한다는 개념과는 다르다. 동시 공유는 여러 사용자가 서로 다른 데이터를 동시에 사용하는 것 뿐만 아니라, 같은 데이터를 동시에 사용하는 것도 모두 지원한다는 의미이다.
데이터베이스는 내용으로 참조가 가능하다. -> 데이터베이스는 저장된 주소나 위치가 아닌 데이터의 내용(content), 즉 값(value)으로 참조할 수 있다.
일반적으로 컴퓨터에 저장된 데이터는 저장 주소를 알아야 검색이 가능하지만, 데이터베이스는 '재고량이 1,000개 이상인 제품의 이름을 검색하시오'처럼 찾고자 하는 데이터의 내용 조건만 제시하면 조건에 맞는 데이터가 서로 다른 위치에 저장되어 있어도 모두 검색 가능하다.
데이터 과학 시대의 데이터
데이터베이스의 가장 중요한 목적은 데이터를 모아두는 것이다. 그러므로, 다양한 기준으로 데이터의 유형을 구분할 수 있는데, 저장 및 처리 방식을 선택할 때 중요한 판단 기준이 되는 형태와 특징을 중심으로 데이터를 분류할 수 있다.
[ 형태에 따른 데이터 분류 ]
데이터는 구조화된 형태에 따라 정형 데이터, 반정형 데이터, 비정형 데이터로 분류할 수 있다.
정형 데이터 -> 구조화된 데이터. 즉, 미리 정해진 구조에 따라 저장된 데이터. 표 안에서 행과 열에 의해 지정된 각 칸에 데이터를 저장하는 Excel의 스프레드시트, 관계 데이터베이스의 테이블이 정형 데이터를 담고 있는 대표적인 예이다.
반정형 데이터 -> 구조에 따라 저장된 데이터이지만 정형 데이터와는 다르게 데이터 내용 안에 구조에 대한 설명이 함께 존재하는 데이터. 따라서, 데이터 내용에 대한 설명, 즉 구조를 파악하는 파싱 과정이 필요하고, 보통 파일 형태로 저장된다. (e.g. HTML, XML, JSON 문서나 웹 로그, 센서 데이터)
비정형 데이터 -> 정해진 구조가 없이 저장된 데이터. 소셜 데이터의 텍스트, 영상, 이미지, 음성, 워드나 PDF 문서와 같은 멀티미디어 데이터가 대표적인 예이다. 최근에는 스마트 기기의 활성화로 SNS 이용자가 크게 늘면서 실시간으로 많은 양의 비정형 데이터가 생산되고 있다.
[ 특성에 따른 데이터 분류 ]
정형 데이터이든 반정형 데이터이든, 그 내부를 좀 더 세밀하게 들여다보면 다양한 특성의 데이터가 모여있다. ex) 위에있는 표의 정형 데이터를 예로 들면 세부적으로 일자, 배송 업체, 배송 건수, 전일대비 상승률로 구성되어 있다.
일반적으로 데이터를 특성에 따라 범주형 데이터와 수치형 데이터로 분류한다.
범주형 데이터 -> 범주로 구분할 수 있는 값. 즉, 종류를 나타내는 값을 가진 데이터를 의미함. ex) 예를 들면, 남자와 여자로 구분되는 성별이나 1학년, 2학년 등으로 구분되는 학년이 범주형 데이터에 속한다.
범주형 데이터는 명목형 데이터와 순서형 데이터로 다시 세분화할 수 있다.
명목형 데이터 -> 서열이 없는 값을 가지는 데이터를 의미. ex) 남자와 여자로 구분되는 성별이나 16개의 성격 유형으로 구분되는 MBTI 검사 결과처럼 순서, A, B, O, AB로 구분되는 혈액형이나 특정 대학의 학과명, 거주 지역, 음식 메뉴 등도 모두 명목형 데이터에 속한다.
순서형 데이터 -> 순서, 즉 서열이 있는 값을 가지는 데이터. ex) 1학년, 2학년 등으로 구분되는 학년이나 학점, 회원 등급 등이 순서형 데이터에 속한다.
수치형 데이터 -> 양적 측면에서 크기 비교와 산술적인 연산이 가능한 숫자 값을 가진 데이터를 의미. 그래서 양적 데이터라고도 한다. ex) 키, 몸무게, 고객 수, 판매량 등이 수치형 데이터에 해당한다.
수치형 데이터는 이산형 데이터와 연속형 데이터로 다시 세분화할 수 있다.
이산형 데이터 -> 이어지지 않고 띄엄띄엄 단절된 숫자 값을 가지는 데이터를 의미. ex) 개수를 셀 수 있는 고객 수, 판매량, 합격자 수.
연속형 데이터 -> 연속적으로 이어진 숫자 값을 가지는 데이터를 의미. 보통 소수점이 있는 실수 타입의 값으로 표현된다. ex) 측정을 통해 얻어지는 키, 몸무게, 온도, 점수
References
데이터베이스 개론, 김연희(2022)