본문 바로가기
Study Log/ADP

[ADP 필기 요약]_1과목 데이터의 이해_④

by Maker_Potato 2026. 1. 31.

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 중심)

✅ 한 번에 정리하는 “그림 암기”

 
 
 
계층형 : Tree(트리) 루트→부모→자식
네트워크형 : Graph(그래프) M:N 가능(여러 부모/자식)
관계형 : Table(표) 행/열 + PK
객체지향형 : Object(객체) 데이터+메서드

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

  1. DW는 읽기 전용(비휘발성) 특성을 가진다. (O)
  2. 네트워크 DBMS는 트리 구조 기반이다. (X, 그래프)
  3. NoSQL은 일반적으로 수평 확장(Scale-out)에 강하다. (O)
  4. COUNT(컬럼)은 NULL을 포함한다. (X, NULL 제외)
  5. SQL 실행 순서는 SELECT가 가장 먼저 실행된다. (X, FROM부터)