본문 바로가기

전체 글32

정규형(Normal Form) 요약 제 1 정규형 (1NF, First Normal Form) 각 컬럼은 하나의 속성을 가져야 한다 (atomic value, no multi-valued attributes) 각 컬럼은 유일한 이름을 가져야 한다 (each column should have unique name) 제 2 정규형 (2NF, Second Normal Form) 모든 컬럼은 부분적 종속이 없어야 한다 (no particial dependencies) 제 3 정규형 (3NF, Thrid Normal Form) 기본 키를 제외한 속성들간 이행 종속성이 없어야 한다 (no transitive dependencies) BCNF, Boyce-Codd Normal Form 모든 결정자는 항상 후보키가 되도록 한다(each non-key a.. 2023. 9. 7.
INSERT ALL과 INSERT FIRST 공통점 서브쿼리가 필요하다. 차이점 INSERT ALL INSERT FIRST 조건절의 결과가 다른 조건절의 결과에 영향을 주지 않는다. 조건절의 결과가 다른 조건절의 결과에 영향을 준다. 어떤 WHEN절에 상관없이 다음 WHEN절을 판단한다. 첫 WHEN절에 만족하면 다음 WHEN절로 넘어가지 않는다. INSERT ALL -- ALL이나 FIRST이나 FORM은 똑같다. WHEN 조건1 THEN INTO 테이블1 VALUES (C1, C2, C3) WHEN 조건2 THEN INTO 테이블2 VALUES (C1, C2, C3) WHEN 조건3 THEN INTO 테이블3 VALUES (C1, C2, C3) ELSE INTO 테이블4 VALUES (C1, C2, C3) SELECT C1, C2, C3 FRO.. 2023. 9. 6.
External Table - DB 외부에 있는 data를 조작하기 위한 가상 테이블이다. - External Table의 실제 data는 DB 외부에 있지만, metadata는 DB 내부에 있다. - SELECT, JOIN, SORT, VIEW, SYNONYM 사용가능 - UPDATE, INSERT, DELETE, INDEX 사용불가 - ANALYZE문이 아닌 DBMS_STATS 패키지를 사용하여 통계 수집 External Table Access Drivers - ORACLE_LOADER: 기본 액세스 드라이버, Oracle Loader 기술을 사용하여 외부 파일의 데이터를 읽을 수 있다. - ORACLE_DATAPUMP: 데이터를 언로드한 후 다시 로드할 수 있다. * 언로드: DB에서 데이터를 읽은 후 하나 이상의 외부 파일.. 2023. 9. 6.
ORDER BY와 UNION 동시에 사용 - ORDER BY절은 복합쿼리문의 제일 끝에 한번만 사용할 수 있다. - 각각의 쿼리문은 개별 ORDER BY절을 가질수 없다. 즉 UNION 결과에 대한 정렬만 가능하다. SELECT C1, C2 FROM 테이블 WHERE 조건1 -- ORDER BY절을 쓰면 안되는자리 UNION SELECT C1, C2 FROM 테이블 WHERE 조건2 ORDER BY C1, C2 - 복합쿼리문에서 ORDER BY절은 오직 첫 SELECT 쿼리문의 컬럼만 인지한다. SELECT C1 AS A, C2 AS AA FROM 테이블 WHERE 조건 UNION SELECT C1 AS B, C2 AS BB FROM 테이블 WHERE 조건 -- ORDER BY B,BB 잘못된 예시 /* - 두번째 SELECT문의 컬럼 ALIA.. 2023. 9. 6.
[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기 답 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, DECODE(STATUS,'SALE','판매중','RESERVED','예약중','DONE','거래완료') AS STATUS FROM USED_GOODS_BOARD WHERE TO_CHAR(CREATED_DATE,'YYYY-MM-DD') = '2022-10-05' ORDER BY BOARD_ID DESC 1. 2022년 10월 5일에 등록된 게시물 - 날짜형태를 문자열 형태로 변경하여 비교한다. WHERE TO _CHAR(CREATED_DATE,'YYYY-MM-DD') = '2022-10-05' 2. 게시판 ID 내림차순 정렬 ORDER BY BOARD_ID DESC 3. 상태값에 따른 대체 용어 출력하기 - DECODE를 이용.. 2023. 6. 23.
[프로그래머스] 역순 정렬하기 답 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 1. 역순 정렬 - ORDER BY ANIMAL_ID DESC 2023. 6. 23.