일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SQL 기본 및 활용
- SQLD 정리
- SQLD
- 백준 2293 동전 1
- 백준 접두사 로직
- 백준 예산 코드
- 너비우선탐색
- 백준 1141 접두사
- BFS
- SQLD 내용 정리
- 알고리즘
- SQLD 요약
- 백준 1141 로직
- 백준 2512 자바
- 백준 접두사 자바
- 백준 동전1 자바
- SQLD 내용
- 자바 이분 탐색 예제
- 백준 부분합 로직
- 백준 1141
- 자바 문자열 예제
- 백준 2293 자바
- SQLD SQL 활용
- 자바 DP 예제
- SQLD SQL 최적화 기본 원리
- 백준
- 오라클 예제
- 백준 예산 자바
- SQLD 책
- 자바 예제
- Today
- Total
목록SQLD 요약 (20)
혼자 공부하는 공간
더보기 NL JOIN Sort Merge JOIN Hash JOIN > * 조인이란 두 개 이상의 테이블을 하나의 집합으로 만드는 연산이다. * SQL 문에서 FROM 절에 두 개 이상의 테이블이 나열될 경우 조인이 수행된다. ex) A, B, C 테이블을 조인할 때, A와 B 테이블이 먼저 조인되고 조인된 결과와 C 테이블이 다시 조인되는 방식이다. ---> 이 때, 각 조인별로 다른 조인 기법을 사용할 수 있다. 1. NL JOIN * 프로그래밍에서 사용하는 중첩된 반복문(Nested Loop)과 유사한 방식으로 조인을 수행. * 반복문에서 외부에 있는 테이블을 선행 테이블(Driving Table) 또는 외부 테이블(Outer Table)이라하고 하고, 반복문의 내부에 있는 테에블을 후행 테이블(L..
더보기 인덱스 특징과 종류 트리 기반 인덱스 SQL Server의 클러스터형 인덱스 전체 테이블 스캔과 인덱스 스캔 전체 테이블 스캔 인덱스 스캔 비교 > 1. 인덱스 특징과 종류 * 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 개념이다. * 테이블을 기반으로 선택적으로 생성할 수 있는 구조이다. * 기본적인 목적은 검색 성능의 최적화. * INSERT, UPDATE, DELETE와 같은 DML 작업은 테이블과 인덱스 또한 함께 변경하므로 오히려 느려질 수 있기에 주의해서 사용한다. 1-1. 트리 기반 인덱스 * DBMS에서 가장 일반적인 인덱스 : B-트리 인덱스 * Root 블록, Branch 블록, Leaf 블록으로 구성되어 있다. Root 블록 * 가장 상위에 존재하는 블록. Branch ..
더보기 옵티마이저 실행 계획 SQL 처리 흐름도 > 1. 옵티마이저 * 사용자가 질의한 SQL 문에 대해 최적의 실행 방법(실행 계획 ; Execution Plan)을 결정하는 역할을 수행한다. * 최적의 실행 방법이란, 같은 일을 처리하더라도 최소의 일량으로 처리하는 방법을 말한다. * 규칙 기반 옵티마이저(Rule Based Optimizer ; RBO), 비용 기반 옵티마이저(Cost Based Optimizer ; CBO)로 분류할 수 있다. ---> 대부분의 관계형 DB는 비용 기반 옵티마이저만을 제공. A. 규칙 기반 옵티마이저 (RBO) * 규칙(우선 순위)을 가지고 실행 계획을 생성한다. * SQL문을 실행하기 위해 가용 인덱스 유무와 종류, SQL문에서 사용하는 연산자의 종류, SQL문에..
더보기 PL/SQL 개요 Procedure의 생성과 활용 User Defined Function의 생성과 활용 Trigger의 생성과 활용 Procedure와 Trigger의 차이점 > * 일반적인 개발 언어처럼 SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 PL/SQL(Oracle), SQL/PL(DB2), T-SQL(SQL Server) 등의 절차형 SQL을 제공한다. * 이번 게시글에서는 절차형 SQL을 이용하여 만들 수 있는 저장 모듈인 Procedure, User Defined Function, Trigger 에 대해서 살펴볼 것이다. 1. PL/SQL 개요 (Oracle) A. PL/SQL 특징 * Block 구조로 되어있고, Block 내에는 DML 문과 Query 문, 절..
더보기 유저와 권한 유저 생성과 시스템 권한 부여 OBJECT에 대한 권한 부여 ROLE을 이용한 권한 부여 > * 유저를 생성하고 권한을 제어할 수 있는 명령어. 1. 유저와 권한 [문제] 다른 부서 간에 또는 다른 회사 간 데이터를 공유하기 위해 DB를 오픈해야 하는 경우가 있는데 데이터 손실 우려가 커지기 때문에 문제가 된다. [해결] 새로운 유저를 생성하고, 생성한 유저에 공유할 테이블이나 기타 오브젝트에 대한 접근 권한만 부여한다면 데이터가 수정되거나 손실될 문제를 방지할 수 있다. * Oracle 설치시 기본적으로 제공되는 유저인 SYS, SYSTEM, SCOTT 유저에 대해 알아본다. [Oracle VS SQL Server] 1. Oracle a. 접속 방식 유저를 통해 DB에 접속하는 형태..
더보기 그룹 내 순위 함수 RANK 함수 DENSE_RANK 함수 ROW_NUMBER 함수 일반 집계 함수 SUM 함수 MAX 함수 MIN 함수 AVG 함수 COUNT 함수 그룹 내 행 순서 함수 FIRST_VALUE 함수 LAST_VALUE 함수 LAG 함수 LEAD 함수 그룹 내 비율 함수 RATIO_TO_REPORT 함수 PERCENT_RANK 함수 CUME_DIST 함수 NTILE 함수 > * 기존 관계형 데이터베이스는 칼럼과 칼럼간의 연산, 비교, 연결이나 집합에 대한 집계는 쉽지만, 행과 행간의 관계를 정의하거나, 비교, 연산하는 것을 하나의 SQL문으로 처리하는 것은 매우 어렵다. ---> 이를 해결하기 위해 만든 함수가 윈도우 함수(WINDOW FUNCTION)이다. A. 특징 데이터 웨어..
더보기 ROLLUP 함수 CUBE 함수 GROUPING SETS 함수 > * ANSI/ISO SQL 표준은 데이터 분석을 위해서 다음 세 가지 함수를 정의하고 있다. AGGREGATE FUNCTION GROUP AGGREGATE FUNCTION 으로도 부르며, GROUP FUNCTION의 한 부분으로 분류된다. COUNT, MIN, MAX, AVG, SUM 등 집계 함수들이 포함되어 있다. GROUP FUNCTION 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 리포트를 작성할 수 있도록 해주는 함수 집계 함수를 제외한 ROLLUP, CUBE, GROUPING SETS 함수가 있다. * ROLLUP : 소그룹 간의 소계를 계산하는 함수이다. GROUP BY의 확장된 형태로 사용하며 병렬로 수행이..
더보기 단일 행 서브쿼리 다중 행 서브쿼리 다중 칼럼 서브쿼리 연관 서브쿼리 그 밖의 위치에서 사용하는 서브쿼리 SELECT 절에 서브쿼리 사용하기 FROM 절에서 서브쿼리 사용하기 HAVING 절에서 서브쿼리 사용하기 UPDATE 문의 SET 절에서 사용하기 INSERT 문의 VALUES 절에서 사용하기 뷰(VIEW) > * 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 말한다. * 메인쿼리가 서브쿼리를 포함하는 종속적 관계. A. JOIN과의 비교 * JOIN은 JOIN에 참여하는 모든 테이블이 대등한 관계에 있기 때문에 JOIN에 참여하는 모든 테이블의 칼럼을 어느 위치에서라도 자유롭게 사용할 수 있다. * 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 반대로 메인쿼리는 서브쿼리의..