스킬캠퍼스

오늘 끝나면

데이터베이스

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

실습 미션

데이터를 어디에 쌓나 — 표와 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 맛보기

입력

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

규칙

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