[정보처리기사]7단원
VII SQL 응용
01 데이터베이스 기본
1. 트랜잭션
(1) 트랜잭션
2. 특성
- 원자성: 전체 성공 또는 실패
- 일관성: 트랜잭션 수행 전과 후 같음
- 격리성: 서로 영향x
- 영속성: 영속적으로 저장
5. 병행 제어 기법 종류
- 로킹: 상호배제, 로킹 단위↓ → 데베 공유도↑, 오버헤드↑
- 낙관적 검증: 트랜잭션 종료 시 검증
- 타임 스탬프 순서: 실행 전에 타임 스탬프 부여
- 다중버전 동시성 제어: 직렬가능성 보장 되는 버전 선택
7. 회복 기법
1)주요 요소
- REDO: 시작, 완료 기록으로 재작업
- UNDO: 시작은 있지만, 완료 기록 없는 트랜잭션 취소
2)회복 기법 종류
- 로그 기반 회복 기법: 지연 갱신 회복 기법/ 즉각 갱신 회복 기법
- 체크 포인트 회복 기법: 검사점 이후에 처리된 트랜잭션만 복원
- 그림자 페이징 회복 기법: 복제본 생성
(2) DDL
1. 데이터 정의어: 구조 생성, 변경, 삭제
2. DDL 대상
- 도메인
- 스키마: 외부/개념/내부 스키마
- 테이블
- 뷰
- 인덱스
- 순서 인덱스: 정렬
- 해시 인덱스: 해시 함수
- 비트맵 인덱스: 적은 개수 값
- 함수기반 인덱스: 수식, 함수
- 단일 인덱스: 하나 컬럼
- 결합 인덱스: 두 개 이상 컬럼
- 클러스터드 인덱스: 기본 키 기준으로 레코드 묶어서
3. DDL 명령어
- 생성: CREATE
- 수정: ALTER
- 삭제: DROP, TRUNCATE
4. TABLE DDL
-
CREATE (테이블 생성)
CREATE TABLE 테이블명 { 컬럼명 데이터타입 PRIMARY KEY, 컬럼명 데이터타입 FOREIGN KEY REFERENCES, 컬럼명 데이터타입 UNIQUE, 컬럼명 데이터타입 NOT NULL, 컬럼명 데이터타입 CHECK(조건식), 컬럼명 데이터타입 DEFAULT, };
-
ALTER (테이블 수정)
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 제약조건; --추가 ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 제약조건; --수정 ALTER TABLE 테이블명 DROP 컬럼명 데이터타입 제약조건; --삭제
-
DROP (테이블 삭제)
DROP TABLE 테이블명 CASCADE | RESTRICT;
-
TRUNCATE (테이블 내 데이터 삭제)
TRUNCATE TABLE 테이블명;
5. VIEW DDL
-
CREATE VIEW (뷰 생성)
CREATE VIEW 뷰이름 AS 조회쿼리;
-
CREATE OR REPLACE VIEW (뷰 교체)
CREATE OR REPLACE VIEW 뷰이름 AS 조회쿼리;
-
DROP VIEW (뷰 삭제)
DROP VIEW 뷰이름;
6. INDEX DDL
-
CREATE INDEX (인덱스 생성)
CREATE INDEX 인덱스명 ON 테이블(컬럼명1, 컬럼명2, ...);
-
ALTER INDEX (인덱스 수정)
ALTER INDEX 인덱스명 ON 테이블(컬럼명1, 컬럼명2, ...);
-
DROP INDEX (인덱스 삭제)
DROP INDEX 인덱스명;
(3) DML
2. DML 명령어
-
조회: SELECT
-
삽입: INSERT
INSERT INTO 테이블명(속성명1, ...) VALUES (데이터1, ...);
-
갱신: UPDATE
UPDATE 테이블명 SET 속성명=데이터, ... WHERE 조건;
-
삭제: DELETE
DELETE FROM 테이블명 WHERE 조건;
(4) DCL
1. DCL 명령어
-
GRANT (권한 부여)
GRANT 권한 ON 테이블 TO 사용자;
-
REVOKE (권한 회수)
REVOKE 권한 ON 테이블 FROM 사용자;
댓글남기기