목록Certification/Sqld (28)
습관처럼
SQLD 시험을 본지 시간이 좀 지났지만 늦게나마 많은 사람들에게 도움이 되고자 공부법 및 시험 후기를 알려드리고자 합니다. 먼저 저는 전공자이지만 데이터베이스를 공부한지 오래되어.... Anyway~ 저는 37화 시험을 봤고 운좋게도 80점으로 합격을 할수 있었습니다. 이글을 통해 시험을 준비하는 모든사람들이 노랭이에 대해서와 시험공부자료를 얻어갈수 있으면 좋겠습니다. 저는 참고서를 이용하지 않고 데이터진흥원에서 제공하는 자료를 다운받아 공부했습니다. (생각보다 양이 좀 많았지만 자세하게 공부할 수 있어서 저에게는 큰 도움을 받았습니다 하지만 비전공자의 경우 참고서를 이용하는 방법도 좋은거 같아요!!! 다음으로 문제집입니다. 일명 노@랭@이@책을 5회독 정도했습니다. 저는 기억력이 나빠서 빠르게 여러번..
Connect by 계층적 쿼리는 오라클만이 가진 기능 중 하나로, 데이터를 선택하여 계층적인 순서 그대로 리턴하는데 사용된다. 예를 들면, 아래와 같이 직원 테이블이 있다고 생각 하자. 기본적인 SQl을 사용하여 계층 관계를 표현하는것은 불가능하다. 하지만 재귀 PL/SQL 루틴과 connect by 를 사용한다면 표현이 가능하다. 재귀 PL/SQL은개발과 처리 과정에서 다소 많은 시간이 필요로 한다는 단점이 있으며, 변경사항이 있을 때 다른 저장 프로시저를 만들거나 보다 복잡하게 변경해야 한다는 점도 무시 할 수 없다. 이에 오라클에서는 connect by라는 확장된 select 구문을 지원한다. select lpad(' ',(level-1)*2,' ')||직원 직원, 직급 from 직원 start ..
제 3절 조인 수행 원리 조인이란? 두 개 이상의 테이블을 하나의 집합으로 만드는 연산. SQL문에서 FROM 절에 두 개 이상의 테이블이 나열될 경우 조인이 수행. 조인 연산은 두 테이블 사이에서 수행된다. 조인의 종류 NL Join, Sort Merge Join, Hash Join 1. NL Join NL Join 정의 두개의 테이블을 중첩된 반복문처럼 조인을 수행한다. 반복문 외부(처음 테이블)에 있는 테이블을 선행테이블 또는 외부 테이블 반복문 내부(두번째 테이블)에 있는 테이블을 후행테이블 또는 내부 테이블 이라고 부른다. # 조인을 반복문으로 표현하면 아래와 같다. for 선행 테이블 읽음 --- 다른말로---> 외부 테이블(Outer Table) for 후행 테이블 읽음 ---다른말로--->..
1. 인덱스 특징과 종류 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개념이다. Insert, Update, Delete 등과 같은 DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려질 수 있다는 단점이 존재한다. 인덱스에 대한 설명으로 옳은 것 인덱스는 데이터 조회 목적에는 효과적이지만, insert, update, delete 작업에는 오히려 많은 부하를 줄 수 있다. sql server의 클러스터형 인덱스는 oracle의 IOT와 매우 유사하다. 인덱스는 insert 와 delete 작업과는 다르게 update 작업에는 부하가 없을 수도 있다. >>인덱스를 구성하는 컬럼 이외의 데이터가 update될때에는 인덱스로 인한 부하가 발생하지 않는다. 대량..
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에서만 지원되는 함수) 비율 관..