목록데이터베이스/SQL (5)
매일 매일 미라클 코딩
모델링의 특징 1) 추상화 2) 단순화 3) 정확화 -> 모델링은 단지 시스템 구현만을 위한 것이 아니라, 그를 포함한 업무분석 및 업무 형상화를 하는 목적도 있음 데이터 모델링시 유의사항 1) 중복 : 데이터베이스가 여러장소에 같은 정보를 저장하지 않도록 한다 2) 비유연성 : 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 그러므로 프로세스와 데이터 정의를 분리하여, 프로세스의 작은 변화가 데이터에 (혹은 데이터의 변화가 애플리케이션에) 중대한 변화를 일으킬 수 있는 변화를 줄인다. 3) 비일관성 : 프로세스와 테이블의 연계성을 높일 경우 데이터 수정시 다른 데이터와의 모순이 발생할 수 있다. 때문에 데이터를 모델링할 때 데이터와 데이터간의 상호 연관관계에..
DECODE: if else 문과 같은 기능을 수행하는 함수 ex) DECODE( 컬럼명, '조건1', '결과1', '조건2', '결과2', .... , 해당조건 없을 때 결과[ELSE - 생략가능]) # decode 함수 예시 SELECT emp_cd, DECODE(edmp_cd, 'A', '사원' ,'B', '선임' ,'C', '책임' ,NULL) as emp_job FROM emp_table; CASE WHEN - CASE WHEN 조건 THEN 결과 ELSE 결과 END - 꼭 END 문으로 종료되어야하며, 조건 사이에 컴마(,) 는 들어가지 않음 - 결과에 NULL 이 들어갈 수 없음 # CASE WHEN 문 예시 SELECT emp_cd , CASE WHEN emp_cd = 'A' THEN '..
MERGE INTO 절은 대상테이블에 기준테이블의 특정 키에 해당하는 데이터가 있으면 UPDATE, 없으면 INSERT 할 수 있는 구문 → SEARCH , INSERT, UPDATE 를 하나로 묶은 기능 사용예 MERGE INTO target_table TT --대상테이블 USING ( -- 기준테이블 SELECT col1, col2, col3 FROM source_table ) ST ON ( -- 대상 테이블에서 기준테이블과 비교할 키 TT.col1 = ST.col1 ) --대상테이블에 내가 가진 키가 있을때 UPDATE WHEN MATCHED THEN ( UPDATE SET TT.col2 = ST.col2 ) -- 대상테이블에 내가 가진 키 없을 때 데이터 추가 INSERT WHEN NOT MATC..
DROP 은 테이블을 삭제, TRUNCATE 는 테이블에 저장된 데이터를 모두 삭제하는 명령 ROLLBACK 은 SELECT, INESRT, UPDATE, DELETE 에서만 가능하다. DROP (테이블삭제) - 오라클 10g 이상부터는 recyclebin 을 통해 삭제된 테이블을 복구할 수 있다고 함 SHOW RECYCLEBIN; --삭제된 테이블이 저장된 RECYCLEBIN 확인 FLASHBACK TABLE 삭제된테이블명 TO BEFORE DROP; -- RECYCLEBIN 내 삭제된 테이블을 복원하기 PURGE RECYCLEBIN; -- RECYCLEBIN 을 삭제하기 DROP 테이블명 PURGE; -- RECYCLEBIN 에 저장되지 않게 영구 삭제해버리기 TRUNCATE (저장공간 삭제) - R..