제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에서 직접 실행합니다.
각 장마다
- SQL 작성
- 실행
- 결과 확인
- 결과 분석
순서로 진행합니다.
가능하면 모든 예제를 직접 실행해 보기 바랍니다.
SQL은 눈으로만 읽는 것보다 직접 실행해 보는 것이 훨씬 빠르게 실력이 향상됩니다.
8. 다음 장에서 배우게 될 내용
다음 장에서는 가장 많이 사용하는 SQL 문장인 SELECT를 배웁니다.
가장 먼저 아래와 같은 SQL을 실행하게 됩니다.
SELECT *
FROM Customers;
지금은 의미를 모두 이해하지 못해도 괜찮습니다.
다음 장에서 하나씩 차근차근 설명할 예정입니다.
핵심 정리
✔ 데이터베이스는 많은 데이터를 체계적으로 관리하기 위한 시스템이다.
✔ 데이터는 테이블에 저장된다.
✔ 테이블은 행(Row)과 열(Column)로 구성된다.
✔ SQL은 데이터베이스에게 질문하는 언어이다.
✔ 이번 교재에서는 MySQL Workbench를 사용하여 모든 SQL을 직접 실행한다.
연습 문제
기본 문제
- 데이터베이스가 필요한 이유를 자신의 말로 설명해 보세요.
- 테이블(Table)이 무엇인지 설명해 보세요.
- 행(Row)과 열(Column)의 차이를 설명해 보세요.
응용 문제
- 학교에서 데이터베이스를 사용할 수 있는 사례를 3가지 적어 보세요.
- 엑셀보다 데이터베이스가 더 적합한 경우를 설명해 보세요.
도전 문제
여러분이 새로운 온라인 쇼핑몰을 만든다고 가정해 보세요.
어떤 정보를 데이터베이스에 저장해야 할지 생각하여 최소 5개의 테이블을 설계해 보세요.
'프로그래밍 > MySQL' 카테고리의 다른 글
| 📊 [SQL 프로젝트] 제6장 LIMIT - 필요한 만큼만 가져오기 (0) | 2026.06.28 |
|---|---|
| 📊 [SQL 프로젝트] 제5장 ORDER BY - 원하는 순서대로 정렬하기 (0) | 2026.06.27 |
| 📊 [SQL 프로젝트] 제4장 AND / OR / NOT - 여러 조건 함께 사용하기 (0) | 2026.06.27 |
| 📊 [SQL 프로젝트] 제3장 WHERE - 원하는 데이터만 찾기 (0) | 2026.06.26 |
| 📊 [SQL 프로젝트] 제2장 SELECT - 데이터를 조회하는 첫 번째 명령어 (0) | 2026.06.26 |