[Certification]/[SQLD] Structured Query Language Develop 37

[SQLD] 6. SQLD 자격검정 실전문제 풀이(2) (Question&Answer) - 16~30문제

SQLD 자격검정 실전문제 풀이(2) (Question&Answer)                                       [Fortinet] Fortigate SNMP 설정, 서버 연동 방법 - FGT 방화벽 [Fortinet] Fortigate SNMP 설정, 서버 연동 방법 - FGT 방화벽Fortigate SNMP 설정 방법 SNMP는 SNMP Manager가 FortiGate로 정보를 요청하는 Polling(UDP 161) 방식과 FortiGate에서 이벤트가 발생할 경우 SNMP Manager로 Trap(UDP 162) 방식이 있다. 위 구성도에서 만약 FortiGate와 SNinfoofit.tistory.com [Linux] rsync 명령어 사용법 - 데이터 백업하기 [Lin..

[SQLD] 6. SQLD 자격검정 실전문제 풀이(1) (Question&Answer) - 1~15문제

SQLD 자격검정 실전문제 풀이 (Question&Answer)                                         [SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도 [SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도A. 옵티마이저 정의 1. SQL은 사용자의 요구사항만 기술 2. 처리과정에 대한 기술은 하지 않음 3. 최적의 실행 방법을 결정하는 것이 옵티마이저의 역할 4. 사용자가 질의한 SQL문에 대해 최적의 실infoofit.tistory.com [TIP] 윈도우에서 인터넷 속도 향상시키는 10가지 방법 - 캐시 지우기, 애드웨어 제거, 라우터 초기화, 무선 신호 강화, 윈도우 재설치, DNS ..

[SQLD] 5-4. SQL 최적화 기본 원리 - 예상문제풀이 (Question&Answer)

문제 1. 옵티마이저에 대한 설명으로 적절하지 않은 것은 다음 중 무엇인가?① 옵티마이저는 질의에 대해 실행계획을 생성한다. ② 비용기반 옵티마이저는 비용계산을 위해 다양한 통계정보를 사용한다. ③ 규칙기반 옵티마이저에서 제일 낮은 우선순위는 전체 테이블 스캔이다. ④ 비용기반 옵티마이저는 적절한 인덱스가 존재하면 반드시 인덱스를 사용한다. 문제 2. 실행계획에 대한 설명으로 적절하지 않는 것은 다음 중 무엇인가?① 실행계획은 SQL문의 처리를 위한 절차와 방법이 표현된다. ② 실행계획은 액세스 기법, 조인 순서, 조인 방법 등으로 구성된다. ③ 실행계획이 다르면 결과도 달라질 수 있다. ④ 최적화 정보는 실행계획의 단계별 예상 비용을 표시한 것이다.  문제 3. SQL 처리 흐름도에 대한 설명으로 적절..

[SQLD] 5-3. SQL 최적화 기본 원리 - 조인 수행 원리, Nested Loop Join, Sort Merge Join, Hash Join

A. 조인 개요 1. 두 개 이상의 테이블을 하나의 집합으로 만드는 연산 2. FROM 절에 두 개 이상의 테이블이 나열될 경우 조인이 수행 3. 조인 연산은 두 테이블 사이에서 수행 4. 3개 이상 테이블이 조인될 경우 먼저 수행된 조인 결과와 나머지 테이블 사이에서 조인이 수행됨 5. 테이블 또는 조인 결과를 이용하여 조인을 수행할 때 조인 단계별로 다른 조인 기법을 사용할 수 있음 6. 조인 기법은 두 개의 테이블을 조인할 때 사용할 수 있는 방법 7. Nested Loop Join (NL Join), Sort Merge Join, Hash Join 조인 방식이 존재   B. Nested Loop Join ( NL Join ) 1. 프로그래밍에서 사용하는 중첩된 반복문과 유사한 방식 2. 선행 테이..

[SQLD] 5-2. SQL 최적화 기본 원리 - 인덱스 기본, B트리 기반 인덱스 검색, 클러스터형 인덱스, 테이블 스캔, 인덱스 스캔, 스캔 방식 종류

A. 인덱스 1. 검색 성능의 최적화를 위한 객체임 2. 테이블 데이터를 특정 컬럼으로 정렬하여 생성할 수 있는 구조 3. 개수가 많을수록 INSERT, UPDATE, DELETE등과 같은 DML 작업은 성능이 저하 4. UPDATE는 변경 대상 컬럼이 인덱스에 없는 경우 성능에 영향이 없음   B. B트리 기반 인덱스 검색 1단계 : 브랜치 블록의 가장 왼쪽 값이 찾고자 하는 값보다 작거나 같으면 왼쪽 포인터로 이동 2단계 : 찾고자 하는 값이 브랜치 블록의 값 사이에 존재하면 가운데 포인터로 이동 3단계 : 오른쪽에 있는 값보다 크면 오른쪽 포인터로 이동   C. SQL Server의 클러스터형 인덱스 1. 인덱스의 리프 페이지가 곧 데이터 페이지 2. 인덱스 와 테이블이 결합되어 있는 구조 3. 리..

[SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도

A. 옵티마이저 정의 1. SQL은 사용자의 요구사항만 기술 2. 처리과정에 대한 기술은 하지 않음 3. 최적의 실행 방법을 결정하는 것이 옵티마이저의 역할 4. 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행 5. 최적의 실행 방법이 실행계획(Execution Plan)   B. 규칙기반 옵티마이저 1. 인덱스 유무와 SQL 문장에서 사용하는 연산자의 종류 그리고 SQL문에서 참조하는 객체의 종류 등을 참조해 실행계획을 생성 2. 인덱스를 이용한 액세스 방식이 전체 테이블 액세스 방식보다 우선순위가 높음 3. SQL순위에서 이용 가능한 인덱스가 존재한다면 엑세스 기법전체 테이블 액세스 방식보다는 항상 인덱스를 사용하는 실행계획을 생성  C. 비용기반 옵티마이저(CBO) 1. 규..

[SQLD] 4-9. SQL 활용 - 예상문제풀이 (Question&Answer)

문제 1. 다음 JOIN의 종류의 설명 중 틀린 것은 무엇인가?① EQUI JOIN은 반드시 PK, FK 관계에 의해서만 성립된다. ② NON-EQUI JOIN은 등가 조건이 성립되지 않은 테이블에 JOIN을 걸어주는 방법이다. ③ OUTER JOIN은 JOIN 조건을 만족하지 않는 데이터도 볼 수 있는 JOIN 방법이다. ④ SELF JOIN은 하나의 테이블을 논리적으로 분리시켜 EQUI JOIN을 이용하는 방법이다.  문제 2. 4개의 테이블로부터 필요한 칼럼을 조회하려고 한다. 최소 몇 개의 JOIN 조건이 필요한가? ① 2개 ② 3개 ③ 4개 ④ 5개  문제 3. 다음 SET 연산자에 대한 설명 중 틀린 것은 무엇인가?① UNION 연산자는 조회 결과에 대한 합집합을 나타내며 자동으로 정렬을 해준..

[SQLD] 4-8. SQL 활용 - 절차형 SQL, PL/SQL, Procedure 생성, User Defined Function, Trigger

A. 절차형 SQL 개요 1. DBMS 벤더별 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T_SQL(SQL Server) 절차형 SQL 제공 2. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 할 수 있음  B. PL/SQL 특징 1. Block 내에는 DML 문장과 QUERY 문장, 절차형 언어 등 사용 가능 2. 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어 3. PL/SQL은 Block 구조로 되어있어 각 기능별로 모듈화가 가능 4. 변수, 상수 둥을 선언하여 SQL 문장과 값 교환 5. IF, LOOP 둥의 절차형 언어를 사용하여 절차적인 프로그램이 가능 6. DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용 7...

[SQLD] 4-7. SQL 활용 - DCL, Oracle/SQL Server/DB 유저와 권한

A. DCL(DATA CONTROL LANGUAGE) 개요 - 유저를 생성하고 권한을 제어할 수 있는 명령어  B. 유저와 권한- 데이터베이스는 데이터 보호와 보안을 위해서 유저와 권한을 관리  Oracle 유저와 권한 특징1. 유저를 통해 데이터베이스에 접속을 하는 형태 2. 아이디와 비밀번호 방식으로 인스턴스에 접속 3. 스키마에 오브젝트 생성 등의 권한을 부여받음  SQL Server 유저와 권한 특징1. 로그인 생성 2. 인스턴스 내에 존재하는 데이터베이스에 연결하여 유저 생성 3. 로그인과 유저를 매핑 4. 특정 유저는 특정 데이터베이스 내의 특정 스키마에 대해 권한을 부여받을 수 있음  C. 유저 생성과 시스템 권한  Oracle - 유저생성1. 유저 생성은 CREATE USER 권한이 필요 ..

[SQLD] 4-6. SQL 활용 - 윈도우 함수, Window Function 문법, RANK, DENSE_RANK, ROW_NUMBER, SUM, COUNT, FIRST_VALUE, LAG, LEAD, RATIO_TO_REPORT, PERCENT_RANK, CUME_DIST, NTILE

A. Window Function 개요 1. 분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION) 2. 행과 행간의 관계 정의, 행과 행간 비교 및 연산하는 것 3. 데이터웨어하우스에서 발전 4. 서브쿼리에서 사용 가능  B. Window Function 문법   C. WINDOW FUNCTION 종류 윈도우 함수 설 명그룹 내 순위 함수RANK, DENSE_RANK, ROW_NUMBER 함수ANSI/ISO SQL 표준과 Oracle, SQL Server 등 대부분의 DBMS에서 지원그룹 내 집계 함수SUM,MAX, MIN, AVG, COUNT 함수 ANSI/ISO SQL 표준과 Oracle, SQL Server 둥 대부분의 DBMS에서 지원 SQL Server의 경우 집계..

[SQLD] 4-5. SQL 활용 - 그룹 함수, ANSI/ISO SQL 표준, ROLLUP, GROUPING, CUBE

A. 데이터 분석을 위한 함수 ( ANSI/ISO SQL 표준 )    B. GROUP FUNCTION - ROLLUPGROUP BY의 확장된 형태병렬 수행 가능시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합지정된 칼럼목록은 소계를 생성하기 위해 사용Grouping Columns의 수+1 Level의 Subtotal이 생성ROLLUP의 인수는 계층 구조이므로 인수 순서가 바뀌면 수행 결과도 변경계증간 집계에 대해서는 LEVEL별로 정렬계층 내 GROUP BY 수행 결과는 정렬을 지원하지 않아 별도의 ORDER BY 절을 사용하여 정렬  C. GROUP FUNCTION - GROUPING 1. 소계가 계산되는 행은 1, 소계가 아닌 행은 2를 반환하는 함수  D. GROUP FUNCTI..

[SQLD] 4-4. SQL 활용 - 서브쿼리, 단일행 서브쿼리, 다중행 서브 쿼리, 다중 컬럼 서브 쿼리, 연관 서브 쿼리, 기타 서브 쿼리, 뷰(view)

A. 서브쿼리 - 서브쿼리 개요하나의 SQL문안에 포함되어 있는 또 다른 SQL문서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있음메인쿼리는 서브쿼리의 칼럼을 사용할 수 없음질의 결과에 서브쿼리 칼럼을 표시해야 한다면 조인 방식으로 변환, 함수, 스칼라 서브쿼리(Scalar Subquery)를 사용서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성 - 서브쿼리 주의사항괄호를 사용하여 서브쿼리 표시서브쿼리는 단일 행(Single Row)/복수 행(Multiple Row) 비교 연산자와 함께 사용단일 행 비교 연산자는 서브쿼리의 결과가 1 건 이하복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관없음서브쿼리에서는 ORDER BY를 사용하지 못함 - 서브쿼리 사용 위치SELECT 절FR..

[SQLD] 4-3. SQL 활용 - 계층형 질의(Hierarchical Query), Oracle 계층형 질의, 질의 함수, SQL Server 계층형 질의, SELF JOIN

A. 계층형 질의 1. 계층형 질의(Hierarchical Query)를 사용 2. 계층형 데이터는 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 3. 엔터티를 순환관계 데이터 모델로 설계할 경우 계층형 데이터가 발생 4. 계층형 데이터 조회는 DBMS 벤더와 버전에 따라 다른 방법으로 지원B. Oracle 계층형 질의    C. Oracle 계층형 질의 함수   D. SQL Server 계층형 질의 1. CTE(Common Table Expression)를 재귀 호출 2. WITH 절의 CTE 쿼리를 보면, UNION ALL 연산자로 쿼리 두 개를 결합 3. 위에 있는 쿼리를 '앵커 멤버’ (Anchor Member) 4. 아래에 있는 쿼리를 '재귀 멤버’ (Recursive Member..

[SQLD] 4-2. SQL 활용 - 집합연산자(SET OPERATION) 개요, 종류, 사용법

A. 집합 연산자(SET OPERATION) 개요 1) 집합 연산자 개념1. JOIN과 더불어 두 개 이상의 테이블에서 데이터를 조회하는 방법 2. 여러 개의 질의의 결과를 연결하여 하나로 결합 3. 2개 이상의 질의 결과를 하나의 결과로 리턴 2) 집합 연산자 사용1. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 2. 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 3. 튜닝관점에서 실행계획을 분리 3) 집합 연산자 유의점1. SELECT 절의 칼럼 수가 동일해야 함 2. SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함 3. ORDER BY는 집합 연산을 적용한 최종 결과에 대한 정렬 처리로 마지막 줄에 한..

[SQLD] 4-1. SQL 활용 - 표준 조인, Standard SQL, Inner Join, Natural Join, Using Join, Cross Join, Outer Join

A. STANDARD SQL 개요1. 관계형 데이터베이스를 유일하게 접속할 수 있는 언어가 SQL 2. 벤더별로 일부 기능의 개발이 진행 중인 경우도 있고 벤더별로 특이한 기술 용어는 여전히 호환이 안 되고 있음 3. ANSI/ISO SQL 표준을 통해 STANDARD JOIN을 포함한 많은 기능이 상호 벤치마킹하면서 DBMS 간 평준화됨  B. ANSI/ISO 표준 SQL의 기능 1. STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 둥 새로운 FROM 절 JOIN 기능) 2. SCALAR SUBQUERY, TOP-N QUERY 둥의 새로운 SUBQUERY 기능 3. ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 4. WINDOW FUNCTION 같은 새..

반응형