전체 글 (142) 썸네일형 리스트형 PROCEDURE(프로시저) / TRIGGER(트리거) 1.PROCEDURE = 저장 프로시저는 미리 데이터베이스 서버에 일련의 SQL 문을 만들어 두고 프로시저들을 수행하여 SQL 문을 간단히 실행 할 수 있게 고안한 것이다 SQL 문만 뿐만아니라 실행부에서 IF 문 WHILE 문 과 같은 제어문/반복문을 사용할 수 있기 때문에 절차형 프로그램이 가능 하게 된다 2.TRIGGER = 트리거는 테이블에 삽입/변경/삭제 와 같은(일반적으로 DML)이 들어 왔을 때 트리거가 설정되어 있으면 트리거 안의 SQL 이 자동으로 수행이 된다 이러한 기능을 사용하여 CRUD 연산에서 발생하는 모순을 방지한다 PROCEDURE TRIGGER CREATE PROCEDURE 문법 사용 CREATE TRIGGER 문법사용 생성하면 소스코드와 실행코드가 생성 생성하면 소스코드와 .. 절차형 SQL 일반적으로 RDBS 를 이루는 SQL 문장은 비절차적 문장이기 때문에 일반 개발 언어와 같이 절차 지향적인 프로그래밍이 가능하도록 DBMS 별로 각자의 절차형 SQL을 제공하고 있다 절차형 SQL 위와 같은 BLOCK 구조를 가진다 JOIN 에서 ON/USING/WHERE 의 차이 SQL 문장에서 JOIN을 작성할 때 ON/USING/WHERE 는 각각 아래와 같은 특징이 있다 1. ON : ON은 WHERE 와 다르게 칼럼명이 다르더라도 조인 저건을 사용 할 수 있으며 JOIN부를 명시하기 위해 주로 사 용한다 ON 은 JOIN 절보다 먼저 실행이 되기 떄문에 OUTER JOIN시 WHERE에 동등한 조건을 명시했을 때 결과가 다른 값이 추출 될 수 있다 2. USING : FROM 절에 하여 원하는 칼럼서 EQUI JOIN을 수행할 수 있다 JOIN의 종류와 방식(2/2) 4. CROSS JOIIN = PRODUCT의 개념과 같으며 테이블간 JOIN 이 없을 경우 생길 수 있는 모든 데이터의 조합을 말한다 1 2 3 SELECT ENAME, DNAME FROM EMP CROSS JOIN DEPT ORDER BY ENAME 만약 위의 쿼리 문에서 EMP 테이블과 DEPT 테이블이 각각 데이터를 N,M 개씩 가지고 있다고 가정을 한다면 CROSS JOIN 은 N*M 건의 데이터를 반환한다 5 OUTER JOIN(LEFT OUTER JOIN / RIGHT OUTER JOIN /FULL OUTER JOIN) = OUTER JOIN은 INNER JOIN 과 반대되는 개념으로 JOIN 조건에서 동일한 값이 없는 행만 반환할 떄 사용하는 JOIN 문장이다 Join 의 종류 및 방식(1/2) 1.EQUI JOIN(동등 조인) = 두 개의 테이블 간의 칼럼 값들이 로 정확하게 일치하는 경우세 사용하는 방법으로 대부분 PK - FK 관계극 기반으로 한다 join 조건은 주로 where 절에 기술이 되며 = 연산자로 표기한다 1 2 3 SELECT player.player_name , player.Back_no, player.Team_ID FROM PLAYER, TEAM where player.Team_ID = TEAM.Team_ID 2.INNER JOIN(내부 조인) = EUQI 조인과 같이 동일한 값이 있는 행만을 반환하는데 INNER JOIN 은 From 절에서 정의하기 떄문에 Using 조건 절이나 ON 조건절을 필수로 정의 해야 한다 1 2 3 SELECT EMP.DEPTNO, EMPNO.. 데이터 베이스 뷰(View)란? 테이블은 실제로 데이터를 가지고 있지만 뷰는 실제 데이터를 가지고 있지 않다 뷰는 단지 정의만을 가지고 있는데 이로인해 가상 테이블(virtual table)이라고도 한다 뷰의 장정 설명 독립성 데이블 구조가 변경 되어도 응용 프로그램은 변경 되지 않는다 편리성 복잡한 질의를 뷰를 생성하여 질의 단순 작성 가능 보안성 숨기고 싶은 정보가 있다면 해당 컬럼을 뺴고 생성해 정보를 감출 수 있음 view 생성 코드 1 2 create view [view 이름] select [원하느 컬럼 지정] 이전 1 ··· 15 16 17 18 다음