공부/데이터베이스 24

[데이터베이스] 트리거(trigger)

1. Trigger 트리거란? 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미한다. 트리거는 DML의 데이터 상태 관리를 자동화하는데 사용한다. 트리거를 사용하여 데이터 작업 제한, 작업 기록, 변경 작업 감사 등을 할 수 있다. 유형 행 트리거 : 테이블 안의 영향을 받은 행 각각에 실행된다. 변경 전 또는 변경 후의 행은 OLD, NEW라는 가상 row변수를 사용하여 읽을 수 있다. 문장 트리거 : INSERT, UPDATE, DELETE 문에 대해 한 번만 실행된다. 문법 create trigger mytrigger after insert on mytable for each row begin if ~ then ~ Insert into table_hist(col1,col2) values(..

[데이터베이스] 트랜잭션(transaction), locking

1. Transaction 트랜잭션이란? DB의 상태를 변화시키기 위해 수행하는 작업의 단위 트랜잭션의 특징(acid) ㅇ 원자성(atomicity) : 트랜잭션이 데이터베이스에 모두 반영되던가 전혀 반영되지 않아야 한다. ㅇ 일관성(consistency) : 트랜잭션의 작업 처리 결과가 일관적이어야 한다. ㅇ 독립성(isolation) : 둘 이상의 트랜잭션이 실행되고 있을 경우 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다. ㅇ 지속성(durability) : 트랜잭션이 성공적으로 완료됐을 경우, 결과는 영구적으로 반영되어야 한다. Commit, Rollback, Savepoint commit이란 하나의 트랜잭션이 성공적으로 끝났고, DB가 일관성있는 상태에 있을 때 하나의 트랜잭..

[데이터베이스] ORACLE vs MySQL

1. Oracle vs MySQL ㅇ 공백치환 함수 : 컬럼값이 null이면 다른 값으로 표시하는 함수 Oracle : select NVL( 컬럼명 , ‘ ‘ ) from mydb; MySQL : select IFNULL( 컬럼명 , ‘ ‘ ) from mydb; ㅇ 현재 날짜 함수 : Oracle : select SYSDATE from mydb; MySQL : select NOW() from mydb; ㅇ 날짜 포맷 변환 방법 : 날짜를 string 형식으로 변환할 때 to_char() vs date_format() Oracle : select to_char(reg_date, ‘YYYY-MM-DD HH:MI:SS’) from mydb; MySQL : select date_format(reg_date, ..