[개발상식] CRUD란?
업데이트:
✅ CRUD란?
CRUD는 “Create, Read, Update, Delete”의 약어로 데이터베이스와 같은 시스템에서 기본적인 데이터 관리 기능을 의미한다.
CRUD는 거의 모든 시스템에 적용되는 가장 기본이 되는 개념이라고 볼 수 있다. 프로젝트를 진행 할 때나 대규모 시스템을 살펴만 봐도 CRUD 개념이 안들어가 있는것을 보기 어렵고, 개발자끼리 회의를 할때도 많이 사용되는 단어이기 때문에 어디서 사용되고 무슨 의미인지 알아두면 좋다.
필자는 크게 데이터베이스에서의 CRUD와 RESTful API 설계시 사용되는 CRUD에 대해 소개해보도록 하겠다.
✅ DB에서의 CRUD
-
Create ( 생성 )
새로운 데이터를 생성한다. 이는 데이터베이스에 새로운 레코드를 추가하거나 파일 시스템에 새로운 파일을 생성하는 것과 같은 작업을 의미한다.
-
Read ( 읽기 )
데이터를 조회한다. 데이터베이스나 파일시스템에서 저장된 데이터를 검색하고 읽어오는 작업을 의미한다.
-
Update ( 갱신 )
기존 데이터를 수정한다. 데이터베이스에서 기존 레코드를 수정하거나 파일 시스템에서 파일의 내용을 갱신하는 것과 같은 작업을 의미한다.
-
Delete ( 삭제 )
데이터를 삭제한다. 데이터베이스에서 레코드를 삭제하거나 파일 시스템에서 파일을 삭제하는 것과 같은 작업을 의미한다.
✅ REST API에서의 CRUD
클라이언트 <-> 서버간 HTTP 프로토콜을 이용해 REST API를 설계하고 작성할 때에도 CRUD 개념이 사용된다. 클라이언트는 적절한 HTTP 메서드와 URL을 사용하여 서버에 요청을 보내어 데이터를 생성,조회,수정,삭제 할 수 있다.
-
Create (생성)
- HTTP 메서드:
POST
- 예시: 새로운 사용자를 생성하는 경우
- 요청:
POST /users
- 요청 본문(body): 새로운 사용자의 정보를 포함하는 JSON 또는 XML 데이터
- 응답: 새로운 사용자의 ID와 함께 성공 메시지 또는 적절한 상태 코드 (예: 201 Created)
- 요청:
- HTTP 메서드:
-
Read (읽기):
- HTTP 메서드:
GET
- 예시: 모든 사용자 목록을 가져오는 경우
- 요청:
GET /users
- 응답: 모든 사용자의 목록을 포함하는 JSON 또는 XML 데이터 또는 적절한 상태 코드와 함께 성공 메시지 (예: 200 OK)
- 요청:
- HTTP 메서드:
-
Update (갱신):
- HTTP 메서드:
PUT
또는PATCH
- 예시: 특정 사용자의 정보를 업데이트하는 경우
- 요청:
PUT /users/{id}
또는PATCH /users/{id}
- 요청 본문: 업데이트할 사용자의 정보를 포함하는 JSON 또는 XML 데이터
- 응답: 적절한 상태 코드와 함께 성공 메시지 또는 업데이트된 사용자의 정보
- 요청:
- HTTP 메서드:
-
Delete (삭제):
- HTTP 메서드:
DELETE
- 예시: 특정 사용자를 삭제하는 경우
- 요청:
DELETE /users/{id}
- 응답: 적절한 상태 코드와 함께 성공 메시지 또는 삭제된 사용자의 정보
- 요청:
- HTTP 메서드:
한마디로,
Create는 데이터를 생성하고
Read는 데이터를 읽으며
Update는 새로운 데이터를 업데이트하고
Delete는 데이터를 삭제하는 것을 의미한다!
✅ 간단한 CRUD 예시
필자가 프로젝트 수행하면서 CRUD를 사용했던 대화 몇개를 차용해보면 보통 이런 흐름이다.
[ 댓글 CRUD ]
A : “테드님이 댓글 CRUD 구현해주세요”
B : “넹”
… ( 뚝딱뚝딱 )
B : “댓글 작성(CRUD의 C)이랑 댓글 조회(CRUD의 R)까지 구현했고, 댓글 수정(CRUD의 U)이랑 삭제(CRUD의 D)는 구현중입니다~”
A : “나머지 댓글 수정이랑 삭제도 빨리해주세요!”
[ 게시글 CRUD ]
A : “테드님이 게시글 CRUD 구현해주세요”
B : “넹”
… ( 뚝딱뚝딱 )
B : “게시글 작성, 조회, 수정, 삭제 전부다 구현 완료했습니다~”
이런 흐름으로 보통 CRUD라는 단어를 사용하곤 한다. 엄청나게 어려운 개념은 아니지만 되게 많이 사용되는 단어이기 때문에 어떤 의미인지 정확하게 알아두면 좋다.
댓글남기기