[DB] RDB, RDBMS, DBMS… 뭐가 다른 거야?

하롭·2025년 4월 30일
post-thumbnail

✏️ RDB, RDBMS, DBMS 란!

요즘 데이터베이스를 공부하며 헷갈렸던 부분을 기록하려한다.

RDB, RDBMS, DBMS… 이름도 비슷하고 다 같은 건 줄 알았는데 뭐가 뭔지 하나도 모르겠었음


🟢 DBMS (DataBase Management System)

먼저 제일 넓은 개념부터 start !

DBMS데이터베이스를 생성하고, 데이터를 읽고/쓰기/수정/삭제할 수 있도록 해주는 시스템(소프트웨어)이다.

쉽게 말해서, 데이터를 다루기 위한 프로그램이라고 생각하면 됨.

예시:

  • RDBMS (관계형 DBMS) — MySQL, Oracle, PostgreSQL 등
  • NoSQL DBMS — MongoDB, Redis, Cassandra 등

즉, RDBMS는 DBMS의 한 종류인 것.

여기서 잠깐‼️

🤔 그런데 NoSQL DBMS는 뭐지?

NoSQL = Not Only SQL

이름처럼 "SQL만 사용하는 게 아니라"는 뜻
즉, 꼭 테이블(행과 열) 형태로 저장하지 않고, 다양한 방식으로 데이터를 저장할 수 있는 DBMS이다.

관계형 데이터베이스와 달리 NoSQL 데이터베이스는 유연한 데이터 모델을 따르므로 자주 변경되는 데이터를 저장하거나 다양한 유형의 데이터를 처리하는 애플리케이션에 적합!


🟢 RDB (Relational DataBase) - 관계형 데이터베이스

이제 많이 들어본 RDB!

RDB는 데이터를 표(테이블) 형식으로 저장하는 방식

엑셀처럼 행(Row)과 열(Column)로 구성된다고 생각하면 됨.

예를 들어 이런 테이블이 있다면

id이름전화번호
1홍길동010-1111-2222
2김영희010-3333-4444

이런 게 바로 RDB이다.
그리고 테이블들끼리 관계(릴레이션)도 맺을 수 있음.
예: 고객 테이블과 주문 테이블이 고객 ID로 연결됨.

관계(Relation)가 중요한 이유

RDB가 "관계형" 데이터베이스라고 불리는 핵심 이유는 이 관계 때문이다.

테이블 간에 관계를 설정함으로써,

  • 데이터 중복을 줄일 수 있음 (정규화)
  • 데이터 일관성을 유지할 수 있음
  • 복잡한 쿼리로 연관 데이터를 함께 조회할 수 있음

고객 테이블

고객 ID이름이메일
1홍길동hong@example.com
2김영희kim@example.com

주문 테이블

주문ID고객ID상품명가격
1011노트북120,000
1022스마트폰100,000
1031이어폰9,000

여기서 고객ID가 두 테이블을 연결하는 관계의 열쇠가 된다.

🟢 RDBMS (Relational DataBase Management System)

RDBMS는 RDB(관계형 데이터베이스)를 관리해주는 프로그램

즉, 테이블을 만들고,
데이터를 넣고,
삭제하고,
검색하고,
보안도 설정하고,
트랜잭션도 처리해주는 도구이다.

대표적인 RDBMS:

  • MySQL
  • Oracle
  • PostgreSQL
  • MariaDB
  • SQLite 등

SQL (Structured Query Language)

RDBMS는 SQL이라는 표준화된 언어를 사용하여 데이터를 관리한다. SQL을 통해 데이터베이스에 명령을 내릴 수 있다:

-- 데이터 조회
SELECT * FROM 고객 WHERE 이름 = '홍길동';

-- 데이터 추가
INSERT INTO 고객 (이름, 전화번호) VALUES ('이철수', '010-5555-6666');

트랜잭션(Transaction)이란?

트랜잭션(Transaction)은 데이터베이스에서 하나의 작업 단위

예: 은행 이체
1. A 계좌에서 10만 원 출금
2. B 계좌에 10만 원 입금

이 두 개가 모두 성공해야만 최종 반영됨!
하나라도 실패하면 전체 취소되어야 하는데,
이런 걸 트랜잭션이라고 함.

✅ 트랜잭션은 안정성(ACID)을 보장하기 위한 핵심 기능!


😸 세 가지 용어 정리

📦 RDB = 데이터를 저장하는 "표"
🧰 RDBMS = 그 표를 만들고 다루는 도구 (MySQL 같은 프로그램)
🧠 DBMS = 데이터베이스를 다루는 전체 프로그램 개념 (RDBMS도 이 안에 포함!)


🔍 비교 정리

용어설명예시
DBMS데이터를 저장하고 관리하는 모든 시스템MySQL(RDBMS), MongoDB(NoSQL), Redis(NoSQL) 등
RDB데이터를 테이블 형식으로 저장하는 구조고객 테이블, 주문 테이블 등
RDBMSRDB를 관리해주는 프로그램 (DBMS의 하위 개념)MySQL, Oracle, PostgreSQL 등

👉 결론

  • DBMS는 전체적인 "데이터베이스 관리 프로그램"
  • RDBMS는 그 중에서도 "관계형(테이블 기반) 데이터베이스 관리 프로그램"
  • RDB는 데이터가 저장되는 "형식" (표 구조)
profile
휘발 방지 로그

0개의 댓글