BackEnd

[BackEnd] 데이터베이스와 CRUD

hej090224 2025. 6. 16. 16:00

DB란?

DB는 정보를 체계적으로 저장하고 관리하는 공간으로, 도서관에 비유할 수 있습니다. 도서관에서 책을 제목, 저자, 분류별로 정리해두는 것 처럼 DB는 데이터를 테이블과 컬럼 형태로 정리해 필요한 정보를 쉽게 찾을 수 있도록 합니다. 사용자는 프로그램을 통해 데이터를 입력하거나 검색하고, 수정하거나 삭제할 수 있으며, DB는 이를 빠르고 안정적으로 처리하는 역할을 합니다. 이렇게 DB는 소중한 데이터를 보관하고 활용하는 데 있어 핵심적인 역할을 하게되며 특히 여러 사람이 동시에 정보를 다뤄야 하는 웹 서비스나 애플리케이션등의 백엔드를 개발하는데 꼭 필요한 핵심 요소 중 하나입니다.

 

DB의 종류

제가 공부한 DB는 두가지 입니다. 우선 전공동아리 게시판 CRUD 과제를 만들며 가장 처음에 사용해본 H2 database와 그 후에 사용하게 된 MySQL이 있습니다. DB에는 크게 두 종류로 나뉘어져 있습니다. 제가 공부한 H2 databse와 MySQL, PostgreSQL, Oracle 등이 있는 관계형 DB 즉, RDBMS와 MongoDB가 대표적인 예인 NoSQL DB가 있습니다.

원래 저는 전공동아리 과제를 하며 처음엔 H2 database를 사용했습니다. 하지만 전공동아리에서 제 과제를 보신 선배가 H2 database는 아무도 사용하지 않는 DB이다. 되도록이면 MySQL로 바꿔라 라고 하셨습니다. 저는 그 이후 MySQL을 설치해서 Spring과 연결해보고 H2 database와 MySQL은 어떤 차이고 있고 Spring 안에서 어떤 흐름으로 실행되는지 공부 해 보았습니다. 

 

H2 database

H2 database는 관계형 DB입니다. 주로 사용되는 목적은 개발을 하는 중이거나 테스트를 할 때 주로 사용되게 됩니다. 데이터를 저장하는 방식은 데이터를 메모리 또는 파일에 저장하는 방식을 사용하는 DB입니다. 주로 로컬 환경에서 개발 할 때나 테스트 단계에서 운영되게 됩니다. 장점으로는 설정이 간단하고 실행이 빠르다는 점이 있고, 단점으로는 메모리 모드를 사용하기 때문에 재시작 시 데이터가 사라질 수 있습니다.

 

MySQL

MySQL도 관계형 DB입니다. 주로 실사용 서비스용으로 사용하게 되고, 메모리가 아닌 실제 디스크에 데이터를 저장하는 방식을 사용합니다. 속도가 다소 느릴 수 있다는 특징이 있으며 실제로 운영되는 서버에서 대부분 MySQL을 운영합니다. 장점으로는 안정성이 높아 널리 사용되고 단점으로는 설정이 복잡해서 처음 사용할 때 어려움이 있을 수 있습니다. 

 

Spring에서의 DB

Spring에서는 주로 관계형 DB를 사용합니다. 또한 DB와의 연결과 작업을 쉽게 할 수 있도록 여러가지 기능을 제공하게 되는데 그 역할을 CRUD라고 부르게 됩니다. 제가 만든 게시판 CRUD를 기준으로 설명하겠습니다.

Create (데이터 저장)

사용자가 입력한 데이터를 DB에 저장하는 기능입니다. 예를 들어 새로운 게시글을 등록하는 기능이 있습니다.

위 사진은 제가 만든 CRUD를 postman으로 테스트 해보는 화면 입니다.
메서드를 post로 맞춰주고 정보를 입력하니 DB에 id: 12로 제가 입력한 값이 저장 된 걸 볼 수 있습니다.

Road (데이터 조회)

DB에 저장된 데이터 중, 필요한 데이터를 불러오는 기능입니다. 예를 들어 게시글 목록을 보거나 특정 글을 보는 기능이 이에 해당됩니다.

get 메서드로 바꾸니 DB에 있는 모든 데이터가 출력되고

id 값 12를 입력해주니 id 값 12에 저장되어있는 특정 데이터만 출력되는 모습을 볼 수 있습니당

 

Update (데이터 수정)

기존 데이터를 수정하는 기능 입니다. 예를 들어 전에 썼던 게시글의 내용을 수정하는 기능이 이 기능에 해당됩니다.

put 메서드로 바꾸고 id 값 12를 입력 해 주니, id값 12에 저장된 데이터가 내가 입력한 값으로 바뀌어서 DB에 보이고 출력되는 것을 볼 수 있습니다.

Delete (데이터 삭제)

DB에서 기존에 있던 데이터를 삭제하는 기능 입니다. 이전에 썼던 게시글을 삭제하는 기능이 이 기능 입니다.

메서드를 delete로 맞춰주고 id 값 12를 입력하니 DB에서 id 값 12에 저장된 데이터가 완전히 사라진것을 볼 수 있습니다.

 

이 대표적인 네가지 기능을 CRUD라고 부르게 됩니다.

이상으로 블로그를 마치겠습니다. 감사합니다.