본문 바로가기
나의 개발/데이터베이스

관계형 데이터베이스(RDB)란 무엇인가?

by Parkej 2025. 12. 29.

개발을 하다 보면 가장 먼저 접하게 되는 데이터베이스가 바로 **관계형 데이터베이스(Relational Database, RDB)**다.
그런데 이름에 들어간 **‘관계형’**이라는 말은 정확히 무엇을 의미할까?

이번 글에서는

  • 관계형 데이터베이스의 정의
  • 왜 ‘관계형’이라고 부르는지
  • 그 관계가 무엇이고 왜 중요한지
  • 어디에 쓰면 좋은지를 정리해본다.

1. 관계형 데이터베이스란?

관계형 데이터베이스

데이터를 테이블(표) 형태로 저장하고,
테이블들 사이의 관계(Relation) 를 명확하게 정의하여 관리하는 데이터베이스다.

각 테이블은 행(Row)과 열(Column)로 구성되며,
엑셀 시트 여러 장을 규칙 있게 연결해서 관리하는 구조라고 생각하면 이해하기 쉽다.


2. 왜 이름이 ‘관계형’일까?

많이들 이렇게 생각한다.

“테이블이 서로 연결돼 있어서 관계형 아닌가?”

반은 맞지만, 핵심은 조금 다르다.

✔ 진짜 이유

관계형 데이터베이스는 수학의 ‘관계(Relation)’ 이론을 기반으로 만들어졌다.

  • 테이블 = 수학적 의미의 Relation
  • 행(Row) = 튜플(Tuple)
  • 열(Column) = 속성(Attribute)

즉,
👉 단순히 연결돼 있어서가 아니라
👉 테이블 자체가 수학적 ‘관계’ 모델이기 때문에
‘관계형 데이터베이스’라고 부른다.


3. 관계란 정확히 무엇인가?

실무에서 말하는 관계는 보통
👉 테이블 간의 연결 관계를 의미한다.

예시

사용자 테이블 (Users)

user_idname
1 철수
2 영희

주문 테이블 (Orders)

order_iduser_idproduct
101 1 노트북
102 1 마우스
103 2 키보드
  • Users.user_id ↔ Orders.user_id
  • 주문은 어떤 사용자의 주문인지를 user_id로 연결한다

이처럼

  • 한 테이블의 기본키(PK)를
  • 다른 테이블에서 참조하는 구조를
    외래키(Foreign Key) 관계라고 한다.

4. 왜 굳이 테이블을 나누고 관계를 맺을까?

❌ 관계 없이 한 테이블에 다 넣으면?

  • 데이터 중복 발생
  • 수정할 때 여러 행을 동시에 수정해야 함
  • 실수로 데이터 불일치 발생

✅ 관계형 DB의 장점

1️⃣ 데이터 중복 제거

  • 사용자 정보는 Users 테이블에 한 번만 저장

2️⃣ 데이터 무결성 보장

  • 존재하지 않는 사용자로 주문 생성 불가

3️⃣ 유지보수 용이

  • 사용자 이름 변경 → Users 테이블만 수정

4️⃣ 강력한 조회(SQL)

  • 특정 사용자의 모든 주문 조회
  • 기간별 매출, 사용자 통계 분석 가능

5. 관계형 데이터베이스는 무엇이 좋은가?

한 문장으로 요약하면:

데이터가 많고, 정확해야 하고, 구조가 중요한 경우에 매우 강력하다

특히 아래와 같은 특징이 있다.

  • 데이터 구조가 명확하다
  • 실수와 오류를 줄일 수 있다
  • 복잡한 조건의 조회가 쉽다
  • 신뢰성이 높다

6. 어디에 쓰면 좋은가?

👍 관계형 DB가 적합한 경우

  • 은행 / 금융 시스템
  • 쇼핑몰 주문 · 결제
  • 회원 / 권한 관리
  • 회사 ERP, CRM
  • 학교 성적 관리 시스템

👉 “데이터가 틀리면 안 되는 곳”


👎 상대적으로 덜 적합한 경우

  • 대규모 로그 데이터
  • 실시간 채팅
  • SNS 피드
  • 이미지, 영상 위주 데이터

이런 경우에는 NoSQL이 더 적합한 선택이 될 수 있다.


7. 정리

  • 관계형 데이터베이스란?
    → 테이블 기반 + 명확한 관계 + 수학적 모델
  • 관계란?
    → 테이블 간의 연결(외래키)
  • 왜 쓰는가?
    → 정확성, 중복 제거, 유지보수, 신뢰성
  • 어디에 적합한가?
    → 금융, 주문, 회원 관리 등 핵심 데이터
반응형

댓글