SQL

(SQL 문법) 뷰, 시퀀스, 인덱스

choisanghyun 2022. 1. 5. 21:47
728x90

뷰(view) : 하나 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블
가상 테이블을 통해서 데이터 보안 관리나 안정성 확보 용이

CREATE VIEW ED_VIEW1  --단일뷰
AS (SELECT * FROM EMP);

CREATE or replace VIEW ED_VIEW2  --복합뷰
AS (SELECT E.EMPNO, E.ENAME, D.DNAME, D.DEPTNO 
    FROM EMP E, DEPT D 
    where e.deptno=d.deptno);

    
SELECT * FROM ED_VIEW2;

UPDATE ED_VIEW2
SET ENAME='SMITH99'
where ENAME='SMITH';

SELECT * FROM EMP; --뷰를 만들기 위해 사용된 원본 테이블에 변경이 가해진다.

시퀀스

시퀀스 == 번호표 == PK용도로 주로 사용
CREATE SEQUENCE UU_SEQ 
    START WITH 1 
    increment by 1;

CREATE SEQUENCE UU2_SEQ 
    START WITH 1 
    INCREMENT BY 1;

SELECT UU_SEQ.NEXTVAL FROM DUAL;
SELECT UU2_SEQ.NEXTVAL FROM DUAL;
SELECT UU_SEQ.CURRVAL FROM DUAL;

CREATE TABLE UU(NUM NUMBER, USERID VARCHAR2(20));
CREATE TABLE UU2(NUM NUMBER, USERID VARCHAR2(20));

INSERT INTO UU VALUES(UU_SEQ.NEXTVAL ,'kim');
SELECT * FROM UU;
INSERT INTO UU2 VALUES(UU2_SEQ.NEXTVAL ,'kim');
select * from uu2;

인덱스

인덱스 == 빛의속도의 검색
drop index idx_emp_nm;
create index idx_emp_nm on emp(ename);

SELECT * FROM EMP
where ename = 'ALLEN';

FINAN_SALES_DETD01_JOB0215_202105_MALL02_VENCH_USER_DAILY_POINT

UV_06