반응형

# 4. 자격증/SQLD 28

SQL 자격검정 실전문제 # 문제집 요점정리_과목 2_SQL 최적화 기본 원리

CBO(비용 기반 옵티마이저) Cost Based Optimizer 테이블 및 인덱스 등의 통계 정보를 활용하여 SQL문을 실행하는데 소요될 처리시간 및 CPU, I/O 자원량 등을 계산하여 가장 효율적일 것으로 예상되는 실행계획을 선택하는 옵티마이저. 이에 따라 인덱스가 존재하더라도 전체 테이블 스캔이 유리하다고 판단될 수 있다. 테이블, 인덱스, 칼럼 등 객체의 통계 정보를 사용해 실행계획을 수립. 따라서 통계정보가 변경되면 SQL의 실행계획이 달라질 수 있다. CBO의 실행계획에는 단계별 예상 비용 및 건수 등이 표시된다. 규칙 기반 옵티마이저 적절한 인덱스가 존재하면 항상 인덱스를 사용하려고 한다. 제일 낮은 우선순위는 전체 테이블 스캔이고 높은 우선순위는 ROWID를 활용해 테이블을 액세스 하는..

# 4. 자격증/SQLD 2021.11.17

SQL 자격검정 실전문제 # 문제집 요점정리_과목 2_SQL 활용

순수 관계 연산자 SELECT 연산 - WHERE 절로 구현 PROJECT 연산 - SELECT 절로 구현 (NATURAL) JOIN 연산 - 다양한 JOIN 기능으로 구현 DIVIDE 연산 - 현재 사용되지 않는다. Cartesian Product 카티시안 곱 두 엔터티를 JOIN 할 때 적절한 JOIN조건이 없을 때 발생. CROSS JOIN을 사용하자. 82p 70 FROM 절 JOIN 형태 ANSI/ISO SQL에서 표시하는 FROM 절의 JOIN 형태는 다음과 같다. INNER JOIN - 기존 WHERE 절의 검색 조건과 JOIN 조건을 그대로 사용할 수 있으며 JOIN 조건을 FROM 절에서 명시적으로 정의할 수 있게 되었다. NATURAL JOIN - INNER JOIN의 하위 개념 - 두..

# 4. 자격증/SQLD 2021.11.16

SQL 자격검정 실전문제 # 문제집 요점정리_과목 2_SQL 기본

SQL 명령어 종류 TCL에는 COMMIT, ROLLBACK, SAVEPOINT가 있다. 일부는 TCL을 DCL로 분류하기도 한다. (ROLLBACK은 COMMIT되지 않은 모든 TRANSACTION에 대해 적용된다.) DML은 비절차적 데이터 조작어라고 불린다. 또한 호스트 프로그램 속에 삽입되어 사용되는 명령어기 때문에 데이터 부속어(Data Sub Language)라고도 한다. 절차/비절차적 데이터 조작어 비절차적 데이터 조작어(DML) - 사용자가 무슨 데이터를 원하는지만을 명세. 절차적 데이터 조작어 - 어떻게 데이터를 접근해야하는지 명세. - PL/SQL(오라클), T-SQL(SQL Server)등이 있다. CONSTRAINT 예제 CREATE TABLE TEAM ( TEAM_ID CHAR(3..

# 4. 자격증/SQLD 2021.11.14

SQL 자격검정 실전문제 # 문제집 요점정리_과목 1

과목 1 데이터 모델링의 이해 제1장 데이터 모델링의 의해 모델링의 목적 일정한 표기법에 의해 표현함으로써 업무 내용을 정확히 분석할 수 있다. 분석한 내용을 바탕으로 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용한다. 즉, 데이터베이스를 생성 및 구축하기 위함 뿐만 아니라 업무를 설명하고 분석하는 부분에서도 큰 의미를 가진다. 데이터 모델링 유의점 중복 비유연성 ☞ 해결법 : 데이터 정의를 프로세스와 분리함으로써 유연성을 높여줄 수 있다. 비일관성 ☞ 해결법 : 데이터 간의 상호 연간 관계에 명확히 정의한다면 사전에 예방 가능. 데이터 모델링의 3단계 시간에 따라 진행되는 과정으로서 추상화 수준에 따라 다음과 같이 나뉜다. 개념적 데이터 모델링 추상화 수준이 높고 업무중심적이고 포괄적인 수준..

# 4. 자격증/SQLD 2021.11.13

SQLD 자격증 # SQL 활용(과목2)_서브쿼리

서브쿼리(Subquery) 하나의 SQL문안에 포함되어 있는 또 다른 SQL문. ​ 서브쿼리 사용시 주의사항 서브쿼리를 괄호로 감싸서 사용한다. 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다. 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT절에서 오직 한 개만 올 수 있기 때문에 ORDER BY절은 메인쿼리의 마지막 문장에 위치해야 한다. 서브쿼리가 SQL문에서 사용이 가능한 곳 SELECT 절, FROM 절, WHERE 절, HAVING 절, ORDER BY 절, INSERT..

# 4. 자격증/SQLD 2021.11.12

SQLD 자격증 # SQL 활용(과목2)_계층형 질의와 셀프 조인

1. 계층형 질의 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의(Hierarchical Query) 사용. ​ 계층형 데이터란? 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터. 예를들면, 사원 테이블에서는 사원들 사이에 상위 사원(관리자)과 하위 사원 관계가 존재하고 조직 테이블에서는 조직들 사이에 상위 조직과 하위 조직 관계가 존재. 엔터티를 순환관계 데이터 모델로 설계할 경우 계층형 데이터 발생. 순환관계 데이터 모델의 예) 조직, 사원, 메뉴 등 ▼ [그림 Ⅱ-2-6]: 사원에 대한 순환관계 데이터 모델 표현 (2) 계층형 구조 : A의 하위 사원은 B, C이고 B 밑에는 하위 사원이 없고 C의 하위 사원은 D, E 가 있음 (3) 샘플 데이터 : (2)..

# 4. 자격증/SQLD 2021.11.12

SQLD 자격증 # SQL 활용(과목2)_집합 연산자

집합 연산자(SET_OPERATOR) - 연관된 데이터를 조회하는 방법 중 하나 - 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식 사용 ☞ 즉, 집합 연산자는 2개 이상의 질의 결과를 하나의 결과로 만들어 준다. ■ 일반적으로 집합 연산자를 사용하는 상황 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 사용 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용 이외에도 튜닝관점에서 실행계획을 분리하고자 하는 목적으로도 사용 ■ 집합 연산자를 사용하기 위한 제약조건 (조건을 지키지 않을 시 데이터베이스가 오류 반환) SELECT 절의 칼럼 수가 동일 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능 (반드시 동일한..

# 4. 자격증/SQLD 2021.11.12

SQLD 자격증 # SQL 활용(과목2)_표준 조인

1. STANDARD SQL 개요 표준 SQL의 기능 STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 등 새로운 FROM 절 JOIN 기능들) SCALAR SUBQUERY, TOP-N QUERY 등의 새로운 SUBQUERY 기능들 ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 WINDOW FUNCTION 같은 새로운 개념의 분석 기능들 가. 일반 집합 연산자 UNION 연산은 UNION 기능으로 INTERSECTION 연산은 INTERSECT 기능으로 DIFFERENCE 연산은 EXCEPT(Oracle은 MINUS) 기능으로 PRODUCT 연산은 CROSS JOIN 기능으로 나. 순수 관계 연산자 SELECT 연산 WHERE 절로 구현 PROJECT 연산..

# 4. 자격증/SQLD 2021.11.12

SQLD 자격증 # SQL 기본(과목2)_조인

1. JOIN 개요 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것을 JOIN이라고 한다 JOIN은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능이라고 할 수 있다. 일반적인 경우 행들은 PRIMARY KEY(PK)나 FOREIGN KEY(FK) 값의 연관에 의해 JOIN이 성립된다. 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립 가능하다. 하나의 SQL 문장에서 선수, 팀, 운동장 등 여러 테이블을 조인해서 사용할 수도 있다. 다만 한 가지 주의할 점은 FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다는 것이다. FROM 절에 A, B, C 테이블이 나열되었더..

# 4. 자격증/SQLD 2021.11.11

SQLD 자격증 # SQL 기본(과목2)_ORDER BY 절

1. ORDER BY 정렬 ORDER BY 절에 칼럼(Column)명 대신 SELECT 절에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능 기본적인 정렬 순서는 오름차순(ASC), SQL 문장의 제일 마지막에 위치 SELECT 칼럼명 ALIAS명 FROM 테이블명 WHERE 조건식 GROUP BY 칼럼(Column)이나 표현식 HAVING 그룹조건식 ORDER BY 칼럼(Column)이나 표현식 [ASC 또는 DESC] ; ASC(Ascending) : 조회한 데이터를 오름차순으로 정렬한다.(기본 값이므로 생략 가능) DESC(Descending) : 조회한 데이터를 내림차순으로 정렬한다. 예제 내림차순으로 정렬(칼럼) 선수 테이블에서 선수들의 이름, 포지션, 백넘버를 출력하는데 사람..

# 4. 자격증/SQLD 2021.11.11
반응형