본문 바로가기

CHALLENGE489

[J STORY] SQLP - 조인 수행 원리 1. 조인이란 ? 조인이란 두개 이상의 테이블을 하나의 집합으로 만드는 연산이다. 조인기법중 자주사용되는 조인은 NL JOIN, HASH JOIN, SORT MERGE JOIN등이 있다. 2. NL Join NL 조인은 프로그램에서 사용하는 중첩된 반복문과 유사한 방식으로 조인을 수행한다. 반복문의 외부에 있는 테이블을 선행 테이블 또는 외부테이블(OUTER TABLE)이라고하고, 반복문의 내부에 있는 테이블을 후행 테이블 또는 내부(INNER TABLE)이라고 한다. 먼저 선행 테이블의 조건을 만족하는 행을 추출하여 후행 테이블을 읽으면서 조인을 수행한다. 선행테이블의 조건을 만족하는 모든 행의 수만큼 반복수행한다. 선행 테이블의 조건을 만족하는 행의 수가 많으면 그만큼 후행 테이블 조인작업은 반복 수.. 2021. 4. 22.
SQLP - 옵티마이저와 실행계획 1. 옵티마이저 옵티마이저는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 옵티마이저가 선택한 실행 방법의 적절성 여부는 질의 수행 속도에 가장 큰 영향을 미치게된다. 옵티마이저가 최적의 살행 방법을 결정하는 방식에는 규칙기반(RBO, Rule Based Optimizer)와 비용기반(CBO, Cost Based Optimizer)로 구분한다. 현재는 비용기반(CBO) 위주로 신규 기능에 지원되고, 규칙기반(RBO) 에서는 신규 기능에 대해서 지원하지않는다. 가. 규칙기반 옵티마이저 규칙기반 옵티마이저가 실행계획을 생성할 때 참조하는 정보에는 SQL문을 실행하기 위해서 이용 가능한 인덱스 유무와(유일, 비유일, 단일, 복합 인덱스) 종류, SQL문 에서 사용하는 연산자(=.. 2021. 4. 18.
[J STORY] SQLP - DML(DATA MANIPULATION LANGUAGE) 1. INSERT 테이블에 데이터를 입력하는 방법은 두 가지 유형이 있으며 한 번에 한 건만 입력된다. 해당 칼럼명과 입력되어야 하는 값을 서로 1:1로 매핑해서 입력하면 된다. 해당 칼럼의 데이터 유형이 CHAR나 VARCHAR2 등 문자 유형일 경우 『 ' 』(SINGLE QUOTATION)로 입력할 값을 입력한다. 숫자일 경우 『 ' 』(SINGLE QUOTATION)을 붙이지 않아야 한다. 첫 번째 유형은 테이블의 칼럼을 정의할 수 있는데, 이때 칼럼의 순서는 테이블의 칼럼 순서와 매치할 필요는 없으며, 정의하지 않은 칼럼은 Default로 NULL 값이 입력된다. 단, Primary Key나 Not NULL 로 지정된 칼럼은 NULL이 허용되지 않는다. 두 번째 유형은 모든 칼럼에 데이터를 입력.. 2021. 4. 12.
[J STORY] SQLP - DDL(DATA DEFINTION LANGUAGE) 1. 데이터 유형 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준 특정 칼럼을 정의할 때 선언한 데이터 유형은 그 칼럼이 받아들일 수 있는 자료의 유형을 규정 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 데이터베이스는 에러를 발생시킴 데이터 유형과 더불어 지정한 크기(SIZE)도 중요한 기능을 제공, 지정한 데이터의 크기를 넘어선 자료가 입력되는 상황에서 에러를 발생 데이터 유형(숫자 타입) ANSI/ISO 기준에서는 NUMERIC Type의 하위 개념으로 NUMERIC, DECIMAL, DEC, SMALLINT, INTEGER, INT, BIGINT, FLOAT, REAL, DOUBLE PRECISION SQL Server와 Sybas.. 2021. 4. 11.
[J STORY] SQLP - 관계형 데이터베이스 개요 1. 데이터베이스 데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미한다. 효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS(Database Management System)라고 한다. 데이터베이스의 발전 1960년대 : 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리하였다. 1970년대 : 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품들이 상용화 되었다. 1980년대 : 현재 대부분의 기업에.. 2021. 4. 11.
[J STORY] SQLP - 분산 데이터베이스와 성능 1. 분산 데이터베이스의 개요 분산 데이터베이스란? 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 논리적으로 동일한 시스템에 속하나, 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임 데이터베이스를 연결하는 빠른 네트워크환경을 이용하여 데이터베이스를 여러 지역 및 노드로 위치시켜 사용성/성능을 극대화시킨 데이터베이스 2. 분산 데이터베이스의 투명성(Transparency) - 분산데이터베이스가 되기 위해서는 6가지 투명성을 만족해야 한다. 분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장 위치 투명성 : 사용하려는 데이터의 저장장소를 명시가 필요하지 않음. 위치정보는 System .. 2021. 4. 10.