[Spring Framework] 데이터베이스 작업

헛헛한꿔녀니·2024년 2월 14일

북스터디

목록 보기
4/4

이번에는 데이터 베이스를 생성하고 테이블 및 데이터를 입력하는 내용을 정리해보자.

4-1. 데이터베이스 생성

데이터베이스란?

  • 데이터를 보관하기 위한 '상자' 라고 할 수 있다.
  • 데이터베이스에서 데이터를 모을 때는 특정한 규칙을 적용해서 데이터를 정리해서 보관한다.

관계형 데이터베이스란?

  • 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스
  • 가장 일반적으로 사용되는 데이터베이스이고, 보통 RDB로 줄여서 부른다.

4-2. 테이블 생성

테이블이란?

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

레코드와 컬럼

  • 테이블의 가로 행을 레코드(record), 세로 열을 컬럼(column) 이라고 한다.
  • 하나의 컬럼은 데이터의 각 요소가 된다.

테이블 생성

CREATE TABLE [테이블명] ([컬럼명] [자료형타입] [제약조건] ... );
  • 제약 조건의 예
    • NOT NULL : NULL 입력을 허용하지 않는다.
    • UNIQUE : 중복값 입력을 허용하지 않는다.
    • CHECK : 지정한 조건을 만족하지 않는 값의 입력을 허용하지 않는다.
    • PRIMARY KEY : 테이블 안에서 레코드를 식별하는 기본 키를 설정한다. 기본 키는 NOT NULL 과 UNIQUE 가 함께 적용한다.
    • FOREIGN KEY : 관련된 테이블을 연결하는 설정. 외부 키라고도 부른다.
    • DEFAULT : 컬럼의 초깃값을 설정한다.

4-3. 데이터 입력

SQL 이란?

  • 데이터베이스를 조작하기 위한 언어
  • 정식 명칭은 Structured Query Language (구조화 질의어)

CRUD

  • 영속성으로 데이터를 취급하는 4개의 기본적인 기능인 Create, Read, Update, Delete
CRUD명령어개요구문
CreateINSERT데이터를 등록INSERT INTO [테이블명] ([칼럼명, 칼럼명, ...]) VALUES ([값, 값, ...]);
ReadSELECT데이터를 참조SELECT [칼럼명] FROM [테이블명];
UpdateUPDATE데이터를 갱신UPDATE [테이블명] SET [칼럼명] = [값] WEHRE [조건];
DeleteDELETE데이터를 삭제DELETE FROM [테이블명] WHERE [조건];
  • UPDATE와 DELETE의 WHERE 절은 없는 경우 모든 레코드가 대상이 된다.

4-4. 엔티티와 레포지토리 알아보기

엔티티란?

  • 데이터를 담아두는 객체
  • 데이터베이스 테이블의 레코드에 대응하는 객체, 엔티티의 필드는 테이블의 컬럼값에 대응한다.
/**
* Member 테이블 : 엔티티
*/
public class Member {
	/** id 컬럼 대응 **/
    private Integer id;
    /** name 컬럼 대응 **/
    private String name;
    
    public Integer getId() {
    	return id;
    }
    public void setId(Integer id) {
    	this.id = id;
    }
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name = name;
    }
}

레포지토리란?

  • 데이터베이스를 조작하는 클래스
  • 레포지토리를 생성하는 경우에는 반드시 인터페이스를 정의하고 구현해야 한다.
    이유는 레포지토리 인터페이스의 필드에 레포지토리 구현 클래스를 DI 하여 특정 구현에 의존하는 것을 피할 수 있기 때문
  • 자바에서는 인터페이스를 구현한 클래스의 접미사에 'Impl'을 붙이는 경우가 많다.

0개의 댓글