4. 데이터베이스 작업

LYS·2023년 6월 10일
0

[스프링 프레임워크 첫걸음] 책을 참고하여 글을 작성하였습니다.

데이터베이스 생성

데이터베이스(Database)데이터를 보관하기 위한 '상자'라고 하며, DB라고 부른다. 데이터베이스에서 데이터를 모을 때는 특정한 규칙을 적용해서 데이터를 정리해서 보관한다.

관계형 데이터베이스(Relational Database)데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스이며 테이블, 테이블과 테이블간의 관계관계라고 한다.
또한, 관계형 데이터베이스는 가장 일반적으로 사용되며 보통 RDB라고 불린다.

테이블 생성

테이블이란 데이터베이스 안에서 실제로 규칙을 가진 데이터가 저장되는 상자데이터를 항목으로 해서 이차원 표 형식으로 정리해서 저장한다.

테이블의 가로 행(row)레코드라고 하며, 하나의 레코드가 한 건의 데이터이다. 그리고 세로 행(column)칼럼이라고 하며, 하나의 칼럼은 데이터의 각 요소이다.

테이블을 생성할 때 테이블에 존재하는 데이터가 불일치 상태가 되지 않게 하는 규칙제약 조건이라 하며 NOT NULL, UNIQUE, CHECK, PRIMARY KEY, FOREIGN KEY, DEFAULT가 있다.

데이터 입력

SQL(Structured Query Language)데이터베이스를 조작하기 위한 언어이다.

CRUD영속적으로 데이터를 취급하는 4개의 기본적인 기능생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 머리글자를 따서 만든 단어로 SQL은 테이블 상의 레코드에 대해서 CRUD를 조작하는 구문을 제공한다.

SQL에서의 CRUD의 명령어
생성 -> INSERT : 데이터를 등록함
읽기 -> SELECT : 데이터를 참조함
갱신 -> UPDATE : 데이터를 갱신함
삭제 -> DELETE : 데이터를 삭제함

엔티티와 리포지토리 알아보기

엔티티(Entity)데이터를 담아두는 객체로 자세히 말하면 데이터베이스 테이블의 한 행(레코드)에 대응하는 객체이다. 엔티티의 필드는 테이블의 칼럼값에 대응한다.

리포지토리(Repository)데이터베이스를 조작하는 클래스이다. 리포지토리를 생성하는 경우 리포지토리 인터페이스의 필드에 리포지토리 구현 클래스를 DI하여 특정 구현에 의존하는 것을 피하기 위해 반드시 인터페이스를 정의하고 구현해야 한다.

스프링 데이터 JDBC 사용해보기

O/R 매퍼(Object-relational Mapper)애플리케이션에서 사용하는 O:'객체'와 R:'관계형 데이터베이스'의 데이터를 매핑하는 것이다. 미리 설정된 객체와 관계형 데이터베이스 간의 대응 관계 정보를 가지고 인터페이스의 데이터에 대응하는 테이블에 내보내거나 데이터베이스에서 값을 읽어 들여 인터페이스에 대입하는 작업을 자동으로 실행한다.

스프링 데이터 JDBCO/R 매퍼스프링 데이터가 제공하는 CrudRepository를 상속해서 자동으로 CRUD를 지원하는 메서드를 사용할 수 있다.

profile
백엔드

0개의 댓글