IT Study/데이터베이스 및 데이터 처리 32

🗂️ 정적 SQL & 동적 SQL

1. 개요정보시스템에서 데이터베이스를 조작하기 위한 표준 언어인 SQL은 실행 방식에 따라 정적 SQL과 동적 SQL로 구분 정적 SQL은 컴파일 타임에 SQL 문이 고정되고, 동적 SQL은 런타임에 SQL 문이 구성되어 실행 애플리케이션 요구사항, 보안, 성능, 유지보수 등의 요소에 따라 두 방식의 선택과 활용이 결정 2. 정적 SQL (Static SQL)프로그램 코드에 SQL 문이 하드코딩되어 있는 형태 프로그램 컴파일 시 SQL 문이 분석되고 실행 계획이 고정 컴파일된 실행 계획이 캐시에 저장되어 반복 실행 시 성능 안정성 확보 구조가 고정되어 있어 예측 가능한 실행 경로 제공 보안 정책 및 접근 제어에 용이하며, SQL Injection 등 공격에 대한 내성이 높음 코드 내에서 S..

🗂️ 팬텀충돌(Phantom Conflict)

팬텀현상(Phantom Phenomenon)의 개요 데이터베이스 트랜잭션 처리에서 발생하는 동시성 문제 중 하나 한 트랜잭션이 조건을 만족하는 레코드 집합을 읽은 후, 다른 트랜잭션이 해당 조건을 만족하는 새로운 레코드를 삽입하거나 삭제하면서 발생 처음 읽은 레코드 집합과 후속 재조회 시의 레코드 집합이 일치하지 않는 문제 사용자 입장에서는 존재하지 않던 새로운 레코드가 갑자기 등장하는 것처럼 보이므로 '팬텀(유령)'이라는 표현 사용 발생 배경 및 사례 트랜잭션 T1이 "급여가 500만 원 이상인 사원" 조건으로 사원 테이블 조회 트랜잭션 T2가 같은 시점에 급여가 500만 원 이상인 신규 사원을 삽입 T1이 같은 조건으로 다시 조회 시, 처음 조회에 없던 새로운 레코드 등장 비즈니스 로..