CRUD
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
CRUD는 데이터를 관리하는 기본적인 연산을 나타내는 약어이다. CRUD는 생성(Create), 읽기(Read), 수정(Update), 삭제(Delete)의 네 가지 연산을 의미하며, 데이터베이스, RESTful API, 사용자 인터페이스 등 다양한 분야에서 활용된다. 1983년 제임스 마틴의 저서에서 처음 사용되었으며, 각 연산은 SQL 명령어나 HTTP 메서드에 매핑될 수 있다. CRUD 외에도 ABCD, CRUDL, BREAD 등 다양한 변형이 존재한다.
더 읽어볼만한 페이지
- 데이터베이스 관리 시스템 - 트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. - 데이터베이스 관리 시스템 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. - 데이터베이스 - 지식 베이스
지식 베이스는 특정 주제 정보를 체계적으로 저장 및 관리하며 규칙 기반 추론으로 새로운 지식 도출에 활용되고, 웹 콘텐츠 관리 및 지식 관리 시스템으로 확장되어 온톨로지를 이용, 인공지능 기술과 결합하여 문제 해결책을 제시하고 경험을 통해 학습하는 시스템이다. - 데이터베이스 - 화이트리스트
화이트리스트는 특정 대상만 허용하고 나머지는 차단하는 접근 제어 목록으로, 정보보안, 무역, 금융 등 다양한 분야에서 활용되지만, 목록 선정 기준의 불명확성, 사회적 문제점 등의 위험성으로 투명하고 엄격한 관리가 필요하다.
CRUD |
---|
2. 개념
데이터는 저장 메커니즘의 ''위치/영역''에 저장될 수 있다.
- 저장 위치의 기본적인 특징은 해당 ''내용''이 ''읽기 가능''하고 ''업데이트 가능''하다는 것이다.
- 저장 위치는 읽거나 업데이트하기 전에 ''생성''되어야 한다. 즉, 내용을 할당하고 초기화해야 한다.
- 나중에는 저장 위치를 ''삭제''해야 할 수도 있다. 즉, 종료하고 할당 해제해야 한다.
이 네 가지 연산을 함께 묶어 CRUD (Create, Read, Update, Delete), 즉 ''생성'', ''읽기'', ''수정'', ''삭제''로 알려진 기본적인 저장 관리 연산을 구성한다.
3. 역사
'C.R.U.D'라는 용어는 1983년 제임스 마틴이 저술한 《데이터베이스 환경 관리》(Managing the data-base environment)에서 처음 대중화되었을 가능성이 높다.[1]
4. 데이터베이스
CRUD 약어는 데이터베이스가 구현하는 주요 작업들을 나타낸다. 이 약어의 각 글자는 표준 구조화 질의 언어 (SQL) 명령문에 매핑될 수 있다.[3]
CRUD | SQL |
---|---|
생성 | INSERT |
읽기 | SELECT |
갱신 | UPDATE |
삭제 | DELETE |
관계형 데이터베이스는 소프트웨어 애플리케이션에서 일반적인 영속성 계층이지만, 이 외에도 수많은 영속성 계층이 존재한다. 예를 들어, CRUD 기능은 문서 데이터베이스, 객체 데이터베이스, XML 데이터베이스, 텍스트 파일 또는 바이너리 파일로 구현할 수 있다.
일부 빅 데이터 시스템은 UPDATE를 구현하지 않고 타임스탬프가 있는 INSERT(저널링)만 사용하여 객체의 새로운 버전을 매번 저장한다.
5. RESTful API
CRUD 약어는 RESTful API 논의에도 나타난다. CRUD의 각 문자는 HTTP (Hypertext Transfer Protocol) 메서드에 다음과 같이 매핑될 수 있다.
CRUD | HTTP |
---|---|
생성 (Create) | POST, PUT (id 또는 uuid가 없는 경우) |
읽기 (Read) | GET |
갱신 (Update) | PUT (교체), PATCH (수정) |
삭제 (Delete) | DELETE |
HTTP에서 GET (읽기), PUT (생성 및 갱신), POST (id 또는 uuid가 없는 경우 생성) 및 DELETE (삭제) 메서드는 사용자 에이전트가 대상 웹 리소스의 상태를 직접 조작할 수 있도록 하므로 CRUD 작업이다.[4] 반면에 POST 메서드는 일반적으로 CRUD 작업 범위를 초과하는, 대상 리소스에 특정한 의미를 가진 프로세스 작업이다.[5]
6. 사용자 인터페이스
CRUD는 대부분의 애플리케이션 사용자 인터페이스 수준에서도 관련이 있다. 예를 들어, 주소록 소프트웨어에서 기본 저장 단위는 개별적인 ''연락처 항목''이다. 최소한 소프트웨어는 사용자에게 다음을 허용해야 한다.[6]
- 새로운 항목을 추가하는 ''생성''
- 기존 항목을 검색, 조회 또는 보는 ''읽기''
- 기존 항목을 편집하는 ''수정''
- 기존 항목을 비활성화하거나 제거하는 ''삭제''
이러한 작업은 매우 기본적인 것이므로 종종 문서화되고 "연락처 관리" 또는 "문서 관리"와 같은 포괄적인 제목으로 설명된다.
7. 다른 변형
CRUD의 다른 변형은 다음과 같다.
- ABCD (추가, 탐색, 변경, 삭제)
- CRUDL (생성, 읽기, 갱신, 삭제, 목록)
- BREAD (탐색, 읽기, 편집, 추가, 삭제)
- DAVE (삭제, 추가, 보기, 편집)
- CRAP (생성, 복제, 추가, 처리)
CRUD 대신 다음과 같은 단어의 머리글자를 나열하거나 약어가 사용되는 경우도 있다.
참조
[1]
서적
Managing the Data-base Environment
https://archive.org/[...]
Prentice-Hall
[2]
서적
Managing the data-base environment
https://archive.org/[...]
Prentice-Hall
1983
[3]
웹사이트
CRUD operations explained: Create, read, update, delete
https://www.educativ[...]
2021-04-07
[4]
웹사이트
Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4
https://tools.ietf.o[...]
Internet Engineering Task Force (IETF)
2014-06
[5]
웹사이트
It is okay to use POST
https://roy.gbiv.com[...]
roy.gbiv.com
2009-03-20
[6]
서적
Programming for the Web - From Soup to Nuts - Implementing a Complete GIS Web Page
https://eng.libretex[...]
Gettysburg College
[7]
웹사이트
BREAD, not CRUD
http://paul-m-jones.[...]
[8]
서적
Beginning Django E-Commerce
https://books.google[...]
2010-06-21
[9]
뉴스
CRAP and CRUD: From Database to Datacloud - Direct2DellEMC
https://blog.dellemc[...]
2012-11-13
[10]
InfoWorld
REST and CRUD: the Impedance Mismatch
http://weblog.infowo[...]
InfoWorld
2007-01-29
[11]
간행물
From semantic to object-oriented data modeling
http://ieeexplore.ie[...]
1990
[12]
서적
Business Specifications: The Key to Successful Software Engineering
http://www.amazon.co[...]
Prentice Hall
1998
[13]
문서
트랜잭션(transaction) 분야에서 사용되는 ACID와는 다른 것이다. 혼동하기 쉬우므로 주의가 필요하다.
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com