목록Certification (38)
습관처럼
1.옵티마이저 옵티마이저(Optimizer) 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할 수행. 이러한 최적의 실행 방법을 실행계획(Execution Plan)이라 함 - 최적의 실행 방법 결정 : 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것 옵티마이저가 최적의 실행 방법을 결정하는 방식 규칙기반 옵티마이저(RBO, Rule Based Optimizer) 비용기반 옵티마이저(CBO, Cost Based Optimizer) 가. 규칙기반 옵티마이저(RBO, rule based Optimizer)****정의암기!! 규칙기반 옵티마이저는 규칙(우선 순위)을 가지고 실행계획을 생성, 실행계획을 생성하는 규칙을 이해하면 누구나 실행계획을 비교적 쉽게 ..
1. 절차형 SQL 개요 일반적인 개발 언어처럼 SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 절차형 SQL 제공 Oracle : PL(Procedural Language)/SQL DB2 : SQL/PL SQL Server : T-SQL 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈 생성가능 절차형 SQL을 이용하여 만들 수 있는 저장 모듈인 Procedure, User Defined Function, Trigger 에 대해서 간단하게 살펴본다. (상세한 내역은 각 DBMS 벤더의 매뉴얼 참조) 2. PL/SQL 개요 가. PL/SQL 특징 Oracle의 PL/SQL은 Block 구조로 되어있고 Block 내에는 D..
1. DCL 개요 유저를 생성하고 권한을 제어할 수 있는 명령어 2. 유저와 권한 Oracle과 SQL Server의 사용자에 대한 차이점 Oracle은 유저를 통해 데이터베이스에 접속을 하는 형태이다. 즉, 아이디와 비밀번호 방식으로 인스턴스에 접속을 하고 그에 해당하는 스키마에 오브젝트 생성 등의 권한을 부여받게 된다. SQL Server는 인스턴스에 접속하기 위해 로그인이라는 것을 생성하게 되며, 인스턴스 내에 존재하는 다수의 데이터베이스에 연결하여 작업하기 위해 유저를 생성한 후 로그인과 유저를 매핑해 주어야 한다. 더 나아가 특정 유저는 특정 데이터베이스 내의 특정 스키마에 대해 권한을 부여받을 수 있다. 3.SQL Server 로그인 방식 첫 번째) Windows 인증 방식으로 Windows에..
1. WINDOW FUNCTION 개요 행과 행간의 관계를 쉽게 정의하기 위해 만든 함수 WINDOW FUNCTION 종류 순위(RANK) 관련 함수 : RANK, DENSE_RANK, ROW_NUMBER (ANSI/ISO SQL 표준 / Oracle / SQL Server 등 대부분 DBMS 지원) 집계(AGGREGATE) 관련 함수 : SUM, MAX, MIN, AVG, COUNT (ANSI/ISO SQL 표준 / Oracle / SQL Server 등 대부분 DBMS지원)* SQL Server의 경우 집계 함수는 OVER 절 내의 ORDER BY 구문을 지원하지 않는다. 행 순서 관련 함수 : FIRST_VALUE, LAST_VALUE, LAG, LEAD (Oracle에서만 지원되는 함수) 비율 관..
1. 데이터 분석 개요 ANSI/ISO SQL 표준은 데이터 분석을 위해서 다음 세 가지 함수를 정의하고 있다. - AGGREGATE FUNCTION - GROUP FUNCTION - WINDOW FUNCTION AGGREGATE FUNCTION - GROUP AGGREGATE FUNCTION이라고도 부르며, GROUP FUNCTION의 한 부분으로 분류할 수 있다. - 1장 7절에서 설명한 COUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수들이 포함되어 있다. GROUP FUNCTION - ROLLUP은 GROUP BY의 확장된 형태로 사용하기가 쉬우며 병렬로 수행이 가능하기 때문에 매우 효과적일 뿐 아니라 시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합하도록 ..
1.서브쿼리 서브쿼리(Subquery)란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다. 서브쿼리를 사용할 때 다음 사항에 주의해야 한다. 서브쿼리를 괄호로 감싸서 사용한다. 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다. 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT절에서 오직 한 개만 올 수 있기 때문에 ORDER BY절은 메인쿼리의 마지막 문장에 위치해야 한다. 서브쿼리가 SQL문에서 사용이 가능한 곳은 다음과 같다.(***) - SELECT 절, FR..
1. 계층형 질의 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의(Hierarchical Query) 사용. 계층형 데이터란? 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 예를들면, 사원 테이블에서는 사원들 사이에 상위 사원(관리자)과 하위 사원 관계가 존재하고 조직 테이블에서는 조직들 사이에 상위 조직과 하위 조직 관계가 존재. 엔터티를 순환관계 데이터 모델로 설계할 경우 계층형 데이터 발생. 순환관계 데이터 모델의 예) 조직, 사원, 메뉴 등 (2) 계층형 구조 : A의 하위 사원은 B, C이고 B 밑에는 하위 사원이 없고 C의 하위 사원은 D, E 가 있음 (3) 샘플 데이터 : (2) 계층형 구조를 데이터로 표현한 것 ※ 계층형 데이터 조회는 DBMS ..
1.집합 연산자(SET_OPERATOR) 연관된 데이터를 조회하는 방법 중 하나 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식 사용 ☞ 즉, 집합 연산자는 2개 이상의 질의 결과를 하나의 결과로 만들어 준다. 일반적으로 집합 연산자를 사용하는 상황 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 사용 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용 이외에도 튜닝관점에서 실행계획을 분리하고자 하는 목적으로도 사용 집합 연산자를 사용하기 위한 제약조건 (조건을 지키지 않을 시 데이터베이스가 오류 반환) SELECT 절의 칼럼 수가 동일 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능 (반드시 동일한 데이터 타..