오늘 끝나면
데이터베이스
- ✓데이터베이스의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 데이터베이스이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
데이터를 어디에 쌓나 — 표와 SQL 맛보기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 17 / 데이터 · 저장
데이터
베이스
데이터를 안 사라지게 보관하는 창고다. 표(테이블)에 칸칸이 쌓는다. SQL로 "이런 거 꺼내줘"라고 물어본다. 그게 데이터베이스다.
데이터베이스 = 안 사라지는 창고
프로그램이 켜져 있을 때만 기억하는 건 메모리다. 끄면 다 날아간다.
회원 정보나 주문 내역은 꺼져도 남아야 한다. 전원이 꺼져도 안 사라지는 저장소가 데이터베이스(DB)다.
데이터의 영구 창고다. 넣어두면 남고, 언제든 다시 꺼낸다. 앱이 기억을 가지게 하는 부품이다.
메모리는 끄면 사라지고, DB는 적어둬서 남는다. 그게 영구 저장이다
표(테이블) = 행과 열
DB는 데이터를 표 모양으로 쌓는다. 엑셀 시트랑 똑 닮았다.
열(column)은 칸의 종류다. 이름, 도시, 나이 같은 것이다. 표마다 어떤 열을 둘지 미리 정한다.
행(row)은 한 건의 데이터다. 회원 한 명, 주문 하나가 한 행이다.
이런 표 하나를 테이블이라 부른다. 회원 테이블, 주문 테이블처럼 종류별로 표를 나눠 담는다.
열은 칸의 종류, 행은 한 건의 데이터다. 엑셀이랑 똑같다
SQL로 물어본다, SELECT
쌓인 표를 꺼내 쓰려면 DB에게 말로 물어본다. 그 말이 SQL이다.
기본 질문은 SELECT다. "꺼내줘"라는 뜻이다. 뒤에 WHERE로 조건을 붙인다("서울 사는 사람만").
그러면 DB가 표를 훑어 조건에 맞는 행만 골라 돌려준다. 이게 질의(query)다.
오른쪽에서 조건을 바꾸면 만들어지는 SQL과 꺼내지는 줄이 같이 바뀐다.
코드 보기
서울 사는 사람만 꺼내기 → SELECT * FROM members WHERE city = '서울' → 조건에 맞는 행만 돌아옴
SELECT * FROM members WHERE city = '서울'
그냥 파일에 적으면 안 되나?
데이터를 그냥 파일에 적어둘 수도 있다(메모장처럼). 하지만 금방 한계가 온다.
첫째는 검색이다. 100만 줄짜리 파일에서 "서울 사람"을 찾으려면 처음부터 끝까지 다 읽어야 한다. DB는 색인을 둬서 바로 찾아낸다. 훨씬 빠르다.
둘째는 동시성이다. 여러 사람이 같은 파일을 동시에 고치면 서로 덮어써서 엉킨다. DB는 순서를 정리해 안 엉키게 해준다.
셋째는 무결성이다. 파일은 나이 칸에 글자를 적어도 안 막는다. DB는 규칙을 어기는 값을 거부해 데이터가 망가지는 걸 막는다.
파일은 다 뒤져야 하고, DB는 색인으로 바로 찾는다. 검색·동시성·무결성이 다르다
넣고 · 보고 · 고치고 · 지운다
DB로 하는 일은 딱 네 가지로 정리된다.
INSERT는 넣기다. 새 회원 한 줄을 추가한다. SELECT는 보기다. 조건을 걸어 꺼낸다. 앞에서 본 그것이다.
UPDATE는 고치기다. 기존 행의 값을 바꾼다. DELETE는 지우기다. 행을 없앤다.
이 넷을 묶어 CRUD라 부른다. 만들고, 읽고, 고치고, 지운다는 뜻이다. 거의 모든 앱이 속을 까보면 이 네 가지의 반복이다. 백엔드는 이걸 대신 해주는 일꾼이다.
Q. SQL은 어렵게 안 외워도 되나?
기본 네 단어(SELECT / INSERT / UPDATE / DELETE)와 WHERE만 알아도 대부분 된다. 복잡한 질의는 그때그때 찾아 쓰면 된다. 중요한 건 표에 담고, 조건으로 꺼낸다는 그림이다.넣고·보고·고치고·지운다. 거의 모든 앱은 속을 까보면 이 네 가지의 반복이다