프로그래밍/MySQL

📊 [SQL 프로젝트] 제1부 제1장 데이터베이스란 무엇인가

강릉바다의 블로그 2026. 6. 26. 09:06

제1장 데이터베이스란 무엇인가


학습 목표

이 장을 학습하면 다음 내용을 이해할 수 있습니다.

  • 데이터베이스가 왜 필요한지 설명할 수 있다.
  • 테이블, 행(Row), 열(Column)의 의미를 이해할 수 있다.
  • 데이터베이스의 기본 구조를 설명할 수 있다.
  • 이번 교재에서 사용할 실습 데이터베이스를 이해할 수 있다.
  • 앞으로 SQL을 왜 배우는지 이해할 수 있다.

1. 왜 데이터베이스가 필요할까요?

여러분이 작은 카페를 운영한다고 가정해 보겠습니다.

첫날에는 손님이 10명뿐이라 종이에 주문 내용을 적어도 큰 문제가 없습니다.

하지만 시간이 지나면서 손님이 수백 명, 수천 명이 된다면 어떻게 될까요?

  • 지난달 가장 많이 팔린 음료는 무엇일까?
  • 강릉에 사는 고객은 몇 명일까?
  • 오늘 주문한 사람은 누구일까?
  • 재고가 부족한 상품은 무엇일까?

이러한 질문에 종이를 뒤져서 답을 찾는 것은 거의 불가능합니다.

이처럼 많은 정보를 체계적으로 저장하고 빠르게 검색하기 위해 사용하는 것이 바로 데이터베이스(Database)입니다.


2. 엑셀만 사용하면 안 될까요?

많은 사람들이 데이터를 관리할 때 가장 먼저 떠올리는 프로그램은 엑셀입니다.

실제로 엑셀은 매우 훌륭한 프로그램입니다.

학생 성적 관리나 간단한 목록을 작성하는 정도라면 엑셀만으로도 충분합니다.

하지만 데이터가 많아질수록 문제가 발생합니다.

예를 들어,

  • 고객 10만 명
  • 주문 100만 건
  • 상품 5천 개

를 하나의 엑셀 파일로 관리한다고 생각해 보세요.

검색 속도도 느려지고,

동시에 여러 사람이 수정하기도 어렵고,

실수로 데이터를 삭제할 위험도 커집니다.

이러한 문제를 해결하기 위해 만들어진 것이 데이터베이스입니다.


엑셀과 데이터베이스 비교

항목 엑셀 데이터베이스
주요 목적 문서 작성, 계산 데이터 저장 및 관리
데이터 양 적은 양 매우 많은 양
동시 작업 어려움 가능
검색 속도 데이터가 많으면 느려짐 매우 빠름
관계 관리 불편 매우 편리

3. 데이터베이스는 어떻게 생겼을까요?

데이터베이스는 여러 개의 테이블(Table)로 구성됩니다.

테이블은 엑셀의 시트와 비슷하게 생겼습니다.

예를 들어 고객 정보를 저장하는 테이블은 다음과 같습니다.

CustomerID CustomerName City Country
1 Alfreds Futterkiste Berlin Germany
2 Ana Trujillo Emparedados México D.F. Mexico
3 Antonio Moreno Taquería México D.F. Mexico

여기에서

  • 세로 방향을 열(Column)
  • 가로 방향을 행(Row)

이라고 합니다.

이번 교재에서는 용어를 다음과 같이 통일합니다.

  • Table → 테이블
  • Column → 열
  • Row → 행

4. 이번 교재에서 사용할 데이터베이스

이번 교재에서는 실제 주문 관리 시스템을 단순화한 데이터베이스를 사용합니다.

주요 테이블은 다음과 같습니다.

테이블 역할
Customers 고객 정보
Orders 주문 정보
OrderDetails 주문 상품
Products 상품
Categories 상품 분류
Suppliers 공급업체
Employees 직원
Shippers 배송 업체

실제 회사에서도 이와 매우 비슷한 구조를 사용합니다.

즉, 이번 교재에서 배우는 SQL은 단순한 연습용 문법이 아니라 실제 업무에서도 사용할 수 있는 형태입니다.


5. 데이터를 어떻게 찾을까요?

데이터베이스에는 수천 개, 수백만 개의 데이터가 저장될 수 있습니다.

사람이 직접 하나씩 찾는 것은 불가능합니다.

그래서 데이터베이스에게 질문을 던지는 언어가 필요합니다.

그 언어가 바로 SQL(Structured Query Language)입니다.

예를 들어,

  • 독일 고객만 보여 주세요.
  • 가격이 30달러 이상인 상품을 보여 주세요.
  • 가장 많이 판매된 상품은 무엇인가요?

이러한 질문을 SQL로 작성하게 됩니다.


6. SQL은 어렵지 않습니다.

처음 SQL을 보면 영어처럼 보여 어렵게 느껴질 수 있습니다.

하지만 대부분의 SQL은 몇 개의 영어 단어만 이해하면 됩니다.

예를 들어

  • SELECT
  • FROM
  • WHERE
  • ORDER BY

정도만 알아도 상당히 많은 작업을 할 수 있습니다.

이 교재에서는 어려운 문법부터 배우지 않습니다.

가장 쉬운 내용부터 차근차근 실습하면서 익혀 나갈 것입니다.


7. MySQL Workbench에서 실행하기

이번 교재에서는 모든 SQL을 MySQL Workbench에서 직접 실행합니다.

각 장마다

  1. SQL 작성
  2. 실행
  3. 결과 확인
  4. 결과 분석

순서로 진행합니다.

가능하면 모든 예제를 직접 실행해 보기 바랍니다.

SQL은 눈으로만 읽는 것보다 직접 실행해 보는 것이 훨씬 빠르게 실력이 향상됩니다.


8. 다음 장에서 배우게 될 내용

다음 장에서는 가장 많이 사용하는 SQL 문장인 SELECT를 배웁니다.

가장 먼저 아래와 같은 SQL을 실행하게 됩니다.

SELECT *
FROM Customers;

지금은 의미를 모두 이해하지 못해도 괜찮습니다.

다음 장에서 하나씩 차근차근 설명할 예정입니다.


핵심 정리

✔ 데이터베이스는 많은 데이터를 체계적으로 관리하기 위한 시스템이다.

✔ 데이터는 테이블에 저장된다.

✔ 테이블은 행(Row)과 열(Column)로 구성된다.

✔ SQL은 데이터베이스에게 질문하는 언어이다.

✔ 이번 교재에서는 MySQL Workbench를 사용하여 모든 SQL을 직접 실행한다.


연습 문제

기본 문제

  1. 데이터베이스가 필요한 이유를 자신의 말로 설명해 보세요.
  2. 테이블(Table)이 무엇인지 설명해 보세요.
  3. 행(Row)과 열(Column)의 차이를 설명해 보세요.

응용 문제

  1. 학교에서 데이터베이스를 사용할 수 있는 사례를 3가지 적어 보세요.
  2. 엑셀보다 데이터베이스가 더 적합한 경우를 설명해 보세요.

도전 문제

여러분이 새로운 온라인 쇼핑몰을 만든다고 가정해 보세요.

어떤 정보를 데이터베이스에 저장해야 할지 생각하여 최소 5개의 테이블을 설계해 보세요.