RDBMS 최종 수정일 2026-06-19 02:00 조회수 11
대시보드

RDBMS

기본 정보

  • 명칭: RDBMS
  • 영문명: Relational Database Management System
  • 한글명: 관계형 데이터베이스 관리 시스템
  • 분류: 데이터베이스 관리 시스템(DBMS)
  • 주요 용도: 관계형 데이터 저장 및 관리
  • 관련 주제: #RDBMS #DBMS #데이터베이스 #SQL #백엔드

개요

RDBMS(Relational Database Management System)는 데이터를 테이블(Table) 형태로 저장하고, 테이블 간의 관계(Relation)를 이용하여 데이터를 관리하는 데이터베이스 관리 시스템이다.

각 테이블은 Primary Key와 Foreign Key를 이용해 서로 연결되며, SQL을 통해 데이터를 조회·수정·삭제할 수 있다.

현재 대부분의 ERP, 쇼핑몰, 게시판, 금융 시스템, 기업 업무 시스템은 RDBMS를 기반으로 구축된다.


RDBMS 구조

Application

↓

SQL

↓

RDBMS

↓

Table

↓

Row

↓

Column

↓

Data

기본 구성 요소

Database

여러 개의 테이블을 포함하는 데이터 저장 공간이다.


Table

같은 성격의 데이터를 저장하는 구조이다.

예시

member

board

product

order

Row (Record)

데이터 한 건을 의미한다.

idname
1홍길동

Column (Field)

데이터의 속성을 의미한다.

| id | name | email | created_at |


관계(Relation)

Member

↓

Order

↓

Product

테이블 간 관계를 정의하여 데이터 중복을 줄이고 무결성을 유지한다.


Primary Key(PK)

테이블의 각 행을 고유하게 식별하는 키이다.

member_id

특징

  • 중복 불가
  • NULL 불가
  • 테이블당 하나만 존재

Foreign Key(FK)

다른 테이블의 Primary Key를 참조하는 키이다.

order.member_id

↓

member.member_id

데이터의 관계를 표현한다.


ERD 예시

Member

member_id

name

↓

Order

order_id

member_id

↓

Product

product_id

ERD(Entity Relationship Diagram)는 데이터 구조를 시각화한 설계도이다.


SQL 예제

조회

SELECT *

FROM member;

추가

INSERT INTO member(

name

)

VALUES(

'홍길동'

);

수정

UPDATE member

SET name='김철수'

WHERE member_id=1;

삭제

DELETE

FROM member

WHERE member_id=1;

JOIN

여러 테이블을 연결하여 조회할 수 있다.

SELECT

m.name,

o.order_id

FROM member m

JOIN orders o

ON m.member_id=o.member_id;

JOIN은 RDBMS의 가장 큰 특징 중 하나이다.


정규화(Normalization)

데이터 중복을 최소화하고 무결성을 유지하기 위한 설계 기법이다.

목적

  • 중복 제거
  • 저장 공간 절약
  • 유지보수 향상
  • 데이터 일관성 확보

트랜잭션(Transaction)

여러 작업을 하나의 논리적 단위로 처리한다.

START TRANSACTION;

UPDATE account

SET balance=balance-1000

WHERE id=1;

UPDATE account

SET balance=balance+1000

WHERE id=2;

COMMIT;

실패 시

ROLLBACK;

을 수행하여 이전 상태로 복구한다.


ACID 원칙

원칙설명
Atomicity원자성
Consistency일관성
Isolation독립성
Durability지속성

트랜잭션의 신뢰성을 보장하는 핵심 원칙이다.


인덱스(Index)

검색 성능을 향상시키는 자료구조이다.

CREATE INDEX idx_name

ON member(name);

대표 RDBMS


RDBMS와 NoSQL 비교

RDBMSNoSQL
테이블 기반문서·Key-Value 기반
SQL 사용전용 쿼리 사용
JOIN 지원대부분 제한적
ACID 지원CAP 중심 설계
무결성 우수확장성 우수
정형 데이터 적합비정형 데이터 적합

RDBMS 장점

  • 데이터 무결성 보장
  • JOIN 지원
  • SQL 표준 사용
  • 트랜잭션 지원
  • ACID 보장
  • 안정성이 높음

RDBMS 단점

  • 대규모 수평 확장이 어려울 수 있음
  • JOIN이 많아질 경우 성능 저하 가능
  • 스키마 변경 비용 발생
  • 비정형 데이터 처리에 제약

대표 활용 분야

  • ERP
  • CRM
  • 쇼핑몰
  • 금융 시스템
  • 병원 시스템
  • 예약 시스템
  • 게시판
  • 그룹웨어
  • 회계 시스템

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • Primary Key 반드시 설정
  • Foreign Key 관계 명확히 설계
  • 필요한 컬럼에 Index 생성
  • 정규화를 우선 적용
  • SELECT * 사용 최소화
  • EXPLAIN으로 실행 계획 분석
  • 트랜잭션 최소 범위 유지
  • 정기 백업 수행
  • UTF-8(utf8mb4) 사용
  • ERD 문서를 최신 상태로 유지

RDBMS와 함께 사용하는 기술


대표 관리 도구

  • MySQL Workbench
  • DBeaver
  • Navicat
  • HeidiSQL
  • DataGrip
  • phpMyAdmin

관련 문서


출처

  • Oracle Database Documentation
  • MySQL 공식 문서
  • 관계형 데이터베이스 이론 자료