스킬캠퍼스
Day 17 · 데이터베이스
강의

오늘 끝나면

데이터베이스

  • 데이터베이스의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 데이터베이스이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

데이터를 어디에 쌓나 — 표와 SQL 맛보기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

개발 · Day 17 / 데이터 · 저장

데이터
베이스

데이터를 안 사라지게 보관하는 창고임. 표(테이블)에 칸칸이 쌓음. SQL로 "이런 거 꺼내줘"라고 물음. 그게 데이터베이스임.

P.01개발 · Day 17

데이터베이스 = 안 사라지는 창고

프로그램이 켜져 있을 때만 기억하는 건 메모리임. 끄면 다 날아감.

근데 회원 정보·주문 내역은 꺼져도 남아야 함. 내일 다시 켜도 그대로 있어야 함.

그래서 따로 적어두는 곳이 필요함. 전원이 꺼져도 안 사라지는 저장소임. 그게 데이터베이스(DB)임.

한마디로 데이터의 영구 창고임. 넣어두면 남고, 언제든 다시 꺼냄. 앱이 기억을 가지게 하는 부품임.

꺼지면 날아감 vs 남음
메모리 — 켜져 있을 때만 기억전원 끔다 날아감데이터베이스 — 꺼져도 남음전원 끔

메모리는 끄면 사라지고, DB는 적어둬서 남음 — 그게 영구 저장

P.02개발 · Day 17

표(테이블) = 행과 열

DB는 데이터를 모양으로 쌓음. 엑셀 시트랑 똑 닮음.

열(column)은 칸의 종류임 — 이름, 도시, 나이처럼. 표마다 어떤 열을 둘지 미리 정함.

행(row)은 한 건의 데이터임 — 회원 한 명, 주문 하나. 행이 하나 늘면 데이터가 하나 쌓인 것임.

이런 표 하나를 테이블이라 부름. 회원 테이블, 주문 테이블처럼 종류별로 표를 나눠 담음.

엑셀처럼 생김
members 테이블namecityage김하늘서울28이바다부산41박나무서울35↑ 열(column) = 칸의 종류

열은 칸의 종류, 행은 한 건의 데이터 — 엑셀이랑 똑같음

P.03개발 · Day 17

SQL로 물어봄 — SELECT

표가 쌓였으면 이제 꺼내 써야 함. DB한테 말로 물어봄. 그 말이 SQL임.

기본 질문은 SELECT임 — "꺼내줘"라는 뜻임. 뒤에 WHERE조건을 붙임. "서울 사는 사람만" 같은 식임.

그러면 DB가 표를 훑어 조건에 맞는 행만 골라 돌려줌. 나머지는 안 가져옴. 이게 질의(query)임.

오른쪽에서 직접 조건을 골라보셈. 조건을 바꾸면 만들어지는 SQL과, 표에서 꺼내지는 줄이 같이 바뀜.

코드 보기
서울 사는 사람만 꺼내기 →

SELECT *
FROM members
WHERE city = '서울'

→ 조건에 맞는 행만 돌아옴
조건 걸어 꺼내기 실험
SELECT 실험실 · 표에서 조건에 맞는 행만 꺼내기
① 꺼낼 조건을 골라보라 →
② 이렇게 묻는 게 SQL임
SELECT *
FROM members
WHERE city = '서울'
③ members 표 — 파란 줄이 꺼내진 행
id
name
city
age
grade
1
김하늘
서울
28
VIP
2
이바다
부산
41
일반
3
박나무
서울
35
일반
4
최구름
대구
23
VIP
5
정바람
서울
52
VIP
6
한별
부산
30
일반
6줄 중 3이 조건에 맞음 — 표 전체를 뒤져 맞는 행만 돌려줌
P.04개발 · Day 17

그냥 파일에 적으면 안 되나?

데이터를 그냥 파일에 적어둘 수도 있음. 메모장처럼. 근데 금방 한계가 옴.

첫째, 검색임. 100만 줄짜리 파일에서 "서울 사람"을 찾으려면 처음부터 끝까지 다 읽어야 함. DB는 색인을 둬서 바로 찾아냄. 훨씬 빠름.

둘째, 동시성임. 여러 사람이 같은 파일을 동시에 고치면 서로 덮어써서 엉킴. DB는 순서를 정리해 안 엉키게 해줌.

셋째, 무결성임. 파일은 나이 칸에 글자를 적어도 안 막음. DB는 규칙을 어기는 값을 거부해 데이터가 망가지는 걸 막음.

파일 한 덩이 vs DB
파일 한 덩이처음부터 끝까지다 읽어야 찾음vs데이터베이스색인색인으로바로 찾음 (빠름)

파일은 다 뒤져야 하고, DB는 색인으로 바로 찾음 — 검색·동시성·무결성이 다름

P.05개발 · Day 17

넣고 · 보고 · 고치고 · 지움

DB로 하는 일은 딱 네 가지로 정리됨. 데이터 다루기의 기본기임.

INSERT넣기임 — 새 회원 한 줄 추가. SELECT보기임 — 조건 걸어 꺼냄. 앞에서 본 그것임.

UPDATE고치기임 — 기존 행의 값을 바꿈. DELETE지우기임 — 행을 없앰.

이 넷을 묶어 CRUD라 부름 — 만들고·읽고·고치고·지움. 거의 모든 앱이 속을 까보면 이 네 가지의 반복임. 백엔드는 이걸 대신 해주는 일꾼임.

Q. SQL은 어렵게 안 외워도 되나?기본 네 단어(SELECT / INSERT / UPDATE / DELETE)와 WHERE만 알아도 대부분 됨. 복잡한 질의는 그때그때 찾아 쓰면 됨. 중요한 건 표에 담고, 조건으로 꺼낸다는 그림임.
DB가 하는 네 가지
INSERT넣기새 행 추가SELECT보기조건 걸어 꺼냄UPDATE고치기값을 바꿈DELETE지우기행을 없앰이 넷을 묶어 CRUD라 부름

넣고·보고·고치고·지움 — 거의 모든 앱은 속을 까보면 이 네 가지의 반복임

3줄 요약

  1. 1데이터를 어디에 쌓나 — 표와 SQL 맛보기
  2. 2데이터베이스은 코딩 기본 → 인터넷과 웹 → 프론트/백엔드 → 데이터 → 배포 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

데이터베이스

데이터를 어디에 쌓나 — 표와 SQL 맛보기

입력

프로그램이 받아들이는 값이나 사용자 행동

규칙

입력을 처리하는 코드의 절차