정보처리기사 실기 공부log - 20201005

2020. 10. 5. 17:49컴퓨터언어

728x90
반응형

 

프로시저 Stored Procedure 

절차현 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행함 

데이터베이스에 저장되어 수행되기 때문에 Stored Procedure라고도 불린다. 

여러 프로그램에서 호출하여 사용할 수 있다. 시스템의 일일 마감 작업, 일괄작업에 주로 사용 

 

트랜잭션 언어 

데이터베이스를 조작하고 트랜잭션을 처리하는 언어로, SQL과 TCL이 이에 해당 

 

절차형 SQL 

C, Java 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등 제어가 가능한 SQL 

 

CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터명 IN 자료형) 

IS 지역변수 

BEGIN 

    UPDATE ~~ 

    EXCEPTION 

        WHEN PROGRAM_ERROR THEN 

            ROLLBACK; 

    COMMIT; 

END; 

 

트리거 

데이터베이스 시스템에서 삽입, 갱신, 삭제 등 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL. 

데이터베이스에 저장되며 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용됨 

트리거의 구문에는 DCL을 사용할 수 없으며, DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류가 발생함 

트리거에 오류가 있는 경우 트리거를 처리하는 데이터에도 영향을 미치므로 트리거를 생성할 때 세심한 주의가 필요함 

 

사용자 정의 함수 

프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL 

DML의 호출에 의해 실행됨 

RETURN을 통해 값을 반환하므로 출력 파라미터가 없음 

SELECT로 조회만 가능 

프로시저를 호출하여 사용할 수 없음 

 

SELECT 사용자정의함수명 FROM 테이블명; 

INSERT INTO 테이블명(속성명) VALUES (사용자정의함수명); 

DELETE FROM 테이블명 WHERE 속성명 = 사용자정의함수명; 

UPDATE 테이블명 SET 속성명 = 사용자정의함수명; 

 

구분 

프로시저 

사용자 정의 함수 

반환값 

없거나 1개 이상 

1개 

파라미터 

입력/출력 

입력 

사용 가능 명령문 

DML, DCL 

SELECT 

호출가능 대상 

프로시저, 사용자 정의 함수 

사용자 정의 함수 

사용방법 

실행문 

DML에 포함 

 

사용자 정의 함수 문제에서 파라미터 () 넣는거 잊지 말 것. 

 

제어문 

위에서 아래로 차례대로 실행되는 절차형 SQL의 진행 순서를 변경하기 위해 사용하는 명령문 

  

GOTO문 

원하는 위치로 이동 

 

커서 

쿼리문의 처리 결과가 저장되어 있는 메모리 공간을 가리키는 포인터 

내부에서 자동으로 생성되어 사용되는 묵시적 커서 + 사용자가 직접 정의해서 사용하는 명시적 커서 

(선언 ->)열기 Open -> 패치 Fetch -> 닫기 Close 순으로 진행 

묵시적 커서 : 수행된 쿼리문의 정상적인 수행 여부를 확인하기 위해 사용 

명시적 커서 : 쿼리문의 결과를 저장하여 사용함으로써 동일한 쿼리가 반복 수행되어 데이터베이스 자원이 낭비되는 것을 방지 

 

커서의 속성 

SQL%FOUND : 쿼리 수행의 결과로 패치된 튜플 수가 1개 이상이면 TRUE 

SQL%NOTFOUND : 쿼리 수행의 결과로 패치된 튜플 수가 0개이면 TRUE 

SQL%ROWCOUNT : 쿼리 수행의 결과로 패치된 튜플 수를 반환 

SQL%ISOPEN : 커서가 열린 상태이면 TRUE. 묵시적 커서는 자동 생성 후 자동으로 닫히기 때문에 항상 FALSE 

 

GRANT OPTION FOR : 현재 그 사람의 권한은 유지하고, 그 사람이 다른 사람에게 줄 권한을 뺏음 

 

개체 타입 = <학생> 

개체 어커런스 = 개체 인스턴스 = 학생 A 

도메인 : 하나의 속성이 가질 수 있는 같은 타입의 원자 값들의 집합 

단순 속성 : 더 이상 다른 속성으로 나눌 수 없는 속성. 나이. 

복합 속성 : 2개 이상의 속성들로 분해할 수 있는 속성. 주소 = 시 + 군 + 구 

 

관계 : 2개 이상의 개체 사이에 존재하는 연관성 

관계 타입 : 같은 관계들의 집합 또는 틀 

1:1 관계 : 관계에 참여하고 있는 두 개체 타입이 모두 하나씩의 개체 어커런스를 갖는 관계 

1:N 관계 : 관계에 참여하고 있는 개체 타입 중 한 개체 타입은 여러 개의 개체 어커런스를 가질 수 있고, 다른 한 개체 타입은 하나의 개체 어커런스를 갖는 관계 

N:M 관계 : 관계에 참여하고 있는 두 개체 타입 모두 여러 개의 개체 어커런스를 가질 수 있는 관계 

 

관계형 데이터 모델 

데이터를 테이블 또는 릴레이션의 구조로 표현하는 논리적 데이터 모델 

 

릴레이션 

데이터를 원자 값으로 갖는 이차원의 테이블 

릴레이션은 물리적인 저장 구조가 아닌 논리적 구조이므로 다양한 정렬 기준으로 통하여 릴레이션을 표현 가능 

릴레이션 스키마 = 머리글 

릴레이션 인스턴스 = 튜플들 

 

슈퍼키 

한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 

유일성은 만족하지만 최소성은 만족하지 못함 

 

후보키 

릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합 

유일성과 최소성을 모두 만족 

 

*유일성 

하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함 

 

*최소성 

키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함 

 

728x90
반응형