Spring 입문 1주차 (4)

신성훈·2024년 5월 17일

TIL

목록 보기
19/162
post-thumbnail

오늘의 학습 키워드

  • Database와 SQL
  • @Annotation

Database와 SQL

  • DBMS 는 ‘Database Management System’ 의 약자로 Database를 관리하고 운영하는 소프트웨어를 의미

  • RDBMS ‘Relational DBMS’의 약자로 관계형 데이터베이스 의미
    -테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있다.
    -테이블간 FK(Foreign Key)를 통해 다른 데이터를 조합해서 함께 볼수 있다라는 장점

  • SQL
    -'Structured Query Language’ 의 약자로 RDBMS에서 사용되는 언어

    • DDL -‘Data Definition Language’ 의 약자로 테이블이나 관계의 구조를 생성하는데 사용
      -CREATE : 새로운 데이터베이스 및 테이블을 생성
      -ALTER : 데이터베이스와 테이블의 내용을 수정
      -DROP : 데이터베이스와 테이블을 삭제 (데이터 및 테이블 전체를 삭제)
      -TRUNCATE : 데이터베이스와 테이블을 삭제 (최초 테이블이 만들어졌던 상태 즉, 컬럼값만 남김)
    • DCL - 'Data Control Language’ 의 약자로 데이터의 사용 권한을 관리하는데 사용
      -GRANT : 사용자 또는 ROLE에 대해 권한을 부여
      -REVOKE : 사용자 또는 ROLE에 부여한 권한을 회수
    • DML - ‘Data Manipulation Language’ 의 약자로 테이블에 데이터를 검색, 삽입, 수정, 삭제
      -INSERT : 테이블에 새로운 row를 추가
      -SELECT : 테이블의 row를 선택
      -UPDATE : 테이블의 row의 내용을 수정
      -DELETE : 테이블의 row를 삭제
  • CREATE

    • 제약조건
      -AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성
      -NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게함
      -UNIQUE : 해당 필드는 서로 다른 값을 가져야만 함
      -PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 함
      -FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장
      (FK 를 가지는 테이블이 참조하는 기준 테이블의 열은 반드시 PK, UNIQUE 제약조건이 설정해야함)
      -CASCADE : FOREIGN KEY 로 연관된 데이터를 삭제,변경할 수 있다.
  • JOIN은 나누어진 테이블을 하나로 합치기 위해 데이터베이스가 제공하는 기능
    -JOIN 은 ON 이라는 키워드를 통해 기준이 되는 컬럼을 선택하여 2개의 테이블을 합침
    -또는 테이블1컬럼1==테이블2컬럼1 형식으로 표현 가능함

  • JDBC
    -Java Database Connectivity로 DB에 접근할 수 있도록 Java에서 제공하는 API
    -DB의 JDBC 드라이버를 제공하면 DB 연결 로직을 변경할 필요없이 DB 변경이 가능
    -MySQL 드라이버를 사용해 DB에 연결을 하다 PostgreSQL 서버로 변경이 필요할 때 드라이버만 교체하면 손쉽게 DB 변경이 가능

  • JdbcTemplate
    -커넥션 연결, statement 준비 및 실행, 커넥션 종료 등의 반복적이고 중복되는 작업들을 대신 처리해주는 JdbcTemplate임
    -DB연결이 필요한 곳에서 JdbcTemplate을 주입받아와 사용
    -생성자의 파라미터를 통해 JdbcTemplate 객체가 자동으로 넘어와 jdbctemplate 변수에 저장
    -넣고자 하는 데이터 부분에 ?를 사용하면 유동적으로 데이터를 넣어줄 수 있다.

@Annotation

  • 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술

  • 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다.
    -meta data : 데이터를 위한 데이터

  • 애노테이션 사용 순서

    1. 애노테이션을 정의한다.
    2. 클래스에 애노테이션을 배치한다.
    3. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능을 실시한다.

📝오늘의 회고

여차저차 1주차가 지나갔다. 이제 한 번 들었지만 이해가 잘 가지 않는다.
시간이 너무 부족하다. 개인과제까지 해야하니 어떻게 시간이 흘러가는지 모르겠다.
오늘도! 쳐지지 말고 포기하지말고 힘내서 가보자고~~~

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글