정보처리기사 필기 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) | 성공적으로 완료된 트랜잭션 결과는 영구적으로 반영됨 |
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
[정보처리기사 필기] SW 개발 : 절차형 SQL (0) | 2023.01.23 |
---|---|
[정보처리기사 필기] SW 개발 : DB / DBMS (0) | 2023.01.18 |
[정보처리기사 필기] SW 개발 : 정규화 / 반정규화 (0) | 2023.01.18 |
[정보처리기사 필기] SW 개발 : 데이터 모델링 (0) | 2023.01.18 |
[정보처리기사 필기] SW 개발 : 자료구조 (0) | 2023.01.18 |