반응형

# 표준 조인

## 관계 대수

  • 관계형 데이터베이스에서 원하는 정보를 어떻게 찾아서 표현할지 기술하는 절차적 언어.
  • SQL 표준의 조인 기능은 관계 대수를 기반으로 진화, 개발 되었다.

## 관계대수의 유형

1. 일반 집합 연산자

  • 합집합, 교집합, 차집합, 곱집합의 수학적 집합 연산자.

합집합 (Union)

  • 키워드 : UNION, UNION ALL
  • UNION : 공통집합의 중복 부분을 제거하여 표현. (중복 제거를 위해 데이터 정렬(SORT) 작업을 수행하여 부하 발생)
  • UNION ALL : 중복 부분을 그대로 표현.

교집합 (Intersection)

  • 수학적 교집합
  • 키워드 : INTERSECT

차집합 (Difference)

  • 수학적 차집합
  • 키워드 : EXCEPT 혹은 MINUS

곱집합 (Product)

  • 수학적 곱집합
  • 키워드 : CROSS JOIN

2. 순수 관계 연산자

  • 관계형 데이터베이스를 구현하기 위한 관계 연산자.

SELECT

  • 조건을 만족하는 레코드를 찾기 위해 WHERE 키워드 사용.

Project

  • 필요한 속성을 추출하기 위해 SELECT 키워드 사용.

Join

  • 두 개의 릴레이션을 하나로 합치기 위해 JOIN 키워드 사용.

Divide

  • 나눗셈과 비슷한 개념이지만 SQL 에서는 사용되지 않음.

## 표준 조인의 유형

  • 테이블 간 조인 조건을 FROM 절에 명시적으로 정의할 수 있는 기법.
  • 표준 조인의 조건절 종류 : ON 조건절, USING 조건절

1. 내부 조인 (INNER JOIN)

  • 조인 조건에서 동일한 값이 있는 행만 반환.

SELECT 컬럼명
  FROM 테이블1 INNER JOIN 테이블2
    ON 조건절;

  • INNER 키워드 생략 가능.
  • ON 조건절로 조인 조건 정의.

2. 외부 조인 (OUTER JOIN)

  • 조인 조건에 동일한 값이 없더라도 행을 반환.

SELECT 컬럼명
FROM 테이블1 LEFT JOIN 테이블2
ON 조건절;

  • 왼쪽 테이블(테이블1) 을 기준으로 LEFT OUTER JOIN.

SELECT 컬럼명
FROM 테이블1 RIGHT JOIN 테이블2
ON 조건절;

  • 오른쪽 테이블(테이블2) 을 기준으로 RIGHT OUTER JOIN.

SELECT 컬럼명
FROM 테이블1 FULL OUTER JOIN 테이블2
ON 조건절;

  • 왼쪽, 오른쪽 모두 조건이 일치하지 않더라도 결합.
  • LEFT OUTER JOIN, RIGHT OUTER JOIN 을 합집합(UNION) 처리한 결과와 같음.

3. 크로스 조인 (CROSS JOIN)

  • 조인 조건 없이 모든 데이터의 조합을 표현.
  • Cartesian Product를 만들기 위한 조인 기법.

SELECT 컬럼명
FROM 테이블1 CROSS JOIN 테이블2;

  • ON 조건절을 정의하지 않음.

SELECT 컬럼명
FROM 테이블1 NATURAL JOIN 테이블2;

4. 자연 조인 (Natural JOIN)

  • 서로 다른 테이블에서 동일한 이름을 갖는 컬럼에 대해 자동으로 동등 조인을 수행.
  • 제약조건 : 자연 조인을 위해 컬럼명, 데이터 유형이 동일해야 함.
  • 테이블1, 테이블2의 공통 컬럼을 기준으로 조인 조건이 자동으로 설정됨.
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

SQLD 시험후기  (0) 2022.05.28
정보 요구사항의 유형  (0) 2022.05.26
인덱스  (0) 2022.05.23
윈도우 함수  (0) 2022.05.22
FUNCTION (함수, 내장 함수, 사용자 정의 함수)  (0) 2022.05.21
반응형

# 정보관리기술사

## 출제경향

  • 정보관리에 관련된 실무경험, 일반지식, 전문지식 및 응용능력.
  • 기술사로서의 지도감리능력, 자질 및 품위.

## 응시자격

  1. 기사 자격 취득 후 응시하려는 종목이 속하는 직무 분야에서 4년 이상 종사한 사람.
  2. 산업기사 자격 취득 후 응시하려는 종목이 속하는 동일 및 유사 직무분야에서 5년 이상 실무에 종사한 사람.
  3. 기능사 자격 취득 후 응시하려는 종목이 속하는 동일 및 유사 직무분야에서 7년 이상 실무에 종사한 사람.
  4. 응시하려는 종목과 관련된 학과로서 고용 노동부 장관이 정하는 학과의 대학 졸업자 등으로서 졸업 후 응시하려는 종목이 속하는 동일 및 유사 직무분야에서 6년 이상 실무에 종사한 사람.
  5. 응시하려는 종목이 속하는 동일 및 유사직무분야의 다른 종목의 기술사 등급의 자격을 취득한 사람.
  • 등등 의 응시자격 요건 존재.

## 취득방법

1. 필기

  • 단답형 및 주관식 논술형
  • 시험시간 : 매 교시당 100분, 총 400분

2. 실기

  • 구술형 면접
  • 시험시간 : 30분 정도

합격기준

  • 필기 / 실기 100점 만점으로 하여 60점 이상 취득 시 합격.

## 최근 합격률

종목명 연도 필기 실기
응시 합격 합격률(%) 응시 합격 합격률(%)
정보관리
기술사
2021 1,092 96 8.8% 145 108 74.5%
2020 1,206 86 7.1% 141 89 63.1%
2019 1,222 141 11.5% 183 130 71%
 

국가자격 종목별 상세정보 | Q-net

 

www.q-net.or.kr

반응형
반응형

# 인덱스 (Index)

  • 데이터베이스에 저장된 데이터를 빠르게 조회하기 위해 테이블에 연관된 정보를 독립적인 저장 공간에 저장하는 객체.
  • 테이블의 특정 레코드의 위치를 알려주는 용도로 사용, 인덱스 데이터는 인덱스를 구성하는 컬럼의 정렬 순서에 따라 오름차순(ASC), 내림차순(DESC)로 정렬된다.
  • Unique Index의 경우 NULL 값이 포함될 수 없다.
  • 관계형 데이터베이스에서 가장 많이 사용되는 인덱스 : B-트리 인덱스
  • 오라클의 경우 물리적인 주소 정보로 내부적으로 ROWID 사용.

## 인덱스 장단점

인덱스 장점

  • Select (조회) 작업의 성능 최적화.

인덱스 단점

  • Insert (입력), Update (수정), Delete (삭제) 작업의 성능 저하. (인덱스 컬럼 이외의 데이터를 수정하는 Update 작업의 경우 성능 저하 발생하지 않음.)

## 인덱스 문법

  • DDL (데이터 정의어) 문을 사용하여 인덱스를 생성, 삭제, 변경할 수 있다.
  • 인덱스 힌트 사용 시 해당 테이블의 엑세스 방법에 대해 실행계획이 변경되지 않는다.

1. 인덱스 생성

CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명);

2. 인덱스 삭제

DROP INDEX 인덱스명;

3. 인덱스 리빌드

ALTER INDEX 인덱스명 REBUILD;

## 인덱스의 유형

1. B-트리 인덱스 (Balanced Tree Index)

  • 루트 블록부터 리프 블록까지 거리가 일정한 트리 구조를 가진 인덱스.
  • 구성 : 루트 블록, 브랜치 블록, 리프 블록
  • 리프 블록 : 테이블 데이터에 대한 ROWID가 저장, 양방향 링크를 갖고 있어 오름차순, 내림차순 검색을 쉽게 할 수 있다.
  • 일치 및 범위 검색에 적절한 구조.

2. 비트맵 인덱스 (Bitmap Index)

  • 비트를 이용하여 컬럼 값 저장하고 비트맵을 구성.
  • 리프 노드 : 킷 값에 대한 비트맵 저장.
  • 장점 : 컬럼의 Distinct Value 개수가 작을 때 사용하면 저장 효율이 매우 높다.
  • 단점 : Lock에 의한 DML 부하가 심해 OLTP 환경에서 사용하기 어려움.
  • 읽기 위주의 대용량 DW, OLAP 환경에 적합.

반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

정보 요구사항의 유형  (0) 2022.05.26
표준 조인  (0) 2022.05.25
윈도우 함수  (0) 2022.05.22
FUNCTION (함수, 내장 함수, 사용자 정의 함수)  (0) 2022.05.21
시스템 권한, 오브젝트 권한  (0) 2022.05.19
반응형

# 윈도우 함수 (Window Function)

  • 데이터베이스에서 행과 행간의 비교 또는 연산을 처리하기 위한 함수.
  • 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해 SQL에 추가된 기능으로 OLAP 함수라고도 함.
  • 윈도우 함수는 메인 쿼리 뿐만 아니라 서브 쿼리에서도 사용할 수 있지만, 함수 자체에서 중첩으로 사용할 수 없다.
  • 윈도우 함수 처리로 인해 결과 건수가 달라지진 않는다.

## 윈도우 함수 문법

SELECT 윈도우 함수(인수) OVER

   [PARTITION BY 컬럼명]

   [ORDER BY 컬럼명]

   [WINDOWING 절]

FROM 테이블명;

  • 윈도우 함수 : 순위/집계/순서/비율 함수 존재
  • OVER : 윈도우 함수에서 OVER 키워드 필수.
  • PARTITION BY : 전체를 여러 개의 그룹으로 구분하기 위한 기준 정의. GROUP BY 구문과 의미상으로 유사.
  • WINDOWING 절 : 그룹 내에서 윈도우 함수를 적용할 행의 범위 지정.

## WINDOWING 절 문법

ROWS | RANGE

BETWEEN start_point AND end_point

  • WINDOWING 절 : 윈도우 함수를 적용할 행의 범위 지정
  • ROWS : 물리적 범위(ROW 기준)
  • RANGE : 논리적 범위(VALUE 기준)
  • Default 값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

start_point

  • UNBOUNDED PRECEDING : 최초의 레코드
  • CURRENT ROW : 현재 레코드
  • 값 PRECEDING : 값 만큼 이전 레코드
  • 값 FOLLOWING : 값 만큼 이후 레코드

end_point

  • UNBOUNDED FOLLOWING : 마지막 레코드
  • CURRENT ROW : 현재 레코드
  • 값 PRECEDING : 이전 레코드
  • 값 FOLLOWING : 이후 레코드
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

표준 조인  (0) 2022.05.25
인덱스  (0) 2022.05.23
FUNCTION (함수, 내장 함수, 사용자 정의 함수)  (0) 2022.05.21
시스템 권한, 오브젝트 권한  (0) 2022.05.19
DDL, DML, TCL, DCL, 역할(Role)  (0) 2022.05.18

+ Recent posts