본문 바로가기

dev

MySQL 날짜, 시간 관련 내용 정리 1. 날짜 및 시간 자료형자료형 범위 DATE 0000-00-00 ~ 9999-12-31 DATETIME 0000-00-00 00:00:00 ~ 9999-12-31 23:59:59 TIMESTAMP 1970-01-01 00:00:00 이후로 지난 초 TIME -838:59:59 ~ 838:59:59 YEAR 1901 ~ 2155 [tip] DATETIME vs TIMESTAMP- 공통점 : 저장 가능 데이터 형식 YYYY-MM-DD HH:MM:SS[.fraction] (fraction은 소수점 이하 초로, 소수점 6자리까지 가능)- 차이점 :- DATETIME : 입력되는 날짜와 시간을 그대로 저장(TIME_ZONE 개념 없음)- TIMESTAMP : TIME_ZONE값을 기본으로 하여 날짜와 시간정보를..
DECODE, CASE WHEN DECODE, CASE WHEN 둘 다 조건에 해당하는 값을 얻고자 할 때 사용(switch case 문 같은 기능) DECODEDECODE(expr, cond1, val1, cond2, val2 ..., default_val)SELECT DEPTNO, DECODE(DEPTNO, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 'NO_DEPT') DEPTNAMEFROM DEPT; CASE ~ WHEN ~ ENDCASE expr WHEN cond1 THEN val1WHEN cond2 THEN val2ELSE default_valENDSELECT DEPTNO,CASE DEPTNO WHEN 10 THEN 'ACCOUNTING'WHEN 20 THEN 'RESEARCH'WHEN..
Row chaining, Row migration Row chaining- Row에 저장된 데이터의 크기가 너무 커서, 하나의 블록에 다 담지 못하고 두 개 이상의 데이터 블록에 저장되는 것 Row migration- 수정한 데이터를 원래 블록에 저장하지 못하고 다른 블록에 저장하는 것 [참조]Row Chaining & Row Migration : https://tocsg.tistory.com/51
Rest API에서 로그인 구현 REST API에서는 서버가 session을 가지지 않습니다. 물론 REST API서버에도 session을 추가하여 사용할 수 있지만 이는 REST가 지향하는 바가 아닙니다. 대신 REST API는 토큰(token) 인증방식을 사용하게 됩니다.로그인 API로 아이디와 패스워드가 일치함이 확인되면 서버는 토큰을 발행하고, 로그인 후 이용가능한 API들에는 유효한 토큰이 있는 경우에만 사용할 수 있게 됩니다. 이때 토큰은 당연하게도 위조하기가 어려워야 하며 사용자를 인식할 수 있는 정보가 들어있어야 합니다. 이 포스팅에서는 JWT(JSON Web Token, http://jwt.io) package를 사용해서 토큰을 생성하고 확인하겠습니다. [출처] https://www.a-mean-blog.com/ko/b..
SQL 실행 순서 정리 FROM (JOIN, ON) WHERE GROUP BY ----------- 여기서부터 집계함수 사용 가능 (WHERE 절 집계함수 사용 불가!!) HAVING SELECT ORDER BY
DB 함수 모음 LPAD, RPAD (left/right padding)- LPAD(삽입할문자, padding 길이, [패딩에 입력할 문자])ex) LPAD('A', 3) : __A (_는 공백)ex2) LPAD('A',3,'B') : BBA
엔터티, 속성, 식별자의 분류 엔터티 분류 1. 유/무형에 따른 분류- 유형 엔티티 : 업무에서 도출되며 지속적으로 사용되는 엔터티 ex) 고객- 개념 엔티티 : 물리적 형태가 없는 개념적 엔터티 ex) 보험상품- 사건 엔티티 : 비즈니스 프로세스에서 생성되는 엔티티 ex) 계약체결 2. 발생시점에 따른 분류- 기본 엔티티(키 엔티티) : 독립적으로 생성되는 엔티티 ex) 고객- 중심 엔티티 : 기본 엔티티에서 발생하며 행위 엔티티를 생성 ex) 주문- 행위 엔티티 : 두개 이상의 엔티티 사이의 상호작용에서 발생 ex) 주문 이력 속성 분류 1. 분해여부에 따른 분류- 단일속성 : 하나의 의미로 구성된 속성- 복합 속성 : 여러 개의 의미가 합쳐져 하나의 속성값을 이룬다 ex) 주소- 다중값 속성 : 여러 값을 가지는 속성을 말한다...
SQL 최적화(옵티마이저, 인덱스) SQL의 실행 절차Parsing ▶ Execution plan 수립 ▶ SQL 실행 ▶ fetch옵티마이저의 역할- SQL에 대한 실행 계획(Execution plan)을 수립- PLAN_TABLE에 실행 계획을 저장한다. 옵티마이저 분류1. 규칙 기반 옵티마이저- 설정된 규칙에 따라 실행- 옵티마이저 힌트를 /*+RULE*/ 로 주면 규칙 기반 옵티마이저를 실행한다. 2. 비용 기반 옵티마이저- 일반적으로 사용되는 옵티마이저- 통계정보를 활용해 최적의 실행계획을 수립(총 비용이 적은 쪽으로 옵티마이징) 옵티마이저 조인1. Nested loop 조인- 하나의 테이블(외부 테이블)에서 데이터를 찾고 -> 다음 테이블(내부 테이블)을 조인하는 방식- 크기가 작은 것이 외부 테이블로 사용된다. (RANDOM ..