database/oracle 54

Procedure, Function & Package 개념

- PL/SQL은 Database 내에서 절차적인(Procedural) 처리를 할 수 있도록 지원하는 3GL 언어이다. - Procedure와 Function 은 PL/SQL, java, C 등을 이용하여 작성 - Procedure는 실행 결과를 리턴하지 않고 - Function 은 실행결과를 리턴한다. - Package는 관련된 Procedure와 Function들의 묶음이다. - Package는 Header 부분과 Body 부분으로 구성되어진다. - Business Logic을 Stored Procedure 내에 두면 Application 수정없이 System을 변경 할 수 있고(유연성) Performance를 향상 시킬 수 있다.

database/oracle 2012.03.22

Synonym

Synonym이란 : 동의어다. - 객체 이름을 단순화 시켜주는 객체 - Table, view, procedure, trigger 등 객체에 대한 다른 이름을 제공 - 사용자에게 위치 투명성 제공 CREATE synonym e for emp ; select * from e; connect system/manager; select * from scott.emp; // 이걸 알릴 필요 없을 경우 create synonym e for scott.emp; select * from e; drop synonym; - synonym와 관련 dictionary SELECT synonym_name, table_owner, table_name FROM user_synonyms;

database/oracle 2012.03.22

Sequence

Sequence - 자동적으로 순차적인 번호를 생성하고자 할 때 사용 : max 함수 쓰면 퍼퍼먼스, 락 문제가 발생한다. Sequence 사용하면 문제를 해결 - Table에 종속적이지 않음 - 기본 키를 생성할 때 주로 사용 - 메모리에 캐시 형태로 존재하면 Access 효율성을 높일 수 있음 - SEQUENCE 생성 CREATE SEQUENCE empno_seq INCREMENT BY 1 START WITH 1000 MAXVALUE 9999 NOCYCLE CACHE 10; - SEQUENCE 변경 ALTER SEQUENCE empno_seq CYCLE CACHE 20; - SEQUENCE 삭제 DROP SEQUENCE empno_seq; - 사용 INSERT INTO emp (empno, ename..

database/oracle 2012.03.22

사용편의, 수행속도향상, 융통성 있는 View

- 사용편의를 위한 View CREATE VIEW v_emp_complex AS SELECT empno, ename, deptno, hiredate FROM emp WHERE (sal*comm) + 12 > 20000 AND deptno = 30 AND job = 'SALESMAN' AND sysdate - 365 + 10 > hiredate; SELECT * FROM v_emp_complex; - 한글 View CREATE VIEW 사원(사번, 성명, 부서번호, 입사일) AS SELECT empno, ename, deptno, hiredate FROM emp WHERE deptno = 30 - 수행속도 향상을 위한 View - 제일 큰 값을 구하여라! - HINT를 사용하였음 : 옵티미아저에게 힌트를 ..

database/oracle 2012.03.21

보안관리를 위한 View

- 함수로 가공된 view는 인서트 업데이트가 안된다. CREATE VIEW v_emp (empno, ename, job, mgr, hiredate, deptno) AS SELECT NVL(empno, null), ename, job, mgr, NVL(hiredate, null), deptno FROM emp WHERE job = 'MANAGER'; - 연산결과만 제공하고 알고리즘을 숨긴다. CREATE VIEW v_emp (empno, ename, annual_sal) AS SELECT empno, ename, (sal + NVL(comm,0))+12 annual_sal FROM emp; - VIew 자체를 read only로 만든다. CREATE VIEW v_emp (empno, ename, annu..

database/oracle 2012.03.21