데이터베이스 3

DB virtual table (데이터베이스 가상 테이블)

1. 가상 테이블 - 트랜잭션이 끝나거나 세션이 끝나는 시점에 초기화된다. - 다른 사용자와 테이블 공유가 불가능하다. - ON COMMIT DELETE ROWS : 커밋되면 모두 삭제되는 옵션 - ON COMMIT PRESERVE ROWS : 세션이 종료되어야 테이블의 데이터가 삭제 CREATE GLOBAL TEMPORARY TABLE TEMP01 ( NO NUMBER, NAME VARCHAR2(10) ) ON COMMIT DELETE ROWS; 2. 테이블 모든 컬럼 복사해서 생성하기 CREATE TABLE DEPT3 AS SELECT *FROM DEPT2; 3. 테이블 특정 컬럼 복사해서 생성하기 CREATE TABLE DEPT4 AS SELECT DCODE, DNAME FROM DEPT2; 4. ..

DB View (데이터베이스 뷰)

1. View 생성 CREATE OR REPLACE VIEW V_PROF AS SELECT PROFNO, NAME, EMAIL, HPAGE FROM PROFESSOR; 2. Join으로 View 생성 CREATE OR REPLACE VIEW V_PROF_DEPT AS SELECT P.PROFNO "교수", P.NAME "교수명", D.DNAME "소속학과명" FROM PROFESSOR P, DEPARTMENT D WHERE P.DEPTNO = D.DEPTNO; 3. inline View SELECT D.DNAME "학과명", S.MAX_HEIGHT "최대키", S.MAX_WEIGHT "최대 몸무게" FROM (SELECT DEPTNO1, MAX(HEIGHT) MAX_HEIGHT, MAX(WEIGHT) M..

DB index(데이터베이스 인덱스)

1. UNIQUE INDEX - 중복 값이 입력될 경우 에러가 발생합니다. CREATE UNIQUE INDEX IDX_DEPT2_DNAME ON DEPT2(DNAME ASC); 2. NON UNIQUE INDEX - 중복 값 입력이 가능합니다. CREATE INDEX IDX_PROF_POSITION ON PROFESSOR(POSITION DESC); 3. FUNCTION BASED INDEX - WHERE 절에 오는 조건 컬럼에서 PAY + 100 같은 연산으로 조건을 사용할 때 사용합니다. (이 방식은 임시 해결책입니다.) CREATE INDEX IDX_PROF_PAY_FBI ON PROFESSOR(PAY + 100); 4. DESCENDING INDEX - 계좌 조회 같은 주로 최근 날짜부터 검색을 ..