1. 데이터베이스와 데이터베이스 시스템의 기초
1. 데이터, 정보, 지식의 차이
- 데이터(Data) : 현실 세계에서 단순히 관찰하거나 측정하여 수집한 정량적/정성적인 값 자체
- 정보(Information) : 데이터에 맥락/의미 부여 -> 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물
- 지식(Knowledge) : 정보 바탕으로 사물/현상에 대한 이해를 형성한 것. 경험과 학습을 통해 축적 -> 문제 해결과 판단에 직접적 기여
2. 데이터 분류
- 구조(형태)에 따른 분류
• 정형 데이터 : 엑셀 스프레드시트나 관계형 데이터베이스의 테이블처럼 행과 열이 명확히 저장된 구조화된 데이터
• 반정형 데이터 : 미리 정해진 고정된 구조 X, 내용에 구조 설명이 존재, 키-값 형태로 유연하게 저장 (ex. JSON, XML, HTML 문서 등)
• 비정형 데이터: 정해진 구조가 없고 자유로운 형태를 지닌 데이터 (ex.센서 데이터, SNS의 텍스트, 이미지, 음성, 영상)
- 특성에 따른 분류
• 범주형 데이터 (질적 데이터): 크기 비교와 산술적인 연산이 불가능하며, 종류를 나타내는 값.
- 순서(서열)가 없는 명목형 데이터(성별, 혈액형, 거주 지역 등)
- 순서가 있는 순서형 데이터(학년, 학점, 회원 등급 등).
• 수치형 데이터 (양적 데이터): 크기 비교와 산술 연산이 가능한 숫자값.
- 개수를 셀 수 있는 이산형 데이터(고객수, 판매량 등)
- 연속적으로 측정해야 하는 연속형 데이터(키, 몸무게, 온도, 점수 등)
3. 실생활 속 데이터베이스의 활용
- ex) 학생의 학사 데이터베이스, 병원의 환자 건강보험 데이터베이스, 은행 데이터베이스, 도서관 문헌 정보 등
- ex) 쇼핑몰 -> 실시간으로 POS 기기나 신용카드 결제를 통해 주문 일자, 판매 금액, 결제 방법 등의 데이터가 저장되고, 이는 제품별/분기별 총 판매액 같은 시각화 정보로 변환됨.
- 데이터베이스의 4가지 유형
• 유형 1 (검색 적음, 변경 적음): 공룡 정보 DB처럼 구축이 쉽고 보존 가치가 있을 때 구축
• 유형 2 (검색 많음, 변경 적음): 도서 데이터베이스처럼 사용자가 보통 수준
• 유형 3 (검색 적음, 변경 많음): 실시간 검색 및 변경이 중요한 비행기 예약 DB가 이에 속하며 구축 난이도가 높음
• 유형 4 (검색 많음, 변경 많음): 증권 DB처럼 사용자 수도 많고 구축도 가장 어려움
4. 데이터베이스란?
- 데이터베이스 :: 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장한 운영 데이터의 집합
1) 통합 데이터 (Integrated Data): 최소의 중복과 통제 가능한 중복만 허용하여 데이터를 하나로 모은 것.
2) 공유 데이터 (Shared Data): 특정 조직의 여러 사용자가 함께 소유하고 활용하는 데이터.
3) 저장 데이터 (Stored Data): 컴퓨터가 접근할 수 있는 매체에 영구적으로 보관된 데이터.
4) 운영 데이터 (Operational Data): 조직의 주요 기능(실시간 업무)을 수행하기 위해 지속적으로 꼭 필요한 데이터.
5. 데이터베이스 구성요소
- 데이터베이스 (Database): 통합/공유/저장/운영 데이터가 실제로 저장되는 공간
- DBMS (Database Management System): 사용자와 데이터베이스를 연결하며, 데이터를 관리하는 강력한 소프트웨어 제어센터
- 데이터 모델 (Data Model): 데이터를 설계하는 논리(ERD)와 저장 기법
- 사용자 (User): 최종 사용자부터 DB 개발자, 관리자까지 데이터를 다루는 모든 사람
- 인터페이스 & 응용 프로그램: 사용자가 DBMS에 명령을 내리는 데이터베이스 언어와 이를 활용하는 프로그램
2. 정보 시스템과 DBMS의 눈부신 발전 과정
1. 정보기술과 시스템의 진화
파일 시스템 -> 데이터베이스 시스템 -> 분산 데이터베이스 시스템
2. DBMS 장점
• 장점: 데이터 중복 통제 가능, 데이터 독립성 확보, 동시 공유 가능, 데이터 무결성 및 보안 향상, 데이터 표준화 지원, 장애 발생 시 회복 가능, 응용 프로그램 개발 비용 감소.
• 단점: 초기 도입 비용이 큼, 백업과 장애 회복 방법이 매우 복잡함, 중앙 집중 관리로 인한 취약점 존재, 대규모 동시 접속이나 복잡한 쿼리(질의) 처리 시 성능 저하 우려, 설계와 튜닝을 위한 전문 지식과 숙련된 DBA가 필수적임.
3. DBMS의 세대별 발전 과정
- 1세대 (네트워크/계층 DBMS): DB를 그래프나 트리 형태로 구성
- 2세대 (관계 DBMS): DB를 테이블 형태로 구성(오라클, MS SQL 서버, MySQL, MariaDB 등)
- 3세대 (객체지향/객체관계 DBMS): 객체 이용해 DB 구성 or 계 DBMS에 객체지향 기능을 추가한 형태
- 4세대 (NoSQL / NewSQL DBMS):
- NoSQL: 복잡한 기능을 포기, 대형 데이터를 처리하는 데 적합, 정확성과 유연성 뛰어남 (MongoDB, Redis, Cassandra 등)
- NewSQL: 관계형 DB의 안정성과 장점에 NoSQL의 확장성까지 더하여 정형/비정형 데이터를 빠르게 처리 (구글 Spanner 등)
3. 데이터베이스 시스템의 심층 구조 분석
1. 데이터베이스 사용자와 통신 언어, SQL
• 일반 사용자 (최종 사용자): 프로그래밍이나 DBMS 지식 없이, 만들어진 응용 프로그램을 통해 데이터 삽입, 검색 등의 조작 수행
• SQL 사용자: 프로그램으로 구현되지 않은 업무를 직접 SQL을 작성해 처리하는 사람
• 응용 프로그래머: 일반 사용자가 쉽게 DB를 다룰 수 있도록 프로그램을 개발하는 사람
• 데이터베이스 관리자 (DBA): 전체 DB 시스템을 설계하고 운영하며 보안과 규칙을 관리하는 최고 전문가
이들이 DBMS에 명령을 내릴 때 사용하는 언어가 바로 SQL(Structured Query Language)
1. DDL (데이터 정의어): 테이블 등 DB 구조를 정의
2. DML (데이터 조작어): 데이터를 검색, 삽입, 수정, 삭제하는 데 쓰이며 SELECT - FROM - WHERE 구조의 검색 질의문이 핵심
3. DCL (데이터 제어어): 보안, 사용 권한, 내부 규칙 등을 통제
2. 데이터 모델: 데이터를 어떻게 저장할까?
• 계층/네트워크 데이터 모델 (포인터 사용): 포인터 값을 이용해 데이터 연결. 프로그램 실행 속도 빠름, 시스템 개발 속도 느림
• 관계 데이터 모델 (속성값 사용): 다른 데이터의 속성값을 저장하는 방식으로, 개념이 직관적이고 개발 속도가 빠름 (많이 사용됨!!)
• 객체 데이터 모델 (객체 식별자 사용): 객체 고유 식별자(oid)를 저장하여 상속, 캡슐화 등 객체지향 개념 도입 가능
3. 데이터베이스의 개념적 3단계 구조와 '데이터 독립성'
• 외부 단계 (개별 사용자 관점): 일반 사용자나 응용 프로그래머가 접근하는 하나의 논리적인 부분을 의미하며, 사용자 관점마다 다를 수 있어 여러 개의 외부 스키마가 존재함.
• 개념 단계 :: DBA가 관리하며 조직에 단 하나만 존재
- 조직 전체 관점 : 조직 전체의 논리적 구조로 데이터 간의 관계, 제약조건, 보안 정책이 모두 포함.
- 저장 장치 관점 : 물리적 저장 장치에 데이터베이스가 실제로 저장되는 레코드 구조, 인덱스, 압축 방법 등을 표현한 내부 스키마.
- 매핑하는 이유? : 데이터 독립성을 확보하기 위해!
• 논리적 데이터 독립성: 전체 논리적 구조가 변경되거나 테이블에 새로운 속성이 추가되어도, 상위인 외부 스키마나 사용자 프로그램에는 아무런 영향을 주지 않음.
• 물리적 데이터 독립성: 인덱스 구조를 바꾸거나 데이터를 디스크에 저장하는 방식(내부 스키마)을 변경하더라도, 논리적 구조인 개념 스키마에는 아무런 영향을 미치지 않음.
4. DBMS 종류에 대한 선호도 조사 및 국내 점유율
다음은 2025년에 조사한 국내 오픈소스 DBMS의 점유율 표다!

MySQL이 35.1%로 가장 높은 점유율을 차지하고 있었다! 다음은 Oracle.

MySQL이 기존 시스템과 호환된 오픈소스가 많아서 가장 자주 쓰이는 것 같았다. (적어도 내 판단으로는..) 오픈소스의 DBMS 부분을 전부 뜯어고쳐야 한다면 아마 별로 내키지는 않을 테니까.. 무엇보다도 일단 무료기도 하고.
한 회사 내의 설문조사라 한국 전체를 대표하기는 어렵겠지만, 국내에는 DBMS 점유율 관련 선호도 웹사이트가 따로 존재하지 않는 것 같았다! 아쉬운 김에 해외 랭킹 웹사이트라도 추가해본다. > (요기) https://db-engines.com/en/ranking
2. DB 자격증 조사하기
- 전문가 / 일반
| 구분 | 자격증 명칭 | 시행처 | 특징 |
| 전문가 | SQLP | 한국데이터산업진흥원 | SQL 튜닝 및 성능 최적화 등 고난도 실무 능력 평가 |
| DAP | 데이터 구조 설계 및 관리 역량 | ||
| 일반 | SQLD | 한국데이터산업진흥원 | 가장 대중적이고 기본적인 SQL 쿼리 작성 이해 |
| DAsP | 데이터 설계 기초 지식 평가 | ||
| 빅데이터분석기사 | 한국산업인력공단 | 국가기술자격, 데이터 수집/분석/결과 해석 |
- DBMS별 자격증 / 일반 등
| 이름 | 종류 | 설명 |
| Oracle | OCA / OCP / OCM | 가장 권위 있는 자격증이며 OCP가 실무자들에겐 중요하다고 함! |
| Microsoft | SQL Server / Azure | DP-300 (클라우드 중심), DP-900 (입문용) 으로 나뉨. |
| AWS | 클라우드 DB | AWS 환경 내의 다양한 DB 설계 및 운영 능력을 평가함 |
| 기타 | PostgreSQL Professional, MySQL 8.0 Database Admin 등 | - |
'Develop > DataBase' 카테고리의 다른 글
| [6주차] 뷰, 함수, 프로시져 (1) | 2026.04.11 |
|---|---|
| [5주차] SQL 고급 쿼리 (0) | 2026.04.04 |
| [4주차] SQL 기초 (JOIN, CREATE, ALTER, DROP) (0) | 2026.03.28 |
| [3주차] SQL 기초 (SELECT문) (0) | 2026.03.21 |
| [2주차] 관계 데이터 모델 (DBMS) (0) | 2026.03.14 |