데이터베이스

MySQL로 이해하는 데이터베이스와 DBMS 개념 정리

dev-emong 2026. 8. 31. 12:36

MySQL로 이해하는 데이터베이스와 DBMS 개념 정리

1️⃣ 데이터베이스와 파일 시스템의 차이

초기 프로그램들은 데이터를 파일 시스템에 직접 저장했습니다.

텍스트 파일, CSV, 바이너리 파일에 데이터를 기록하는 방식이죠.

하지만 파일 시스템은 다음과 같은 한계를 가집니다.

  • 데이터 중복이 쉽게 발생

  • 동시 접근 시 충돌 발생

  • 보안 제어가 거의 불가능

  • 데이터 변경 시 일관성 유지가 어려움

  • 랜덤 액세스와 대량 검색에 비효율적

이 문제를 해결하기 위해 등장한 것이 데이터베이스(Database) 입니다.

데이터베이스

구조화된 데이터를 체계적으로 저장하고 관리하는 공간


2️⃣ DBMS(Database Management System)란?

데이터베이스를 직접 관리하는 소프트웨어가 바로 DBMS입니다.

대표적인 DBMS:

  • MySQL

  • Oracle Database

  • MariaDB

  • Microsoft SQL Server

DBMS는 다음 역할을 수행합니다.

  • 데이터 중복 최소화

  • 데이터 보안 보장

  • 데이터 일관성 유지

  • 다중 사용자 동시 접근 제어

  • 트랜잭션 관리

  • 백업 및 복구

👉 즉,

“파일 대신 DBMS에 맡기면 안전하고 일관된 데이터 관리가 가능해진다”


3️⃣ DBMS의 장점과 단점

✅ 장점

  • 데이터 중복 최소화

  • 무결성(일관성) 보장

  • 보안 정책 적용 가능

  • 트랜잭션 기반 안정성

  • 랜덤 액세스 기반 빠른 검색

❌ 단점

  • 시스템 복잡도 증가

  • 초기 학습 비용

  • 서버 자원 사용량 증가

  • 소규모 단순 프로그램에는 과한 구조


4️⃣ 관계형 데이터베이스 관리 시스템 (RDBMS)

MySQL은 RDBMS에 속합니다.

RDBMS 특징

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

  • 행(Row, Record, Tuple)과 열(Column) 구조

  • 테이블 간 관계(Relation) 설정 가능

  • Primary Key / Foreign Key 기반 연결

User 테이블 (PK)
Order 테이블 (FK → User PK)

관계형 구조 덕분에 데이터의 정합성과 확장성을 동시에 확보할 수 있습니다.


5️⃣ 데이터베이스의 구조 개념

구조 흐름

Database
 └─Schema
     └─Table
         ├─Column (열)
         └─Row (행 / 레코드)
  • Schema: 테이블 구조의 논리적 묶음

  • Table: 실제 데이터 저장 단위

  • Column: 데이터 속성

  • Row: 실제 데이터 1건

  • View: 실제 테이블을 기반으로 한 가상 테이블


6️⃣ Primary Key / Foreign Key

Primary Key (PK)

  • 각 행을 유일하게 식별

  • 중복 ❌ / NULL ❌

  • 인덱스 자동 생성

Foreign Key (FK)

  • 다른 테이블의 PK 참조

  • 테이블 간 릴레이션 형성

  • 데이터 무결성 보장


7️⃣ SQL이란 무엇인가?

SQL (Structured Query Language)

→ DBMS와 대화하기 위한 표준 언어

MySQL은 SQL을 기반으로 동작합니다.

SQL 분류

분류 역할
DQL 데이터 조회
DML 데이터 조작
DDL 구조 정의
TCL 트랜잭션 제어
DCL 권한 제어

SQL은 DSL(Domain Specific Language) 의 대표적인 예시로,

“데이터 조작”이라는 특정 도메인에 특화된 언어입니다.


8️⃣ 액세스 방식과 캐시 개념

시퀀셜 액세스

  • 처음부터 순차 접근

  • 대용량 스트림에 유리

랜덤 액세스

  • 필요한 위치 바로 접근

  • DB 검색에 필수

캐시(Cache)

  • 자주 사용하는 데이터를 메모리에 저장

  • 디스크 접근 최소화

LRU (Least Recently Used)

  • 가장 오래 사용되지 않은 캐시 제거

  • MySQL의 버퍼 캐시 관리에도 사용되는 핵심 개념


9️⃣ MySQL은 왜 많이 사용될까?

  • 오픈소스 & 무료

  • InnoDB 기반 안정성

  • RDBMS 표준 구조

  • 방대한 레퍼런스

  • 웹·앱·서버 어디서든 사용 가능

👉 실무에서

“가장 범용적인 기본 선택지” 가 MySQL


🔚 정리 한 문장

MySQL은 파일 시스템의 한계를 극복하기 위해 등장한 관계형 데이터베이스 관리 시스템으로, SQL을 통해 구조화된 데이터의 일관성·보안·성능을 동시에 관리할 수 있게 해준다.