04장. 데이터베이스 작업

정빈·2023년 6월 11일
0

1. DB 생성

  • 데이터베이스란?
    -데이터를 보관하기 위한 '상자'
    -특정한 규칙을 적용해서 데이터를 정리해서 보관
  • 관계형 데이터베이스(RDB)란?
    -데이터를 표(Table) 형식으로 표현, 여러 표에서 항목의 값 사이에 관계(Relationship)를 맺고 있는 데이터베이스

2. 테이블 생성

  • 테이블이란?
    -데이터베이스 안에서 실제로 규칙을 가진 데이터가 저장되는 상자
    -데이터를 항목으로 이차원 표 형식으로 정리해서 저장
  • 레코드와 칼럼
    -레코드: 테이블의 가로 행, 한 건의 데이터
    -칼럼: 테이블의 세로 열, 데이터의 각 요소
  • 제약조건
제약조건개요
NOT NULLNULL의 입력을 허용하지 않음
UNIQUE중복값 입력을 허용하지 않음
CHECK지정한 조건을 만족하지 않는 값의 입력을 허용하지 않음
PRIMARY KEY테이블 안에서 레코드를 식별하는 기본키를 설정, NOT NULL과 UNIQUE가 함께 적용
FOREIGN KEY관련된 테이블을 연결하는 설정, 외부 키
DEFAULT칼럼의 초깃값을 설정

3. 데이터 입력

  • SQL(Structured Query Language)이란?
    -DB를 조작하기 위한 언어

  • CRUD

    CRUD명령어개요구문
    생성(Create)INSERT데이터 등록INSERT INTO 테이블명 (칼럼명, 칼럼명, ... ) VALUES(값, 값, ... );
    읽기(Read)SELECT데이터 참조SELECT 칼럼명 FROM 테이블명;
    갱신(Update)UPDATE데이터 갱신UPDATE 테이블명 SET 칼럼명 = 값 WHERE 조건;
    삭제(Delete)DELETE데이터 삭제DELETE FROM 테이블명 WHERE 조건;

4. 엔티티와 리포지토리

  • 엔티티란?
    -데이터를 담아두는 객체
    -데이터베이스 테이블의 한 행(레코드)에 대응하는 객체
    -엔티티의 필드는 테이블의 칼럼값에 대응
  • 리포지토리란?
    -데이터베이스를 조작하는 클래스
    -리포지토리를 생성하는 경우에는 반드시 인터페이스를 정의하고 구현해야함
    -리포지토리 인터페이스의 필드에 리포지토리 구현 클래스를 DI하여 특정 구현에 의존하는 것을 피할 수 있기 때문

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

  • O/R 매퍼란?
    -애플리케이션에서 사용하는 O(Object):"객체"와 R(Relational):"관계형 데이터베이스"의 데이터를 매핑하는 것

    • 미리 설정된 객체와 관계형 데이터베이스 간의 대응 관계 정보를 가지고 인터페이스의 데이터에 대응하는 테이블에 보내거나 데이터베이스에서 값을 읽어 들여 인터페이스에 대입하는 작업을 자동으로 실행해준다.
  • 스프링 데이터 JDBC란?
    -O/R 매퍼로서 스프링 데이터가 제공하는 CrudRepository를 상속해서 자동으로 CRUD를 지원하는 메서드를 사용 가능

0개의 댓글