만들기·읽기·고치기·지우기
손님 명단이든 예약이든, 데이터로 하는 일은 결국 네 가지뿐이에요. 새로 넣고, 찾아 보고, 고치고, 지우고. 관리자 화면의 모든 기능이 이 네 개의 조합이라서, 무엇을 만들지 정할 때 이 네 개로 따지면 빠짐없이 셀 수 있어요.
쉽게 말하면
가게 장부를 떠올려 보세요. 장부로 하는 일은 딱 네 가지예요. 새 줄을 쓰고, 필요한 줄을 찾아 읽고, 틀린 곳을 고치고, 취소된 건에는 줄을 긋죠. 프로그램이 데이터를 다루는 방식도 완전히 똑같아요. 개발자들은 이 네 가지를 묶어 CRUD(크러드)라고 불러요. 만들기(Create)·읽기(Read)·고치기(Update)·지우기(Delete)의 머리글자예요.
이 문서에서 딱 하나만 가져가신다면 이거예요. 관리자 화면에 있는 모든 기능은 이 네 가지의 조합이에요. 예약 관리, 메뉴 관리, 손님 명단, 주문 내역, 전부요. 그러니 데이터라는 말이 무섭게 들려도, 실제로 일어나는 일은 장부에 쓰고 읽고 고치고 긋는 것뿐이에요.
| 동작 | 영어 이름 | 장부로 치면 | 내 가게에서는 |
|---|---|---|---|
| 만들기 | Create(크리에이트) | 새 줄을 쓴다 | 손님이 예약을 넣어요. 새 메뉴를 등록해요 |
| 읽기 | Read(리드) | 줄을 찾아 읽는다 | 오늘 예약 목록을 봐요. 손님이 메뉴판을 봐요 |
| 고치기 | Update(업데이트) | 틀린 곳을 고쳐 쓴다 | 예약 시간을 바꿔요. 메뉴 가격을 올려요 |
| 지우기 | Delete(딜리트) | 줄을 긋는다 | 예약을 취소해요. 단종된 메뉴를 내려요 |
엑셀을 아신다면 이미 절반은 아는 거예요
개발 용어가 낯설게 느껴지는 건 이름이 영어라서지, 내용이 어려워서가 아니에요. 사장님이 엑셀에서 매일 하던 일과 같은 것에 다른 이름표가 붙어 있을 뿐이거든요. 이름표만 바꿔 읽어 보세요.
| 개발자가 쓰는 말 | 엑셀로 치면 | 뜻 |
|---|---|---|
| 테이블(표) | 시트 한 장 | 같은 종류의 기록을 모아 둔 곳. 예약 시트, 손님 시트 |
| 행(로우) | 한 줄 | 기록 하나. 예약 한 건, 손님 한 명 |
| 열(컬럼) | 칸 | 기록의 항목. 이름 칸, 날짜 칸, 연락처 칸 |
| 스키마 | 머리글 정하기 | 첫 줄에 어떤 칸들을 둘지 미리 정하는 것 |
| CRUD | 줄을 쓰고·읽고·고치고·긋기 | 그 시트에 하는 네 가지 일 전부 |
데이터베이스는 이 시트들을 안전하게 모아 둔 큰 보관함이라고 보시면 돼요. 엑셀과 다른 점은 여러 명이 동시에 써도 안 꼬이고, 수만 줄이 돼도 빠르다는 것 정도예요. 뼈대는 같아요.
기능을 정할 때 이 네 개로 따져요
이 네 글자가 진짜 힘을 내는 순간은 새 기능을 정할 때예요. "예약 기능을 넣고 싶어요"라고만 생각하면 뭘 시켜야 할지 막막한데, 네 개로 쪼개면 주문서가 저절로 나와요.
- 1만들기가 필요한가? 손님이 예약을 새로 넣을 수 있어야 해요. 필요해요.
- 2읽기가 필요한가? 사장님은 오늘 예약 목록을, 손님은 자기 예약을 봐야 해요. 필요해요.
- 3고치기가 필요한가? 손님이 시간을 바꿔 달라고 하면요? 필요해요.
- 4지우기가 필요한가? 취소가 있어야 노쇼 자리에 다른 손님을 받죠. 필요해요.
이렇게 따지고 나면 AI에게 이렇게 통째로 주문할 수 있어요. "예약을 등록하고, 날짜별로 목록을 보고, 시간을 수정하고, 취소할 수 있게 해줘." 네 개를 다 짚었으니 나중에 "어, 취소 기능이 없네" 하고 다시 만드는 일이 줄어요.
확인해 보세요
손님 후기 기능을 넣으려고 해요. "손님이 후기를 쓰고, 다른 손님들이 그걸 보고, 사장님이 욕설 후기를 내릴 수 있게" 하고 싶어요. 네 가지 중 무엇무엇이 들어간 걸까요?
사장님이 실제로 겪는 장면
장면 1 · 외주 개발자가 견적을 내며 말했다
“관리자 페이지는 기본 CRUD 수준이면 되죠? 그러면 일주일이면 돼요.”
이제 해석돼요. 등록·목록 보기·수정·삭제가 되는 표준 관리 화면이면 되냐고 물은 거예요. 특별한 요구(승인 절차, 통계 화면, 권한 나누기)가 없는 기본형이라 금방 된다는 뜻이고요. 여기에 "네, 근데 삭제는 사장님 계정만 되게요" 같은 답을 하면 대화가 한 번에 끝나요.
장면 2 · 바이브캠퍼스로 만든 화면을 써 보다가
“메뉴 등록은 되는데, 오타 난 메뉴를 고칠 수가 없어요. 지우고 다시 올리는 것도 안 되고요.”
고장이 아니라 네 개 중 만들기와 읽기만 만들어진 상태예요. 처음 주문할 때 "메뉴를 올릴 수 있게 해줘"라고만 하면 AI는 만들기 위주로 지어요. 채팅으로 "등록된 메뉴를 수정하고 삭제하는 기능도 관리자 화면에 넣어줘"라고 이어서 주문하면 나머지 두 개가 채워져요.
증상이 보이면, AI에게 이렇게 말해요
뭔가 안 될 때 "안 돼요"라고만 하면 AI도 어디를 봐야 할지 몰라요. 네 가지 중 어느 동작이 빠졌거나 어긋났는지를 짚어 주면 한 번에 고쳐져요. 자주 나오는 증상을 주문 문장으로 바꿔 드릴게요.
| 증상 | 어느 동작 문제인가 | AI에게 이렇게 말해요 |
|---|---|---|
| 등록 버튼을 눌렀는데 목록에 안 보여요 | 만들기 또는 읽기 | "예약을 등록해도 목록에 안 나와. 저장이 안 되는 건지, 목록이 안 불러오는 건지 확인하고 고쳐줘" |
| 잘못 올린 걸 고칠 방법이 없어요 | 고치기가 없음 | "등록된 메뉴를 수정하는 버튼을 관리자 화면에 넣어줘" |
| 지우기 버튼이 없어요 | 지우기가 없음 | "항목마다 삭제 버튼을 넣고, 누르면 정말 지울지 한 번 물어보게 해줘" |
| 고쳤는데 새로고침하면 원래대로 돌아와요 | 고치기가 저장까지 안 감 | "수정한 내용이 화면에만 바뀌고 저장은 안 되는 것 같아. 저장까지 되게 고쳐줘" |
| 삭제했는데 손님 화면에는 아직 보여요 | 지우기가 반쪽만 됨 | "관리자에서 삭제한 항목이 손님 화면에는 아직 보여. 양쪽 다 사라지게 해줘" |
지우기만은 조심스럽게
네 가지 중 세 개는 실수해도 되돌릴 수 있어요. 잘못 만들면 지우면 되고, 잘못 고치면 다시 고치면 돼요. 지우기만 다릅니다. 진짜로 지워 버리면 되돌릴 방법이 없어요. 그래서 장부에서 배울 게 하나 더 있어요. 장부에서는 취소된 건을 찢어 버리지 않고 줄을 긋죠. 기록은 남기고, 효력만 없애는 거예요.
손님이 "제 예약 왜 취소됐어요?" 하고 따질 때 근거가 없어요. 실수로 누르면 복구도 안 돼요.
화면에서는 사라지지만 기록은 남아요. 실수했을 때 되살릴 수 있고, 분쟁 때 근거가 돼요.
그래서 AI에게 삭제 기능을 주문할 때 이 한 줄을 붙이는 습관이 좋아요. "삭제는 진짜 지우지 말고 숨김 처리로 해줘. 실수로 지운 걸 되살릴 수 있게." 그리고 무엇이 됐든 백업이 있으면 지우기 실수가 사고가 아니라 해프닝으로 끝나요.
손님 정보를 지울 때는 법도 봐야 해요
주문·결제처럼 거래가 얽힌 기록은 법으로 보관 기간이 정해진 것들이 있고, 반대로 손님이 탈퇴하면 지워야 하는 정보도 있어요. 종류마다 달라서 여기서 단정해 드리기 어려워요. 손님 개인정보가 걸린 삭제라면 개인정보보호위원회(privacy.go.kr)의 안내를 확인하거나 개인정보 문서를 먼저 읽어 보세요. 세금 관련 기록은 국세청 안내가 기준이에요.
지금은 신경 쓰지 않아도 되는 때
이 네 글자를 외우려고 애쓸 필요는 없어요. 바이브캠퍼스에서 템플릿으로 시작하면 예약·메뉴·주문 같은 화면에 네 가지가 이미 다 들어 있거든요. 사장님이 CRUD라는 말을 몰라도 서비스는 잘 돌아가요. 이 문서는 암기용이 아니라, 뭔가 빠졌을 때 알아보는 눈을 드리려는 거예요.
이런 때는 그냥 지나가셔도 돼요. 템플릿이 잘 돌아가고 있을 때는 네 개가 다 있는지 셀 필요 없어요. 아직 손님이 없을 때는 삭제를 진짜로 할지 숨김으로 할지 고민하지 않아도 돼요. 나중에 채팅 한 줄로 바꿀 수 있어요. 개발자가 CRUD라고 말할 때도 되물을 필요 없어요. "기본 관리 기능 네 가지"라는 뜻, 이제 아시니까요.
다시 꺼내 읽을 타이밍
새 기능을 주문하기 직전, 그리고 "등록은 되는데 뭔가 안 돼요" 싶을 때. 이 두 순간에만 위의 증상 표를 다시 열어 보시면 충분해요.
자주 묻는 것
- Q. CRUD라는 말을 제가 직접 쓸 일이 있나요?
- 쓰면 편하지만 안 써도 돼요. AI에게는 "등록하고, 보고, 고치고, 지울 수 있게"라고 우리말로 말해도 똑같이 알아들어요. 이 말이 정말 쓸모 있는 순간은 개발자나 외주 업체의 말을 알아들을 때예요.
- Q. 읽기도 기능인가요? 그냥 보이는 거 아니에요?
- 기능 맞아요. 그것도 제일 많이 쓰이는 기능이에요. 손님이 메뉴판을 보는 것, 사장님이 오늘 예약을 세는 것, 검색하는 것 전부 읽기예요. "날짜별로 볼 수 있게", "이름으로 검색되게" 같은 주문이 다 읽기를 다듬는 주문이고요.
- Q. 네 가지에 안 들어가는 기능도 있지 않나요? 결제라든가요.
- 좋은 눈이에요. 결제 승인이나 메일 발송처럼 바깥 세상과 주고받는 일은 네 가지 바깥의 동작이에요. 다만 그 결과는 결국 데이터로 남아요. 결제가 되면 주문 기록이 만들어지고(만들기), 환불되면 상태가 바뀌죠(고치기). 그래서 화면과 데이터 쪽은 여전히 네 개로 셀 수 있어요.
- Q. 고치기와 지우고 다시 만들기, 뭐가 다른가요?
- 결과 화면은 비슷해도 기록이 달라요. 고치기는 원래 기록이 이어지고, 지웠다 다시 만들면 새 기록이 돼요. 예약을 지웠다 다시 만들면 손님 입장에서는 예약이 취소됐다 새로 잡힌 거라 알림이 두 번 갈 수도 있어요. 웬만하면 고치기로 해결하는 게 자연스러워요.
- Q. 누가 뭘 만들고 지웠는지 나중에 볼 수 있나요?
- 만들 수 있어요. 그걸 감사 기록이라고 해요. 직원이 생기거나 환불 분쟁이 걱정되기 시작할 때 "누가 언제 뭘 바꿨는지 기록을 남겨줘"라고 주문하면 돼요. 혼자 운영하는 지금은 급하지 않아요.
- Q. 손님한테도 네 가지를 다 열어 줘야 하나요?
- 아니요, 오히려 나눠 주는 게 핵심이에요. 손님은 자기 예약만 만들고·보고·바꾸고·취소할 수 있어야 하고, 남의 예약은 건드리면 안 되죠. 메뉴는 손님에겐 읽기만, 사장님에겐 네 개 전부. 이렇게 "누구에게 어떤 동작까지"를 정하는 게 권한 설계예요.
하나 더
외주 개발자가 "이건 CRUD만 있으면 되는 단순한 관리자 화면이라 금방 해요"라고 했어요. 무슨 뜻일까요?
직접 해보기
네 개짜리 주문을 직접 던져 보세요
스튜디오에서 이렇게 통째로 주문해 보세요. "손님 예약을 등록하고, 날짜별 목록으로 보고, 시간을 수정하고, 취소할 수 있는 관리자 화면 만들어줘. 취소는 진짜 지우지 말고 숨김 처리로." 네 가지가 한 번에 다 갖춰진 화면이 나오는 걸 보시면, 이 문서가 몸에 붙어요.
스튜디오 열기더 깊이 (안 읽어도 괜찮아요)
왜 하필 넷인가 · 데이터에 일어날 수 있는 일이 이게 전부라서예요. 기록은 생기거나(만들기), 바뀌거나(고치기), 없어지거나(지우기), 그대로 있는 채 보여지거나(읽기) 넷 중 하나예요. 그리고 넷 중 읽기만 유일하게 데이터를 바꾸지 않아요. 그래서 권한을 나눌 때도 "읽기만 되는 사람"과 "바꿀 수 있는 사람"을 가르는 게 세상 모든 시스템의 기본이에요. 아르바이트생에게 예약 목록은 보여 주되 삭제는 못 하게 하는 것도 이 원리예요.
줄 긋기는 사실 고치기예요 · 본문에서 말한 "숨김 처리 삭제"의 속을 열어 보면 재미있는 게 보여요. 기록을 없애는 게 아니라 "지워졌음"이라는 표시 칸을 참으로 바꾸는 것이라서, 네 가지로 분류하면 지우기가 아니라 고치기예요. 개발자들은 이걸 소프트 삭제라고 불러요. 화면에서는 지우기처럼 보이게 하고, 장부에서는 고치기로 처리하는 거죠. 겉과 속이 달라도 되는 게 아니라, 달라서 안전한 경우예요.
같은 넷, 다른 이름들 · 문서나 개발자 대화에서 이 넷은 여러 옷을 입고 나와요. 등록·조회·수정·삭제라고도 하고, 데이터베이스 쪽에서는 insert·select·update·delete라는 명령 이름으로, 서버 연동 쪽에서는 POST·GET·PUT·DELETE라는 이름으로 등장해요. 이름이 셋씩 있는 게 아니라 같은 네 동작을 층마다 다르게 부르는 것뿐이에요. 낯선 네 개짜리 목록을 보면 "아, 그 넷이구나" 하고 읽으시면 대체로 맞아요.
이것만 기억하세요
- ·데이터로 하는 일은 만들기·읽기·고치기·지우기 네 가지뿐이에요. 관리자 화면의 모든 기능이 이 조합이에요
- ·새 기능은 "이 데이터에 네 개 중 뭐가 필요하지?"로 따져서 한 번에 주문해요
- ·뭔가 안 되면 네 개 중 어느 동작이 빠졌는지 짚어서 AI에게 말해요
- ·지우기만은 신중하게요. 진짜 삭제보다 줄 긋기(숨김 처리)가 안전해요
- ·바이브캠퍼스 템플릿에는 이미 네 개가 다 들어 있어요. 외울 필요 없이, 빠졌을 때 알아보면 돼요