최원종의 개발 블로그

데이터베이스란? 본문

MySQL

데이터베이스란?

chl6698 2026. 4. 2. 11:31

데이터베이스란 여러 사람이 공유하여 사용할 목적으로 체계적으로 구조화하여 저장된 데이터의 집합을 의미

예시
메시지 전송
   ↓
카카오 서버의 데이터베이스에 저장
   ↓
상대방이 접속하면 DB 에서 꺼내서 전달

 

 


DB, DBMS, SQL 구분

 

도서관으로 비유 예시

도서관 비유:

  DB    = 책이 꽂혀있는 책장
          → 데이터를 실제로 저장하는 공간

  DBMS  = 책장을 관리하는 사서
          → DB 를 운영하는 소프트웨어 (MySQL, Oracle 등)

  SQL   = 사서에게 하는 주문서
          → "3번 책장에서 '자바' 책 꺼내줘"
          → DBMS 에 명령을 내리는 언어
실제 동작 흐름

백엔드 서버 (스프링 부트)
      ↓  SQL 명령어 전달
    DBMS  ← 명령을 해석하고 처리
      ↓
  데이터베이스  ← 데이터를 저장하거나 꺼냄

관계형 데이터베이스 (RDBMS)

  • RDBMS(Relational Database Management System)
  • 데이터를 테이블(Table) 형태의 상호 관계로 정의하여 관리하는 관계형 데이터베이스 관리 시스템

 

관계형 DB 테이블 구조 - 행(Row), 열(Column), PK 가 표시된 회원 테이블

 


 

데이터를 표(테이블) 형태로 저장

회원(member) 테이블:

| id(PK) | name   | email            | grade |
|--------|--------|------------------|-------|
|   1    | 김철수  | kim@example.com  | VIP   |
|   2    | 이영희  | lee@example.com  | 일반  |
|   3    | 박민준  | park@example.com | VIP   |

행(Row)    : 데이터 한 건 → 회원 한 명의 정보
열(Column) : 데이터의 속성 → id, name, email, grade
PK         : 각 행을 고유하게 식별하는 값
             → id 가 같은 회원은 절대 존재할 수 없음

 

엑셀과의 차이

구분         엑셀                     RDBMS
─────────────────────────────────────────────────────────
수정 방법    사람이 셀 직접 클릭    SQL 명령어로 처리
동시 접근    어려움                수천 명 동시 접근 가능
데이터 크기  수만 건 이상 느림      수천만 건도 빠르게 처리
안전성       덮어쓰기 위험         트랜잭션으로 안전 보장

 


대표적인 RDBMS

  • MySQL, Oracle, PostgreSQL, MariaDB, MsSql …
DBMS 제작사 특징
MySQL Oracle 오픈소스(무료), 가장 많이 사용됨
MariaDB MariaDB MySQL 에서 파생, 오픈소스
PostgreSQL PostgreSQL 오픈소스, 고급 기능 강력
Oracle Oracle 상용 시장 점유율 1위, 유료
SQL Server Microsoft Windows 환경, 기업용

 


 

실제 서비스에서의 SQL 사용

SQL (Structured Query Language) // 관계형 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 표준 질의 언어
-- 쇼핑몰: 특정 회원의 주문 내역 조회
SELECT * FROM orders WHERE member_id = 1;

-- SNS: 좋아요 수 많은 게시글 TOP 10
SELECT * FROM post ORDER BY like_count DESC LIMIT 10;

-- 회원가입 처리: 새 회원 추가
INSERT INTO member (name, email) VALUES ('홍길동', 'hong@test.com');

-- 비밀번호 변경: 회원 정보 수정
UPDATE member SET password = '새비밀번호' WHERE id = 1;
SQL의 세가지 개념
DDL(Data Definition Language) : 구조를 만든다   → CREATE, ALTER, DROP
DML(Data Manipulation Language) : 데이터를 다룬다 → SELECT, INSERT, UPDATE, DELETE
DCL(Data Control Language) : 권한을 관리한다 → GRANT, REVOKE

핵심 요약

DB   : 데이터 저장 공간 (책장)
DBMS : DB 관리 소프트웨어 (사서) → MySQL, Oracle 등
SQL  : DBMS 에 내리는 명령 언어 (주문서)

RDBMS
  데이터를 표(테이블) 형태로 저장
  행(Row)    : 데이터 한 건
  열(Column) : 속성
  PK         : 각 행을 고유하게 식별하는 키

왜 DB 를 배우는가?
  백엔드 서비스의 모든 데이터는 DB 에 저장됩니다.
  스프링 부트 API 도 결국 DB 에서 데이터를 가져옵니다.

 

'MySQL' 카테고리의 다른 글

INSERT 구문과 제약 조건 -7  (0) 2026.04.02
MySQL 데이터 타입 - 6  (0) 2026.04.02
SQL - DDL, DML, DCL -5  (0) 2026.04.02
데이터베이스 설계 시나리오  (0) 2026.04.02
데이터와 정보  (0) 2026.04.01