데이터모델링-프로시저
▶프로시저? (Procedure)
- SQL문을 컴파일하여, 서버의 데이터베이스에 저장합니다.
- 프로그래밍에서, 프로시저는 루틴 이나, 서브루틴 및 함수 와 같은 뜻입니다. 하나의 프로시저는 특정 작업을 수행하기 위한 프로그램 의 일부입니다. 일반적인 의미의 프로시저란, 어떤 행동을 수행하기 위한 일련의 작업 순서를 말합니다. 출처 : 텀즈(http://www.terms.co.kr/procedure.htm)
- 서버에 내장되는 함수이며, 반복적으로 발생되는 쿼리를 함수화하여 저장해 놓은 것입니다.
- 일반적으로 부를 때 '저장 프로시저' 라고 합니다.
- 장점★
- 서버가 해당 프로시저를 컴파일 해둔 상태로 캐싱이 가능하므로, 해당 쿼리를 빠른 속도로 수행이 가능합니다.
- 작성의 예★[1]
- Create Proc 프로시저명
- AS
- Declare ..... 변수명 정의 (변수명을 정의할 때는 @를 붙입니다)
- @ Grade TinyINT, @Class TinyTINT
- Set 초기화 값
- @ Grade = 0
- .......
- END
- 작성의 예★[2]
- CREATE PROCEDURE [dbo].[simple_if]
@indata varchar(16),
@result varchar(8) OUTPUT
AS
SET NOCOUNT ON - BEGIN
if @indata not in ('A','B','C','D')
begin
SET @result = 'FALSE';
end;
else
begin
SET @result = 'TRUE';
end;
end;
- CREATE PROCEDURE [dbo].[simple_if]
- 장점★
- [따라하기]
▲ [-] 위와 같이 프로시저를 생성합니다.
▲ [-] 생성된 프로시저는 바로 실행되지 않습니다. 따라서 EXECUTE 명령을 통하여 실행합니다.
▲ [-] 실행은 한번만 하는데 3개의 행이 적용됐네요. 저것은 프로시저가 동작함으로서 반복 작업을 해주었기 때문입니다.
▲ [-] 또 다른 프로시저의 예입니다.
▲ [-] 마찬가지로 반복작업이 동작되죠~? ^^# 이처럼 프로시저는 반복적인 작업을 하고자 할때 사용하면 편리합니다.
데이터모델링-트리거
▶트리거? (Trigger)
- 트리거(Trigger)의 원 의미는 ‘방아쇠’입니다. 트리거는 지정된 어떤 변경이 시도되면, 일련의 행동들을 취하도록 시스템에게 알릴 수 있으며, 트리거는 부정확하고, 허가 받지 않았으며, 일관성이 없는 데이터 변경을 방지함으로써, 데이터베이스의 ...
- 출처 : 텀즈 (www.terms.co.kr/trigger.htm)
- 종속된 테이블에 Insert,Update, Delete 작업 발생시 자동으로 실행되는 이벤트 입니다.
- 장점★
- 복잡한 업무 규칙을 단순화시키며 강력한데이터의 무결성을 보장합니다.
- [따라하기]
- 장점★
▲ [-] 트리거는 각 테이블마다 존재하는 함수입니다.
▲ [-] 좀 복잡해 보여도 뜯어보면 그렇게 복잡한 것은 아니에요. 트리거는 # 뒤에 설명문 처럼어떠한 DML이 실행되고 난 후에 수행하는 함수입니다.
▲ [-] 트리거를 만들고 나면, 다음과 같이 해당테이블에 트리거가 생긴것을 확인할 수 있습니다.
▲ [-] 트리거는 추적자의 역할을 하게되는데, 어떠한 테이블에 자료를 입력하면 거기에 맞는 트리거가 동작하게 됩니다.
▲ [-] 동일한 내용이 다른 테이블에도 입력된 것을 볼 수 있습니다.
▲ [-] 트리거 생성의 예 입니다.
▲ [-] 마찬가지로 업데이트를 하면 이전에 만들었던 트리거에 적용되어 2행이 변경됐다는 것을 확인할 수 있습니다.
▲ [-] 쿼리를 전송하여 출력해도 그렇죠?~ ^ㅡ^/
'Languages > Visual Basic' 카테고리의 다른 글
VB - Data Environment Designer [1] (0) | 2012.10.26 |
---|---|
VB - Data Environment Designer [2] (0) | 2012.10.26 |
VB - Data Report Designer [1] (0) | 2012.10.26 |
VB - Data Report Designer [2] (0) | 2012.10.26 |
VB 데이터베이스 - 데이터 차트 (0) | 2012.10.26 |