데이터를 그냥 파일에 저장하면 안 되나? 처음엔 이게 당연한 의문이다. 텍스트 파일이든 엑셀이든 저장은 되니까. 그런데 데이터가 쌓이기 시작하면 문제가 보인다.
회원 정보를 텍스트 파일에 저장한다고 해보자.
김민수,25,2024-03-15
이지현,30,2023-11-02
박준혁,22,2024-01-20
회원이 몇 명일 때는 괜찮다. 그런데 수천, 수만 명이 되면 이런 상황이 생긴다.
데이터베이스(Database)는 이런 문제를 해결하기 위해 나온 것이다.
데이터베이스(Database)는 데이터를 체계적으로 저장하고 관리하는 공간이다. 단순히 데이터를 쌓아두는 창고가 아니라, 빠르게 찾고, 안전하게 수정하고, 여러 사람이 동시에 사용할 수 있도록 설계된 구조다.

데이터베이스를 직접 운영하고 관리해주는 소프트웨어를 DBMS(Database Management System, 데이터베이스 관리 시스템)라고 한다.
도서관에 비유하면, 데이터베이스는 책이 보관된 공간이고 DBMS는 그 공간을 운영하는 사서다. 어디에 꽂을지, 어떻게 찾을지, 누가 빌려갔는지를 사서가 관리하듯이, DBMS가 데이터의 저장과 조회를 담당한다.
대표적인 DBMS로는 MySQL, Oracle, PostgreSQL, SQLite 등이 있다.
DBMS에도 여러 종류가 있는데, 가장 널리 쓰이는 방식이 관계형 데이터베이스(Relational Database)다. 데이터를 테이블(표) 형태로 저장하고, 테이블 간의 관계를 통해 데이터를 연결하는 구조다.
| id | name | age | join_date |
|---|---|---|---|
| 1 | 김민수 | 25 | 2024-03-15 |
| 2 | 이지현 | 30 | 2023-11-02 |
| 3 | 박준혁 | 22 | 2024-01-20 |
엑셀처럼 생겼지만, 엑셀과 달리 수백만 건의 데이터도 빠르게 처리할 수 있고, 조건을 걸어 원하는 데이터만 꺼낼 수 있다.
이 관계형 데이터베이스를 다루는 언어가 SQL이고, 우리가 배울 MySQL도 관계형 DBMS 중 하나다.