데이터베이스란 무엇인가
이 장에서 배우는 것 데이터베이스가 엑셀과 무엇이 다른지, 테이블·행·열·키를 읽는 법, SQL 한 줄의 모양, 그리고 왜 "읽기 전용 계정"이라는 말이 계속 나오는지.
회사의 사실이 쌓이는 곳
주문·회원·재고·결제. 매일 늘어나는 기록이 사는 곳이 데이터베이스(DB)입니다. 화면에서 보는 거의 모든 숫자는 결국 여기서 나옵니다.
표로 되어 있습니다
가장 흔한 종류(관계형 데이터베이스)는 데이터를 표로 담습니다.
orders 테이블
| id | customer_id | ordered_at | amount | status |
|---|---|---|---|---|
| 1001 | 42 | 2026-08-01 | 128000 | paid |
| 1002 | 7 | 2026-08-01 | 34000 | refunded |
| 말 | 뜻 |
|---|---|
| 테이블 | 표 하나 — 대개 한 종류의 사실 |
| 행(row·레코드) | 가로 한 줄 — 사건 하나 |
| 열(column·필드) | 세로 한 칸 — 항목 하나 |
| 기본 키(PK) | 행을 하나로 지목하는 값 — 위의 id |
| 외래 키(FK) | 다른 표를 가리키는 값 — 위의 customer_id |
외래 키가 "관계형"의 정체입니다. 주문 표에 고객 이름을 통째로 적는 대신 번호만 적어두고, 이름은 고객 표에서 가져옵니다. 그래서 고객이 이름을 바꾸면 한 곳만 고치면 됩니다.
graph TD
A["orders<br/>id · customer_id · amount"] -->|"customer_id 로 연결"| B["customers<br/>id · name · email"]엑셀과 무엇이 다른가
| 엑셀 | 데이터베이스 | |
|---|---|---|
| 동시에 고치기 | 충돌 · 사본이 번식 | 여러 명이 동시에 |
| 양 | 수십만 행부터 버거움 | 수억 행 |
| 규칙 | 아무 값이나 들어감 | 형식·필수·중복 금지를 강제 |
| 권한 | 파일 단위 | 표·열 단위 |
| 기록 | 누가 고쳤는지 모름 | 남길 수 있음 |
"엑셀 파일이 최종.xlsx / 최종_진짜.xlsx 로 번식한다"가 DB로 넘어가는 신호입니다. 사본이 생기는 순간 어느 것이 사실인지 아무도 모르게 됩니다.
SQL — 데이터베이스에 묻는 말
조회는 이렇게 생겼습니다. 영어 문장에 가까워서 읽는 것은 배우면 됩니다.
| 조각 | 뜻 |
|---|---|
SELECT | 무엇을 보여줄지 |
FROM | 어느 표에서 |
WHERE | 어떤 조건으로 거를지 |
GROUP BY | 무엇 단위로 묶을지 |
에이전트에게 데이터베이스를 붙이면 이 문장을 대신 씁니다 (데이터베이스 붙이기). 사람이 SQL을 몰라도 되게 하는 것이 그 기능의 목적입니다.
읽기와 쓰기는 성격이 다릅니다
| 갈래 | SQL | 되돌릴 수 있나 |
|---|---|---|
| 조회 | SELECT | 안 바꿈 |
| 추가 | INSERT | 지우면 됨 |
| 수정 | UPDATE | 이전 값은 사라짐 |
| 삭제 | DELETE · DROP | 못 되돌림 |
UPDATE 와 DELETE 는 조건을 안 붙이면 표 전체에 적용됩니다. 한 줄
차이로 전 고객의 등급이 바뀌는 사고가 여기서 납니다.
그래서 계정으로 막습니다
이 매뉴얼이 반복해서 "읽기 전용 계정"을 말하는 이유입니다. DB 계정마다 할 수 있는 일이 정해집니다.
지시로 정하는 것과 권한으로 막는 것은 다릅니다. 지시는 흔들릴 수 있고 외부 입력에 밀릴 수도 있지만, 계정 권한은 데이터베이스가 강제합니다 — 도구는 권한이다의 DB판입니다.
종류 — 이름만 알아두면 됩니다
| 종류 | 예 | 성격 |
|---|---|---|
| 관계형 | PostgreSQL · MySQL | 표와 관계. 가장 흔함 |
| 파일형 | SQLite | 파일 하나가 곧 DB |
| 문서형 | MongoDB | JSON 비슷한 덩어리를 저장 |
| 벡터 | pgvector 등 | 뜻이 가까운 것 찾기 — 그라운딩에 쓰임 |
맨 아래 줄이 AI와 직접 이어집니다. 문장을 숫자 목록(임베딩)으로 바꿔 저장해두고 "뜻이 가까운 문서"를 찾는 데 씁니다.
백업 — 여기만은 확인하세요
두 번째 줄이 진짜입니다. 백업이 도는 것과 복구가 되는 것은 다른 문제이고, 그 차이는 사고가 난 날에만 드러납니다.
자주 하는 오해
"우리 데이터는 엑셀에 있는데 AI를 못 쓰나요"
씁니다. 다만 Phase 2 — 데이터 · 시스템 진단에서 "어디에 무엇이 있는가"를 먼저 정리하게 되는데, 엑셀이 흩어져 있으면 그 단계에서 시간이 걸립니다.
"에이전트에게 DB를 붙이면 데이터가 밖으로 나가나요"
조회한 결과가 답을 만드는 데 쓰입니다. 그래서 붙이는 범위(계정 권한)를 좁히고, 나가면 안 되는 값은 마스킹으로 가립니다.
확인
1. 외래 키가 하는 일은?
답
다른 표의 행을 가리킵니다. 같은 정보를 여러 곳에 적지 않고 한 곳만 고치면 되게 만듭니다.
2. UPDATE 에서 가장 위험한 실수는?
답
조건(WHERE)을 빠뜨리는 것입니다. 표 전체에 적용되고 이전 값은
돌아오지 않습니다.
3. 도구 설정보다 읽기 전용 계정이 확실한 이유는?
답
지키는 주체가 다르기 때문입니다. 지시나 설정은 바뀔 수 있지만 계정 권한은 데이터베이스가 강제합니다.
이 파트의 마지막입니다 → 계정 · 비밀번호 · API 키 · 권한