본문 바로가기

전체 글

(90)
커서(Cursor) 커서(Cursor) 쿼리문의 처리 결과가 저장돼 있는 메모리 공간을 가리키는 포인터 -커서는 내부에서 자동으로 생성돼 사용되는 묵시적 커서와, 사용자가 직접 정의해 사용하는 명시적 커서가 있다. -커서의 수행은 열기, 패치, 닫기의 세 단계로 진행된다. 묵시적 커서(Implicit Cursor) -DBMS 자체적으로 열리고 패치돼 사용이 끝나면 닫히지만 커서의 속성을 조회해 사용된 쿼리 정보를 열람하는 것이 가능하다. 커서의 속성 SQL%FOUND 쿼리 수행의 결과로 패치된 튜플 수가 1개 이상이면 TRUE SQL%NOTFOUND 쿼리 수행의 결과로 패치(FETCH)된 튜플 수가 0개 이면 TRUE SQL%ROWCOUNT 쿼리 수행의 결과로 패치된 튜플 수를 반환 SQL%ISOPEN 커서가 열린 상태이면..
사용자 정의 함수 프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리하며 종료 시 처리 결과를 단일 값으로 반환하는 절차형 SQL -사용자 정의 함수는 데이터베이스에 저장돼 SELECT, INSERT, DELETE, UPDATE 등 DML문의 호출에 의해 실행된다. -사용자 정의 함수 예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없다. 사용자 정의 함수의 구성도 데이터 ↓ 사용자 정의 함수 DECLARE(필수) BEGIN(필수) -CONTROL -SQL -EXCEPTION -RETURN(필수) END(필수) ↓ 반환 사용자 정의 함수 생성 CREATE[OR REPLACE] FUNCTION 사용자 정의 함수명(파라미터) [지역변수 선언] BEGIN 사용자 정의 함수 BODY; RETURN ..
트리거(Trigger) 트리거(Trigger) 데이터베이스 시스템에서 데이터의 삽인, 갱신, 삭제 등의 이벤트가 발생할 때 마다 관련 작업이 자동으로 수행되는 절차형 SQL -트리거는 데이터베이스에 저장되며 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용된다 트리거 구성도 이벤트 ↓ 트리거 DECLARE (필수) EVENT (필수) BEGIN (필수) -CONTROL -SQL -EXCEPTION END(필수) ↓ 데이터 변경 트리거 생성 CREATE[OR REPLACE] TRIGGER 트리거명 [동작시키 옵션] [동작 옵션] ON 테이블명 REFERENCING [NEW | OLD] AS 테이블명 FOR EACH ROW [WHEN 조건식] BEGIN 트리거 BODY; END 트리거 제거 DROP TRIGGER..
프로시저(Procedure) 프로시저(Procedure) 절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로 호출을 통해 실행돼 미리 저장해 놓은 SQL 작업을 수행 -프로시저는 데이터베이스에 저장돼 수행되기 때문에 스토어드(Stored) 프로시저라고도 불린다. -프로시저는 시스템의 일일 마감 작업, 일관(Batch) 작업 등에 주로 사용된다. 프로시저 구성도 데이터 ↓ 프로시저 DECLARE (필수) BIGIN (필수) -CONTROL -SQL -EXCEPTION -TRANSACTION END (필수) ↓ 결과 프로시저 생성 CREATE [OR REPLACE[ PROCEDURE 프로시저명(파라미터) [지역변수 선언] BEGIN 프로시저 BODY; END; 프로시저 실행 EXECUTE 프로시저명' EXEC 프로시저명..
JOIN JOIN 2개의 테이블에 대해 연관된 튜플들을 결합해 하나의 새로운 릴레이션을 반환 -JOIN은 크게 INNER JOIN과 OUTER JOIN으로 구분 -JOIN은 일반적으로 FROM절에 기술하지만 릴레이션이 사용되는 어느 곳에서나 사용 가능 INNER JOIN : 가장 일반적인 JOIN 형태로 관계가 설정된 두 테이블에서 조인된 필드가 일치하는 행만 표시 -WHERE절을 이용한 표기 형식 SELECT [테이블명1.]속성명, [테이블명2.]속성명, ... FROM 테이블명1, 테이블명2, ... WHERE 테이블명1.속성명 = 테이블명2.속성명; -NATURAL JOIN을 이용한 표기 형식 SELECT [테이블명1.]속성명, [테이블명2.]속성명, ... FROM 테이블명1 NATURAL JOIN 테이블..
DML DML(Data Mnipulation Language, 데이터 조작어) 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적 관리하는데 사용되는 언어 -DML에는 SELECT, INSERT, DELETE, UPDATE 등 삽입문(INSERT INTO~) : 기본 테이블에 새로운 튜플을 삽입할 때 사용 INSERT INTO 테이블명(속성명1, 속성명2, ...) VALUES(데이터1, 데이터2, ...); 삭제문(DELETE FROM~) : 기본 테이블에 있는 튜플들 중에서 특정 튜플을 삭제할 때 사용 DELETE FROM 테이블명 [WHERE 조건]; 갱신문(UPDATE ~ SET~) : 기본 테이블에 있는 튜퓰들 중에서 특정 튜플의 내용을 변경할 때 사용 UPDATE 테이블명 S..
DCL DCL(Data Control Language, 데이터 제어어) 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 -DCL은 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다. -DCL에는 GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT 등이 있다. GRANT/REVOKE 데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어 -GRANT : 권한 부여를 위한 명령어 -REVOKE : 권한 취소를 위한 명령어 -사용자등급 지정 및 해제 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용자_ID_리스트; -테이블 및 속성에 대한 권한 부여 및 취..
DDL DDL(Data Define Language, 데이터 정의 언어) DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어 -DDL은 번역한 결과가 데이터 사전(Data Dictionary)이라는 특별한 파일에 여러 개의 테이블로서 저장된다. -DDL에는 CREATE SCHEMA, CREATE DOMAIN, CREATE TABLE, CREATE VIEW, CREATE INDEX, ALTER TABLE, DROP 등이 있다. DDL-CREATE TABLE : 테이블을 정의하는 명령문 -표기 형식 CREATE TABLE 테이블명 (속성명 데이터_타입[DEFAULT 기본값][NOT NULL], ... [, PRIMARY KEY(기본키_속성명, ...)] [, UNIQUE(대체키..