sqld 21

[SQLD] 18회 10/5 합격 및 후기

9월 5일에 시험을 본 SQLD 합격했습니다. (네이버 블로그에는 포스팅을 했는데 티스토리는 몰아서올렸네요..ㅎㅎㅎ 티스토리로 정착하고싶은데 아직 네이버 블로그 접속수가 많아서 ㅠㅠ) 회사를 다니며 2~3주가량 준비해서 시험을 준비했는데요. 첫시험에 재응시없이 합격해서 기분이 더 좋네요. 저의 공부방법은 책을보고 블로그에 포스팅하는 방식으로 했습니다. 두번 세번은 못봤고 한번할때 실습까지 하면서 제대로 보려고노력했습니다. 사실 블로그 포스팅하다가 중간단계에서는 너무 시간이 많이걸리는것같아서... 밑줄치며 공부를 했습니다. 음 팁이아닌 팁을 드리자면 연습문제를 무조건 다 풀어보시고 인터넷에 공유되어있는 SQLD/P 기출문제를 보시는것을 추천드립니다. 연습문제랑 거의 똑같은 문제도 나오기 때문이죠... 연습..

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 3절 조인 수행 원리

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 3절 조인 수행 원리 - 조인이란 두 개 이상의 테이블을 하나의 집합으로 만드는 연산이다. - SQL문에서 FROM 절에 두 개 이상의 테이블이 나열된 경우 조인이 수행된다.- 조인 연산은 두 테이블 사이에 수행된다.- 테이블을 조인할 때는 조인 단계별로 다른 조인 기법을 사용할 수 있다.( 테이블 A와 테이블 B를 조인할 때는 NL Join 기법을 수행하고, 해당 조인결과를 테이블 C와 조인할 때는 Hash Join 기법을 사용할 수 있다.) 1. NL Join- 중첩된 반복문과 유사한 방식으로 조인을 수행함.- 반복문의 외부에 있는 테이블을 선행테이블 또는 Outer table이라고 하고, 반복문 내부에 있는 테이블을 후행 테이..

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 2절 인덱스 기본

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 2절 인덱스 기본 1.인덱스 특징과 종류 - 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개념.- 테이블을 기반으로 선택적으로 생성할 수 있는 구조.- 인덱스의 기본적인 목적은 검색 기능의 최적화이다. 가. 트리기반 인덱스- DBMS에서 가장 일반적인 인덱스는 B-Tree 인덱스이다. * B Tree 인덱스- B Tree 인덱스는 브랜치블록과 리프블록으로 구성된다. 브랜치 블록 중에서 가장 상위에서 있는 블록을 루트 블록 이라고 한다. 브랜치 블록은 분기를 목적으로 하는 블록이다.- 브랜치 블록은 다음 단계의 블록을 가리키는 포인터를 가지고 있다.- 리프 블록은 인덱스를 구성하는 칼럼의 데이터와 데이터..

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 1절SQL 옵티마이져와 실행계획

[SQLD] 2과목 SQL 기본및 활용 - 3장 SQL 최적화 기본 원리 1절SQL 옵티마이져와 실행계획 1.옵티마이져- 옵티마이저는 사용자가 질의한 SQL문에 대해 최적의 실행방법을 결정하는 역할을 함 - 최적의 실행방법을 실행계획이라고함.- 다양한 실행 방법들 중 최적의 실행 방법을 결정하는 것이 바로 옵티마이져의 역할.- 실행방법을 결정하는 방법에 따라 비용기반 옵티마이져와 규칙기반 옵티마이져로 나눌 수 있다. 가. 규칙기반 옵티마이져.- 규칙기반 옵티마이져는 규칙(우선순위)을 가지고 실행계획을 생성함.- 규칙기반 옵티마이져가 실행계획을 생성할 때 참조하는 정보에는 SQL문을 실행하기위해 이용가능한 인덱스의 종류, SQL 문에서 사용하는 연산자의 종류, SQL문에서 사용하는 객체의 종류 등이 있다...

[SQLD] 2과목 SQL 기본및 활용 - 1장 8절 ORDER BY 절

[SQLD] 2과목 SQL 기본및 활용 - 1장 8절 ORDER BY 절 1. ORDER BY 절- SQL 문장으로 조회된 테이블을 다양한 목적에 맞게 특정 칼럼을 기준으로 정렬하여 출력하는데 사용한다.- ORDER BY 절에 칼럼명 대신에 SELECT 절에서 사용한 ALIAS명이나 칼럼 순서를 나타내는 정수도 사용한다. SELECT 칼럼명FROM 테이블명[WHERE 조건식][GROUP BY 칼럼이나 표현식][HAVING 그룹조건식][ORDER BY 칼럼이나 표현식 [ASC 또는 DESC] ; * ASC : 오름차순정렬( DEFAULT)* DESC : 내림차순 정렬 * ORDER BY 절 사용 특징.- 기본적인 정렬 순서는 오름차순(ASC) 이다.- 숫자형 데이터 타입은 오르차순으로 정렬했을 때 가장 작..

[SQLD] 2과목 SQL 기본및 활용 - 1장 7절 GROUP BY, HAVING 절

[SQLD] 2과목 SQL 기본및 활용 - 1장 7절 GROUP BY, HAVING 절 1. 집계함수- 여러행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수.- GROUP BY 절은 행들을 소그룹화 한다.- SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. 집계함수명 ( [DISTINCT | ALL ]칼럼이나 표현식)* DISTINCT는 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션. - 집계함수 종류. 집계함수사용목적 COUNT(*)NULL 값을 포함한 행의 수를 출력 COUNT(표현식)표현식의 값이 NULL 값인 것을 제외한 행의 수를 출력 SUM([DISTINCT | ALL] 표현식)표현식의 NULL 값을 제외한 합계를 출력한다. AVG([DISTINCT |..

[SQLD] 2과목 SQL 기본및 활용 - 1장 6절 함수

[SQLD] 2과목 SQL 기본및 활용 - 1장 6절 함수 1. 내장함수 개요 - 함수는 벤더에서 제공하는 함수인 내장함수와 사용자가 정의할 수 있는 사용자 정의함수로 구분할 수 있다.- 내장함수는 함수의 입력값이 단일행 값이 되는 단일행 함수와 여러개의 값이 입력되는 다중행 함수로 구분할 수 있다.- 다중행 함수는 집계함수, 그룹함수, 윈도우함수로 나눌 수 있다.* 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1관계라는 특징을 가지고있다. 1) 단일행 함수의 종류 ( 오라클 / SQL server) 종류내용 함수의 예 문자형 함수문자를 입력하면 문자나 숫자 값을 반환한다. LOWER, UPPER, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM, RTRIM, TRIM, ..

[SQLD] 2과목 SQL 기본및 활용 - 1장 5절 WHERE

[SQLD] 2과목 SQL 기본및 활용 - 1장 5절 WHERE 1. WHERE 조건절 개요- 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL문장에 WHERE 절을 이용하여 자료들에 대하여 제한할 수 있다.- WHERE절에는 두 개 이상의 테이블에 대한 조인 조건을 기술하거나 결과를 제한하기위한 조건을 기술할 수도 있다.- WHERE절에 조건이 없는 경우 FULL TABLE SCAN이 발생하므로 SQL튜닝의 1차적인 검토대상이 된다. 2. 연산자의 종류 구분연산자 의미 비교연산자 = 같다 >크다 > =크거나 같다 < = 작거나 같다 SQL 연산자BETWEEN a AND ba보다 크거나 같고 b보다 작거나 같다 IN( list)list에 있는 값 중에서 어느 하나라도 일치하면 된다. LIKE '비..

[SQLD] 2과목 SQL 기본및 활용 - 1장 3절 DML

[SQLD] 2과목 SQL 기본및 활용 - 1장 3절 DML 1. INSERT- 테이블에 데이터를 입력하는 방법은 두 가지 유형이 있으며 한 번에 한 건만 입력된다.* 컬럼명리스트와 입력되는 값은 서로 1:1로 매핑해서 입력하면된다. 해당 칼럼의 데이터유형이 문자형일 경우 ' '로 묶어주며 숫자일 경우 ' '를 붙이지 않는다. 1) INSERT INTO 테이블명 (COLUMN_LIST)VALUES(COLUMN_LIST에 넣을 VALUE_LIST);* 테이블의 칼럼을 정으할 수 있는데, 이때 칼럼의 순서는 테이블의 칼럼순서와 매치할 필요는 없으며 정의하지 않은 칼럼은 DEFAULT로 NULL값이 입력된다. NOT NULL제약조건이나 PK 지정된 컬럼은 NULL이 허락되지 않는다. 2) INSERT INTO..

[SQLD] 2과목 SQL 기본및 활용 - 1장 2절 DDL

[SQLD] 2과목 SQL 기본및 활용 - 1장 2절 DDL 1. 데이터 유형 - 특정 칼럼을 정의할 때 선언한 데이터 유형은 그 칼럼이 받아들일 수 있는 자료의 유형을 규정한다. 데이터 유형설명 CHARACTER(s)- 고정길이 문자열 정보(ORACLE/SQL SERVER 모두 CHAR로 표현) - s는 기본길이 1바이트, 최대 길이 ORACLE 2,000 바이트, SQL SERVER 8000 바이트- s만큼 길이를 갖고 고정길이를 가지고 있으므로 할당된 변수 값의 길이가 s보다 작을 경우 그 차이 길이만큼 공간으로 채워진다. VARCHAR(s)- CHARACTER VARYING 약자로 가변길이 문자열 정보(오라클은 VARCHAR2로 표현, SQL SERVER는 VARCHAR로 표현) - s는 최소 길..