2021년 12월 22일 수요일
프롤로그
VIEW, INDEX, SYNONYM, SEQUENCE, 데이터사전에 대해서 정리해보도록 하겠습니다.
<예제>
1) 판매가격이 20,000원 이상인 도서의 도서번호, 도서이름, 고객이름, 출판사, 판매가격을 보여주는 highorders 뷰를 생성하시오.
CREATE OR REPLACE VIEW vw_highorders
AS SELECT b.bookid, b.bookname, c.name, b.publisher, o.saleprice
FROM book b, orders o, customer c
WHERE b.bookid = o.bookid
AND o.custid = c.custid
AND o.saleprice >= 20000;
2) 생성한 뷰를 이용하여 판매된 도서의 이름과 고객의 이름을 출력하는 SQL 문을 작성하시오.
SELECT bookname, name
FROM vw_highorders;
CREATE INDEX ix_book_bookname ON book(bookname);
ALTER INDEX ix_book_bookname REBUILD;
DROP INDEX ix_book_bookname;
CREATE OR REPLACE SYNONYM 별칭 FOR 별칭을 넣고자하는 계정의 테이블
EX) CREATE OR REPLACE SYNONYM emp FOR scott.emp;
CREATE SEQUENCE seq_book_bookid
INCREMENT BY 1 -- 증감 숫자
START WITH 1 -- 시작 숫자
NOMINVALUE -- 최소값 지정 (NO는 지정하지 않겠다)
NOMAXVALUE -- 최대값 지정 (NO는 지정하지 않겠다)
NOCYCLE
-- CYCLE : 최대값이 넘어가면 최소값부터 시작하게 만들어줌
-- NOCYCLE : 최대값이 넘어가면 최소값부터 시작하게 만들어줌
NOCACHE; -- 임시저장소에 저장하는 시퀀스 번호
DBA_ : DB 전체에 포함되는 모든 객체에 대한 자세한 정보
ALL_ : 자신이 생성한 객체와 다른 사용자가 만든 객체중에서 자신이 볼 수 있는 정보
USER_ : 자신이 생성한 모든 객체에 대한 정보
V$_ : DB의 성능 분석/통계 정보를 제공하며 X$ 테이블에 대한 뷰
X$_ : DB의 성능 분석/통계 정보를 제공하는 테이블