🤝 활동/내배캠TIL

[내일배움캠프 21일차 TIL] 3 Layer Architecture와 SQL

MNY 2024. 5. 16. 11:02
728x90
반응형
오늘의 진도 : Spring 입문주차 2주차 2-2 역할분리하기까지...

열심히 들었는데도 강의는 산더미.. 너무 좋다ㅠ
오늘의 학습, 오늘의/지난 날의 궁금증, 코드카타, 오늘의 회고 이렇게 6개의 큰 틀로 나누어 정리할 것이다.

 

💡 오늘의 학습 키워드

- Spring 입문주차 2주차 -
DTO
SQL
CREATE 제약조건
3 Layer Architecture 

- 코드카타 : SQL -
날짜 데이터 일부만 추출
IFNULL 사용하기


 

DTO(Data Transfer Object)

: 데이터 전송 및 이동을 위해 생성되는 객체

 

SQL(Structured Query Language)

: RDBMS에서 사용되는 언어 / Database에서 조작하고 관리하기 위해서는 SQL 언어를 사용

  • DDL(Data Definition Language)?
    • 테이블이나 관계의 구조를 생성하는데 사용
    • CREATE, ALTER, DROP, TRUNCATE
  • DCL(Data Control Language)?
    • 데이터의 사용 권한을 관리하는데 사용
    • GRANT, REVOKE
  • DML(Data Mnipulation Language)?
    • 테이블에 데이터를 검색, 삽입, 수정 삭제하는데 사용
    • INSERT, SELECT, UPDATE, DELETE

 

CREATE 제약조건

  • AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성
  • NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 된다.
  • UNIQUE : 해당 필드는 서로 다른 값을 가져야만 한다.
  • PRIMARY KEY : 하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장
  • CASCADE : FOREIGN KEY로 연관된 데이터를 삭제, 변경 할 수 있다.

 

3 Layer Architecture

  • Controller
  • Service
  • Repository

 

날짜 데이터 일부만 추출

  • YEAR : 연도
  • MONTH : 월
  • DAY : 일(DAYOFMONTH와 같은 함수)
  • HOUR : 시
  • MINUTE : 분
  • SECOND : 초
SELECT HOUR(DATETIME) AS HOUR FROM DATETABLE

 

* 참고한 블로그

 

[MySQL] DATETIME 가공하기

* 날짜 데이터에서 일부만을 추출하기 YEAR : 연도 MONTH : 월 DAY : 일 (DAYOFMONTH와 같은 함수) HOUR : 시 MINUTE : 분 SECOND : 초 SELECT HOUR(DATETIME) AS HOUR FROM DATETABLE * 원하는 포맷으로 바꾸기 DATE_FORMAT SELECT DAT

selgii.tistory.com

 

IFNULL 사용하기

: column의 값이 null을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수

SELECT IFNULL(column명, "NULL일 경우 대체 값") FROM 테이블명;

 


오늘의 궁금증

  • Q :  JDBC 이란?
  • Q : ORM 이란?

 

지난 날의 궁금증

  • 아직 찾아보지 못 한 궁금증(더보기 ..Click!)
더보기
  • Q : 참조는 reference인데 자바는 call by value로만 동작하는 것 아닌가?
  • Q : wrapper클래스.. 그래서 무슨 기능들을 가지고 있는데?
  • Q : Object.equals와 str.equals의 차이? // 요건 공식 문서를 찾아봐야겠어..

 


코드 카타

* 프로그래머스로 진행

 

  • 알고리즘
    • 행렬의 덧셈
  • SQL
    • 고양이와 개는 몇 마리 있을까
    • 입양 시각 구하기(1)
    • 진료과별 총 예약 횟수 출력하기
    • 12세 이하인 여자 환자 목록 출력하기

 


오늘의 회고

  • 12시간 중 얼마나 몰입했는가?

진짜 열심히 강의 들었는데 아직 한참 남았다..

 

  • 오늘의 생각

이번주가 진짜 힘든 것 같다..

언제 강의 다 듣고 과제 제출해.. 공휴일은 제외하고 일정을 잡아야지..

공휴일에 공부해도 과제 제출 못 하겠는데ㅠ

 

  • 내일 학습할 것은 무엇인지

열심히 강의 듣기...

728x90
반응형