Computer Science/데이터베이스

https://yunzae.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F
조인이란? 조인이란 두개 이상의 테이블을 하나의 집합으로 만드는 연산이다. SQL문의 FROM절에 두개 이상의 테이블 혹은 집합이 존재할 경우 조인이 수행된다. 조인은 3개 이상의 테이블을 조인한다고 하더라도 특정 시점에 2개의 테이블 단위로 조인이 된다. A,B,C집합을조인한다면A,B조인후해당결과집합을C와조인하는방식이다. 각각의 조인 단계에서는 서로 다른 조인 기법(방법)이 사용될 수 있다. 즉A,B조인시에는NL조인을수행하고A,B조인의결과와C를조인시에는해시조인이수행될수있다. NL 조인 게시물 10개(소량)씩 가져오기 등에 유리, OLTP(보험,쇼핑몰등등) 소트 머지 조인 A집합, B집합을 따로 읽고 병합한다.(인덱스 영향X) , 잘 쓰이진 않음 해시 조인 많은 정보를 가져와야 할 때 유지, 첫번째 집합..
인덱스 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개념이다. 검색조건에 부합하는 데이터를 효과적으로(빠르게) 검색할 수 있도록 돕는다. 한 테이블은 0개~N개의 인덱스를 가질 수 있다. 한 테이블에 과도하게 많은 인덱스가 존재하면 INSERT, UPDATE, DELETE와 같은 DML 작업시 부하가 발생한다. B*Tree 인덱스 DBMS에서 널리 사용되는 가장 일반적인 인덱스이다. 루트 블록, 브랜치 블록, 리프 블록으로 구성된ㄷ. 가장 상위에 존재하는 블록이 루트 블록이고 브랜치 블록은 분기를 목적으로 하는 블록이다. 리프 블록은 트리의 가장 아래 단계에 존재하는 블록이다. 리프 블록은 인덱스를 구성하는 컬럼의 데이터와 해당 데이터를 가지고 있는 행의 위치를 가리키는 레..
옵티마이저 사용자가 질의한 SQL문에 대한 최적의 실행방법을 결정하는 역할을 수행한다. 이러한 최적의 실행방법을 실행계획이라고 하낟. 사용자가 요구사항을 만족하는 결과를 추출할 수 있는 다양한 실행 방법이 존재한다. 다양한 실행 방법들을 도출하고 그중에서 최적의 실행방법을 결정하는 것이 옵티마이저의 역할이다. 비용기반 옵티마이저 SQL문을 처리하는데 비용이 가장 적게 드는 실행계획을 선택하는 방식이다. 비용이란 SQL문을 처리하는데 예상되는 시간 또는 자원을 의미한다. 테이블, 인덱스 등의 통계정보와 시스템 통계정보를 이용하여 최적의 실행계획을 도출한다. 인덱스를 사용하는 비용이 테이블 풀 스캔 비용보다 크다고 판단되면 테이블 풀 스캔을 유도하게 된다. 예전엔 규칙기반 옵티마이저: 인덱스가 있으면 무조건..
절차형 SQL 일반적인 개발언어처럼 SQL문도 절차지향적인 프로그램 작성이 가능하도록 절차형 SQL을 제공한다. 절차 형 SQL을 사용하면 SQL문의 연속적인 실행이나 조건에 따른 분기 처리를 수행하는 모듈을 생성할 수 있다. 오라클) 이러한 절차 형 모듈의 종류는 프로시저, 사용자정의함수, 트리거가 있다. 오라클) 이러한 절차형 모듈을 PL/SQL이라고 부른다. PL/SQL의 개요 PL/SQL은 Block 구조로 되어 있고 Block 내에는 SQL문, IF, LOOP 등이 존재함 PL/SQL을 이용해서 다양한 모듈을 개발 가능 PL/SQL의 특징 Blcok 구조로 되어 있으며 각 기능별로 모듈화가 가능 변수/상수 선언 및 IF/LOOP문 들의 사용이 가능 DBMS에러나 사용자 에러 정의를 할 수 있음 ..
DCL 유저를 생성하고 권한을 제어할 수 있는 명령어 데이터의 보호와 보안을 위해서 유저와 권한을 관리해야함 오라클에서 제공하는 유저들 SCOTT: 테스트용 샘플 유저 SYS: DBA 권한을 부여 받은 유저(최상위 유저) SYSTEM: SYSTEM 데이터베이스의 모든 시스템 권한을 부여받은 유저(SYS바로 밑) 유저 생성(SYSTEM계절으로 접속) ROLE을 이용한 권한 부여 유저를 생성하면 다양한 많은 권한들을 부여 해야함 DBA는 ROLE을 생성하고 ROLE에 각종 권한을 부여한 후 해당 ROLE을 다른 유저에게 부여 ROLE에 포함된 권한들이 필요한 유저에게 빠르게 권한을 부여할 수 있음
윈도우 함수 행과 행간의 관계에서 다양한 연산 처리를 할 수 있는 함수가 윈도우 함수이다. 분석함수로도 알려져 있다. (ANSI 표준은 윈도우 함수이다.) 윈도우 함수는 일반 함수와 달리 중첩하여 호출 될 수는 없다. 윈도우 함수의 종류 순위관련함수 RANK DENSE_RANK ROW_NUMBER 집계관련함수 SUM MAX MIN AVG COUNT 행순서관련함수 FIRST_VALUE LAST_VALUE LAG (이전) LEAD (다음) 그룹내 비율관련함수 CUME_DIST PERCENT_RANK NTILE RATIO_TO_REPORT OVER()함수는 서브쿼리를 간단하게 대체하기 위해 사용됨, 오라클에서 OVER() 를 사용하면 GROUP BY나 서브쿼리를 사용하지 않고 분석 함수(SUM, MAX, CO..
그룹함수 그룹함수를 이용하여 특정 집합의 소계, 중계, 합계, 총 합계를 구할 수 있다. 즉 이러한 합계를 계산하기 위해서 기존에 들어갔던 다양한 노력들이 그룹 함수를 이용하여 간단하게 처리할 수 있게 되었다. 그룹 함수의 종류 ROLLUP 소 그룹간의 소계를 계산하는 기능 ROLLUP함수 내에 인자로 지정된 GROUPING 컬럼은 SUBTOTAL을 생성하는데 사용된다. GROUPING 컬럼의 수가 N이라고 했을 때 N+1의 SUBTOTAL이 생성된다. ROLLLUP함수 내의 인자의 순서가 바뀌면 결과도 바뀌게 된다. (ROLLUP은 계층 구조임) CUBE 다차원적인 소계를 계산하는 기능 결합 가능한 모든 값에 대하여 다차원 집계를 생성 CUBE함수 내에 컬럼이 N개라면 2의 N승만큼의 SUBTOTAL이..
윤재에요
'Computer Science/데이터베이스' 카테고리의 글 목록