1. 트랜잭션(Transaction) ★★
1. 1. 트랜잭션의 개념
: 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업 단위.
1. 2. 트랜잭션의 성질 ★★ ※ACID
- 원자성(Atomicity): 모두 반영되거나 모두 반영되지 않아야 한다.
- 일관성(Consistency): 실행이 완료되면 언제나 일관성있는 DB상태로 변환.
- 독립성(Isolation): 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- 영속성(Durability): 트랜잭션의 결과는 시스템이 고장나도 영구적으로 반영.
1. 3. 트랜잭션의 연산 ★
- Commit: 트랜잭션 실행이 성공적으로 종료되었음을 선언.
- Rollback: 트랜잭션 실행이 실패하였음을 선언.
- Recovery: 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업.
1. 4. 트랜잭션의 상태
- 활동(Active): 트랜잭션이 실행중인 상태.
- 실패(Failed): 오류가 발생하여 중단된 상태.
- 철회(Aborted): Rollback연산을 수행한 상태.
- 부분 완료(Partially Commited): Commit연산이 실행되기 직전의 상태.
- 완료(Committed): Commit연산을 실행한 후의 상태.
1. 5. 트랜잭션의 분석
– CRUD 매트릭스를 이용해 트랜잭션 분석.
– 업무 개발 담당자가 수행.
2. 물리 데이터 모델 품질검토
2. 1. 물리 데이터 모델 품질 기준
- 정확성: 요구사항이나 업무 규칙, 표기법에 따라 정확하게 표현.
- 완전성: 데이터 모델의 구성 요소와 요구사항을 누락 없이 정의⋅반영.
- 준거성: 데이터 표준, 표준화 규칙, 법적 요건 등을 정확하게 준수.
- 최신성: 최근의 이슈나 현행 시스템을 반영.
- 일관성: 표현상의 일관성을 유지.
- 활용성: 업무 변화에 따른 데이터 구조의 변경이 최소화 될수 있도록 설계.
2. 1. CRUD분석 ★
2. 1. 1. CRUD의 개념
: 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 표현한 말.
2. 1. 2. CRUD 매트릭스
: 행(row)에는 프로세스를, 열(column)에는 테이블을, 행과 열이 만나는 위치에는 프로세스가 테이블에 발생시키는 변화를 표시. 업무 프로세스와 데이터 간 상관 분석표.
– 우선순위: C > D > U > R
2. 2. SQL 성능 튜닝
2. 2. 1. SQL 성능 튜닝의 개념
: SQL문을 최적화하여 빠른 시간 내에 원하는 결과값을 얻기 위한 작업.
2. 2. 2. SQL 성능 튜닝의 영역
- DB 설계 튜닝: 정규화 및 반정규화하여 재설계.
- DB 환경 튜닝: 메모리나 블록 크기 지정.
- SQL 문장 튜닝: 성능을 고려하여 SQL 문장 작성.