CS/CS

CRUD

annovation 2025. 1. 7. 08:50

CRUD

CRUD는 소프트웨어 개발에서 데이터를 다루는 기본적인 네 가지 작업을 의미합니다. 각각의 약자는 다음과 같은 작업을 나타냅니다.

 

1. Create (생성)

  • 데이터를 생성하거나 추가하는 작업
  • ex. 사용자를 등록하거나 새 게시물을 작성

2. Read (읽기)

  • 데이터를 조회하거나 검색하는 작업
  • ex. 사용자 목록 보기, 특정 게시물 조회

3. Update (수정)

  • 기존 데이터를 수정하는 작업
  • ex. 사용자 정보를 변경하거나 게시물 내용을 업데이트

4. Delete (삭제)

  • 데이터를 삭제하는 작업
  • ex. 사용자 계정을 삭제하거나 게시물을 삭제

주요 사용 사례 

CRUD는 데이터 중심 애플리케이션에서 필수적인 작업이며, 다음과 같은 시스템에서 자주 사용됩니다.

  1. 웹 애플리케이션
    • 사용자 계정 관리, 게시물 작성 및 관리.
    • 예: 블로그, 전자상거래, 소셜 네트워크.
  2. 데이터베이스 시스템
    • 모든 관계형 데이터베이스 작업은 CRUD 작업을 기반으로 합니다.
  3. API 설계
    • RESTful API에서 CRUD 작업은 HTTP 메서드로 매핑됩니다:
      • Create  POST
      • Read  GET
      • Update  PUT 또는 PATCH
      • Delete  DELETE

예시

1. REST API

 

(1) 사용자 생성 (Create)

POST /users
Content-Type: application/json
Body:
{
    "name": "Alice",
    "email": "alice@example.com"
}

 

(2) 사용자 조회 (Read)

GET /users
GET /users/1

 

 

(3) 사용자 수정 (Update)

PUT /users/1
Content-Type: application/json
Body:
{
    "name": "Alice Updated",
    "email": "alice.updated@example.com"
}

 

(4) 사용자 삭제 (Delete)

DELETE /users/1

 

 

2. Java Spring Boot

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    // Create
    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.createUser(user);
    }

    // Read
    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    // Update
    @PutMapping("/{id}")
    public User updateUser(@PathVariable Long id, @RequestBody User user) {
        return userService.updateUser(id, user);
    }

    // Delete
    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}

요약

CRUD는 소프트웨어 개발에서 데이터를 다루는 기본적인 네 가지 작업 생성, 읽기, 수정, 삭제를 뜻한다.


출처

OpenAI ChatGPT (https://openai.com)

반응형

'CS > CS' 카테고리의 다른 글

CI/CD  (1) 2025.01.22
API, Library, Framework  (0) 2025.01.08
버퍼 (Buffer)  (0) 2025.01.04
메서드 체이닝(Method Chaining)  (0) 2024.12.05
명령형(imperative) VS 선언형(declarative) 프로그래밍  (1) 2024.12.05