1. DBMS(DataBase Management System)

✅ DBMS 한 줄 정의
DB를 효율적으로 관리해서 여러 응용 프로그램이 공유·동시 사용할 수 있도록 해주는 소프트웨어.
2. DBMS 종류(=데이터 모델 차이) [📌암기]
시험 포인트: “어떤 구조로 표현하느냐(모델)”로 구분
계층형=트리 / 네트워크형=그래프 / 관계형=표 / 객체지향형=객체
(1) 관계형 DBMS(RDBMS)
- 데이터를 테이블(표) 형태로 관리 (행/열)
- PK(고유키)로 행(레코드)을 식별
- 테이블 1개 = 보통 1개 엔티티 타입
- 행(Row)=튜플(tuple)=레코드(개체 한 건)
- 열(Column)=속성(attribute)
✅ 암기: RDBMS = 표(Table), PK로 식별
(2) 객체지향 DBMS(OODBMS)
- 정보를 객체(Object) 형태로 저장
- 데이터 + 메서드(함수)를 함께 보관
- 목표: 애플리케이션의 객체 모델과 DB 모델 간 괴리를 줄이기
📌 시험 포인트: “데이터 + 메서드 함께 저장” 문장 나오면 → 객체지향
(3) 네트워크 DBMS
- 레코드=노드, 관계=간선인 그래프 기반
- 여러 부모/여러 자식 가능 → 복잡한 M:N 관계 표현에 강함
(4) 계층형 DBMS
- 트리(Tree) 구조 기반
- 루트 → 부모 → 자식 (보통 1:N 중심)
✅ 한 번에 정리하는 “그림 암기”
3. 데이터 웨어하우스(DW)

✅ DW가 필요한 이유
운영 DB(OLTP)는 실시간 거래 처리용이라 복잡한 분석(OLAP)을 그대로 돌리면 성능·구조상 한계가 있어서, 분석 전용 저장소인 DW가 필요해짐
✅ DW 핵심 특징 4가지 [📌암기]
- 주제지향성(Subject-oriented): 업무 프로세스가 아니라 “주제(매출/고객 등)” 중심
- 통합성(Integrated): 여러 시스템 데이터를 표준화해 통합
- 시계열성(Time-variant): 시간 흐름(과거~현재) 이력 보관
- 비휘발성(Non-volatile): 주로 Read Only(조회/리포팅)
📌 암기어 추천: 주·통·시·비 (주제-통합-시계열-비휘발)
✅ DW 흐름

운영 DB(OLTP) → ETL → DW(분석 저장소) → (DM) → BI/리포트(OLAP)
4. ETL(Extract, Transform, Load)
✅ ETL 정의(시험형)
운영시스템에서 데이터를 추출(Extract) → 변환/정제(Transform) → DW에 적재(Load) 하는 과정
5. NoSQL
✅ NoSQL 한 줄 정의
전통적인 관계형 DB의 제약(스키마/조인/확장성)을 벗어나 대용량·대규모 트래픽·유연한 스키마를 위해 등장한 비관계형 DB 계열.
- Key-Value 형태(대표 유형 중 하나)로 저장하는 방식이 많고 수평 확장(Scale-out)에 강함
- 관계형 DB만 있는 건 아니고, 다른 형태의 DB도 있음 → 데이터가 비정형/반정형이고 구조가 제각각일 때 유리
📌 포인트: NoSQL 유형
- Key-Value / Document / Column-family / Graph
✅ RDBMS vs NoSQL
| 구분 | RDBMS | NoSQL |
| 트랜잭션 | ACID | BASE |
| 스키마 | 고정(엄격) | 유연(변경 쉬움) |
| 조인/정규화 | 조인 적극 사용 | 중복 허용 + 앱에서 조합 |
| 확장 | Scale-up(수직) | Scale-out(수평) |
| 강점 | 정합성/표준 SQL | 대용량/분산/유연성 |
6. SQL(Structured Query Language)

✅ SQL 정의
DB에 접근하기 위한 표준 언어로 정의(DDL) + 조작(DML) + 제어(DCL) 기능을 포함
✅ SQL 3(4)분류 [📌암기]
1) DDL (Data Definition Language) 데이터 정의어
- DB 구조(스키마) 정의/변경
- 생성, 수정, 삭제 등 데이터의 전체 골격을 결정함
- CREATE / ALTER / DROP
2) DML (Data Manipulation Language) 데이터 조작어
- 입력된 데이터 조회/삽입/수정/삭제
- SELECT / INSERT / UPDATE / DELETE
3) DCL (Data Control Language) 데이터 제어어
- 데이터의 권한/보안/무결성 등을 정
- GRANT / REVOKE
✅ (보너스) TCL(Transaction Control Language)
- 트랜잭션 확정/취소
- COMMIT / ROLLBACK / SAVEPOINT
7. 집계 함수(aggregate)
✅ 집계 함수 표(시험 대비)
| 함수 | 의미 | 비고 |
| AVG | 평균 | NULL 제외 |
| COUNT | 개수 | COUNT(*)=행 수 / COUNT(col)=NULL 제외 |
| SUM | 합 | NULL 제외 |
| STDDEV | 표준편차 | 보통 수치형 |
| MIN | 최솟값 | 문자형도 가능(정렬 기준) |
| MAX | 최댓값 | 문자형도 가능(정렬 기준) |
8. SELECT 문: “작성 순서” vs “실행 순서”
✅ 작성(눈에 보이는) 순서
SELECT 컬럼들
FROM 테이블
WHERE 조건
GROUP BY 그룹핑 기준
HAVING 그룹 조건
ORDER BY 정렬 기준
✅ 실행(처리) 순서
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
암기 팁: 프-왜-그-해-셀-오
(FROM WHERE GROUP HAVING SELECT ORDER)
WHERE vs HAVING 차이
- WHERE: ROW(행) 레벨 필터
- HAVING: GROUP(그룹) 레벨 필터 (집계 결과 조건)
⚠️ 함정 선지
“집계함수 결과를 WHERE에서 조건으로 걸 수 있다” → ❌
집계 결과는 보통 HAVING에서 처리합니다.
✅ 시험 직전 미니 OX
- DW는 읽기 전용(비휘발성) 특성을 가진다. (O)
- 네트워크 DBMS는 트리 구조 기반이다. (X, 그래프)
- NoSQL은 일반적으로 수평 확장(Scale-out)에 강하다. (O)
- COUNT(컬럼)은 NULL을 포함한다. (X, NULL 제외)
- SQL 실행 순서는 SELECT가 가장 먼저 실행된다. (X, FROM부터)
'Study Log > ADP' 카테고리의 다른 글
| [ADP 필기 요약]_2과목 데이터 처리 기술 이해_① (0) | 2026.02.05 |
|---|---|
| [ADP 필기 요약]_1과목 데이터의 이해_⑤ (0) | 2026.02.02 |
| [ADP 필기 요약]_1과목 데이터의 이해_③ (0) | 2026.01.31 |
| [ADP 필기 요약]_1과목 데이터의 이해_② (0) | 2026.01.30 |
| [ADP 필기 요약]_1과목 데이터의 이해_① (0) | 2026.01.30 |