목록2025/07/22 (5)
개발새발

옵티마이저와 실행계획 옵티마이저의 역할사용자가 질의한 SQL문에 대해 최적의 실행 방법(실행 계획)을 결정하는 역할을 수행한다옵티마이저가 선택한 실행 방법의 적절성 여부는 질의의 수행 속도에 가장 큰 영향을 미친다. 최적의 실행 방법 결정 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것 옵티마이저의 유형규칙기반 옵티마이저(RBO, Rule Based Optimizer) - 사전에 정의된 SQL 규칙의 우선순위로 실행 계획을 생성하는 방식비용기반 옵티마이저(CBO, Cost Based Optimizer) - 통계 정보를 활용하여 SQL 처리 시간 및 자원 사용량 등을 계산하고, 가장 효율적인 실행 계획을 생성하는 방식. 관계형 데이터베이스는 비용기반만 제공한다.규칙기..
개발 프로젝트의 표준은 모든 삭제 데이터에 대한 로그를 남기는 것을 원칙으로 함, 테이블 삭제의 경우 허가된 인력만이 정기적으로 수행 가능해야 함. 정답: DELETE FROM STADIUMTRUNCATE 키워드와 DROP 키워드는 로그를 남기지 않는다 표준 SQL 테이블 생성 시 참조 관계를 정의하기 위해 외래키를 선언. 관계형 데이터 베이스에서 Child Table 의 FK 데이터 생성시, Parent Table 에 PK가 없는 경우, Child Table 데이터 입력을 허용하지 않는 참조 동작은? 정답: DEPENDNETCASCADE: Master 삭제시 Child 같이 삭제RESTRICT: Child 테이블에 PK 값이 없는 경우만 Master 삭제 허용AUTOMATIC: Master 테이블에 ..
절차형 SQL 절차형 SQL은 프로그램이 언어처럼 조건문(IF) 과 반복문(LOOP)을 사용할 수 있는 언어이다. ORACLE의 절차형 SQL로 PL/SQL을 제공하고, SQL-Server의 절차형 SQL로 T-SQL을 제공한다. P/SQL의 특징Block 구조로 되어있으며 각 기능별로 모듈화가 가능변수/상수 선언 및 IF/LOOP문 등의 사용이 가능변수와 상수 등을 사용하여 SQL 문장을 실행할 때 값을 대입 가능PL/SQL은 오라클에 내장 시킬수 있으므로 어떠한 오라클 서버로도 이식이 가능PL/SQL은 여러 SQL문장을 Block으로 묶고 한번에 Block전부를 서버로 보내기때문에 네트워크 패킷 수를 감소 시킴PL/SQL Block의 구조구조 명필수/선택설명DECLARE(선언 부)필수BEGIN~EN..
제약 조건 추가이 ADD CONSTRAINT명령은 테이블이 이미 생성된 후 제약 조건을 생성하는 데 사용된다. 다음 SQL은 여러 열(ID 및 LastName)에 대한 PRIMARY KEY 제약 조건인 "PK_Person"이라는 제약 조건을 추가ALTER TABLE PersonsADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName); 제약 조건 삭제이 DROP CONSTRAINT명령은 UNIQUE, PRIMARY KEY, FOREIGN KEY 또는 CHECK 제약 조건을 삭제하는 데 사용된다. 고유 제약 조건 삭제UNIQUE 제약 조건을 삭제하려면 다음 SQL을 사용한다 ALTER TABLE PersonsDROP CONSTRAINT UC_Person;
WINDOW FUNCTION 개요윈도우 함수는 데이터 베이스에서 컬럼과 컬럼 간의 연산이 아닌, 행과 행 간의 비교 또는 연산을 처리하기 위한 함수이다. 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해서 SQL 에 추가된 기능으로 OLAP 함수라고도 한다. 윈도우 함수는 메인 쿼리 뿐만 아니라 서브 쿼리에서도 사용할 수 있지만, 함수 자체에서 중첩으로 사용할 수 없다. 윈도우 함수 처리로 인해 결과 건수가 달라지지는 않는다. WINDOW FUNCTION 종류WINDOW FUNCTION 는 크게 5가지 그룹으로 분류할 수 있다. (벤더별로 지원하는 함수 차이가 있음)그룹 내 순위(RANK) 관련 함수: RANK, DENSE_RANK, ROW_NUMBER그룹 내 집계(AGGREGATE) 관련 ..