자격증/정보처리기사 필기

[정보처리기사 필기] SW 개발 : 프로시저

Yuco 2023. 1. 18. 23:21
정보처리기사 필기 2과목 - 소프트웨어 개발 : 프로시저

 

[1] 프로시저

1. SQL 정의

* 프로시저 : 프로시저란 SQL을 이용하여 만들어진 데이터를 조작하는 일종의 트랜잭션 언어로, 데이터베이스 내부에 저장되고 일정한 조건(외부 입력, 특정 시간 등)이 되면 자동으로 수행됨

 

* SQL (Structured Query Language) : 일정한 데이터 집합으로부터 더 쉽게 자료를 검색하고 입력/수정/삭제와 같은 조작을 할 수 있도록 고안된 언어

 

 

2. SQL 분류

1) 데이터 정의어 (DDL, Data Definition Language)

- 데이터를 저장하고 있는 테이블 등의 구조를 생성하고 변경하기 위하여 사용되는 명령어들 의미

- 명령어 수행이 되면 이전 상태로 복귀할 수 없으므로 신중히 사용

ex. CREATE(오브젝트 생성), DROP(오브젝트 삭제), RENAME(이름 변경), ALTER(구조 변경), TRUNCATE(데이터 삭제) 등

 

2) 데이터 조작어 (DML, Data Manipulation Language)

-  데이터베이스에 있는 데이터를 변경하거나 검색하기 위하여 사용되는 명령어들을 말하며, 이 명령어는 트랜잭션 제어어(TCL)를 활용하여 실행 전 상태로 복귀 가능한 명령어

ex. INSERT(데이터 입력), UPDATE(데이터 수정), DELETE(데이터 삭제)

 

3) 데이터 제어어 (DCL, Data Control Language)

- 사용자별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어들 의미

ex. ROLE, GRANT(권한 및 롤 부여), REVOKE(권한 및 롤 회수) 등

 

 

3. 트랜잭션 제어어(TCL, Transaction Control Language)

- 트랜잭션 제어어는 트랜잭션의 DML(데이터 조작어) 작업 단위를 제어하는 명령어

ex. COMMIT, ROLLBACK, SELECT 등

 

1. COMMIT

- 트랜잭션을 완료하여 데이터 변경사항을 최종 반영 (COMMIT 이전 데이터는 복구할 수 없음)

 

2. ROLLBACK

- 데이터 변경사항을 이전 상태로 되돌리는 명령어 (DML 변경사항 되돌림)

* SAVEPOINT : 지정된 특정 시점까지 ROLLBACK 할 수 있는 명령어

 

3. SELECT

- 데이터의 내용을 조회할 때 사용하는 명령어

* SELECT 옵션

- DISTINCT(중복 제거), *(모든 컬럼 출력), alias(별칭 지정), WHERE(조건 만족 행들만 검색), GROUP BY(그루핑하고자 하는 단위 지정), HAVING(그루핑한 결과값에 대한 조건 검색), ORDER BY(질의 결과 정렬 옵션, ASC: 오름차순, DESC: 내림차순) 

 

 

4. 트랜잭션의 특징 #ACID

원리 특징
원자성 (Atomicity) 트랜잭션 연산을 데이터베이스 모두에 반영 또는 반영하지 말아야 함 (All for Nothing)
일관성 (Consistency) 트랜잭션 실행을 성공적으로 완료할 시 일관성 있는 데이터베이스 상태를 유지
독립성 (Isolation, 격리성) 둘 이상 트랜잭션 동시 실행 시 한 개의 트랜잭션만 접근이 가능하여 간섭 불가
영속성 (Durability) 성공적으로 완료된 트랜잭션 결과는 영구적으로 반영