1. 데이터와 데이터베이스
(1) 데이터, 정보, 데이터베이스

데이터(Data)의 개념
- 관찰 혹은 측정하여 수집한 사실(Fact)이나 값(Value)
- 수치 데이터, 문자 데이터, 이미지 데이터 등
정보(Information)의 개념
- 데이터를 의사 결정 등에 활용하기 위하여 체계적으로 처리한 결과물
- 일정한 프로그램에 의해 처리되거나 정의된 양식에 의하여 가공됨
데이터베이스(Database)
개념
- 조직, 업무 목적에 따라 여러 사람들이 공유하여 사용할 목적으로 통합 및 관리되는 데이터의 집합
- 공동의 목적을 지원하기 위한 관련 자료들의 집합체
특징
- 통합 데이터 (Integrated Data): 중복을 제외하거나 의도적인 중복을 파악하여 관리
- 저장 데이터 (Stored Data): 컴퓨터 시스템의 저장매체에 저장하여 관리
- 운영 데이터 (Operation Data): 조직의 기능과 역할 수행을 위해 필요한 데이터
- 공용 데이터 (Shared Data): 여러 사용자 혹은 응용시스템들이 목적에 따라 공유하여 이용
(2) 빅데이터와 빅데이터 인프라 플랫폼
빅데이터(Big Data)란?
- 다양한 형태의 데이터가 생산되는 속도 및 양이 매우 방대하여 기존의 방법과 도구로는 데이터를 수집, 저장, 분석이 어려운 데이터
- 정형 데이터, 비정형 데이터를 모두 포함
- 데이터에서 가치를 생성하기 위한 처리 및 분석 기술 포함
- 빅데이터(Big data)의 특징
- Volume(데이터의 크기): 방대한 양의 데이터, 기존 기술로는 처리 및 관리가 어려운 규모
- Velocity(생성 속도): 데이터가 생성되고 처리되는 속도를 의미, 실시간 생성 및 전송
- Variety(다양성): 정형, 반정형, 비정형 등 여러 형태의 데이터를 포함
- Value(가치): 유의미한 가치를 창출할 수 있는 데이터, 데이터 분석 등에 활용
- Veracity(정확성): 데이터의 품질과 신뢰도를 나타내는 특성, 정확성과 일관성

2. DBMS의 종류와 특징
(1) DBMS(Data Base Management System)의 개념
DBMS란?
- 사용자와 데이터베이스 사이에서 데이터를 관리하고 사용자의 요청에 따라 데이터베이스에 연산을 수행하여 정보를 생성하는 프로그램

DBMS(DataBase Management System)의 종류와 특징
-
계층형 데이터 베이스 (DBMS)
- 데이터의 관계를 트리 구조로 정의, 부모-자식 형태를 갖는 구조
- 상위 레코드가 복수의 하위 레코드를 가짐
-
네트워크형 데이터베이스 (DBMS)
- 레코드 간의 다양한 관계를 그물처럼 가짐
- 복잡한 구조로 인하여 구조 변경 시 어려움이 따름
-
관계형 데이터베이스 (DBMS)
-
- 행/열로 구성된 Table 간의 관계 표현
- SQL을 이용하여 데이터에 접근, 관리
- 오라클, MySQL/MariaDB, SQLite 등
-
NoSQL
- Document, Key-Value의 비정형 구조
- 전용 API를 이용하여 데이터에 접근, 관리
- MongoDB, 카산드라 등
(2) DBMS(Data Base Management System) 종류와 특징

관계형 DBMS의 종류
비정형 DBMS의 종류
-
MongoDB
- Document-Oriented (JSON 형태의 문서 데이터)
- Schema-less 구조, Replication (고가용성)
3. SQL의 종류와 특징
(1) SQL의 개념
SQL(Structured Query Language)이란?
- 데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 조작이나, 테이블을 비롯한 객체를 생성 및 제어하기 위한 프로그램 언어
SQL 문의 종류와 특징
- DDL:CREATE TABLE, ALTER TABLE, DROP TABLE
- Data Definition Language
- 데이터베이스의 논리적 구조를 정의하기 위한 언어, 데이터 사전에 저장
- 기본 Auto Commit
- DML:INSERT, SELECT, UPDATE, DELETE
- Data Manipulation Language
- 데이터베이스에 저장된 데이터를 조작 하기 위해 사용하는 언어
- 검색, 추가, 삭제, 갱신 작업 수행
- DCL / TCL:GRANT, REVOKE
- Data Control Language
- Transaction Control Language
- 데이터에 대한 접근 권한 부여, 트랜잭션 등을 관리하기 위한 언어