본문 바로가기

Structured Query Language/SQLD

(13)
SQLD_2과목_3장 SQL 최적화 기본 원리_1절 옵티마이저와 실행계획, 2절 인덱스 기본, 3절 조인 수행 원리 3장 SQL 최적화 기본 원리 1절 옵티마이저와 실행계획 옵티마이저: SQL문에 대한 최적의 실행방법을 결정하여 실행 계획 도출, SQL문에 대한 파싱 후 실행됨, 내비게이션 ※ SQL문 실행 순서 ⦁ 파싱(Parsing): SQL 문법 검사 및 구문 분석 작업 ⦁ 실행(Execution): 옵티마이저의 실행 계획에 따라 ⦁ 인출(Fetch): 데이터를 읽어 전송 ⦁ 옵티마이저 엔진 - 질의 변환기(Query Transformer): 작성된 SQL문을 처리하기 용이한 형태로 변환하는 모듈 - 비용 예측기(Estimator): 생성된 계획의 비용을 예측하는 모듈 - 대안계획 생성기(Plan Generator): 동일한 결과를 생성하는 다양한 대안 계획을 생성하는 모듈, 1) 연산 적용 순서 2) 연산 방법..
SQLD_2과목_2장 SQL 활용_7절 DCL, 8절 절차형 SQL 7절 DCL DCL: 유저를 생성하거나 권한을 제어하는 명령어, 보안을 위해 필요함 ⦁ GRANT: 권한 부여 GRANT 권한 ON 오브젝트 TO 유저명; ⦁ REVOKE: 권한 제거 REVOKE 권한 ON 오브젝트 TO 유저명; 권한(Privileges) ⦁ SELECT, INSERT, UPDATE, DELETE, ALTER, ALL : DML 관련 권한 ⦁ REFERENCES : 지정된 테이블을 참조하는 제약조건을 생성하는 권한 ⦁ INDEX : 지정된 테이블에서 인덱스를 생성하는 권한 Oracle의 유저 ⦁ SCOTT: 테스트용 샘플 유저 ⦁ SYS: DBA 권한이 부여된 최상위 유저 ⦁ SYSTEM: DB의 모든 시스템 권한이 부여된 DBA ROLE: 권한의 집합, 권한을 일일이 부여하지 않고 R..
SQLD_2과목_2장 SQL 활용_4절 서브쿼리, 5절 그룹 함수, 6절 윈도우 함수 2장 SQL 활용 4절 서브쿼리 서브쿼리: 하나의 SQL문 안의 SQL문 종류 ⦁ 동작 방식에 따른 분류 - 비연관 서브쿼리: 메인쿼리 칼럼을 가지고 있지 않는 서브쿼리, 메인쿼리에 값을 제공하기 위한 목적으로 주로 사용함 ⦁ Access Subquery: 제공자 역할 ⦁ Filter Subquery: 확인자 역할 ⦁ Early Filter Subquery: 데이터 필터링 역할 - 연관 서브쿼리(Associative Subquery): 메인쿼리의 결과를 조건이 맞는지 확인하기 위한 목적으로 주로 사용함 ⦁ 반환 데이터 형태에 따른 분류 ⦁ 단일 행 서브쿼리: 실행 결과가 1건 이하인 서브쿼리, 단일 행 비교 연산자와 함께 사용 ⦁ 다중 행 서브쿼리: 실행 결과가 여러 건인 서브쿼리, 다중 행 비교 연산자..
SQLD_2과목_2장 SQL 활용_1절 표준조인, 2절 집합 연산자, 3절 계층형 질의와 셀프 조인 2장 SQL 활용 1절 표준조인 SQL에서의 연산 집합 연산 UNION UNION 합집합 INTERSECTION INTERSECT 교집합 DIFFERENCE MINUS (오라클) EXCEPT (SQL Server) 차집합 PRODUCT CROSS JOIN 곱집합 (생길 수 있는 모든 데이터 조합) 관계 연산 SELECT WHERE절 조건에 맞는 행 조회 PROJECT SELECT절 조건에 맞는 칼럼 조회 JOIN 여러 JOIN DIVIDE 없음 공통요소를 추출하고 분모 릴레이션의 속성을 삭제한 후 중복된 행 제거 ANSI/ISO SQL의 조인 형태: INNER JOIN, NATURAL JOIN, CROSS JOIN, OUTER JOIN NATURAL JOIN: 같은 이름을 가진 칼럼 전체에 대한 등가 조..
SQLD_2과목_1장 SQL 기본_6절 함수, 7절 GROUP BY, HAVING절, 8절 ORDER BY절, 9절 조인 6절 함수 단일 행 함수: 1) SELECT절 2) WHERE절 3) ORDER BY절에 사용 가능, 각 행에 개별적으로 작용, 여러 인자를 입력해도 단 하나의 결과만 출력 ⦁ 문자형 함수: 문자열 입력 시 문자열이나 숫자 반환 ⦁ LOWER, UPPER, LENGTH ⦁ CONCAT : 문자열 결합 ⦁ SUBSTR : 문자열 부분 추출 ⦁ LTRIM, RTRIM, TRIM : 왼쪽 공백 제거, 오른쪽 공백 제거, 양쪽 공백 제거 ⦁ ASCII : 아스키 코드값 출력 ⦁ 숫자형 함수 ⦁ ABS, SIGN : 절대값, 부호 (1, 0, -1 중 출력) ⦁ MOD : 나머지, 연산자 ’%’로 대체 가능함 ⦁ ROUND, CEIL, FLOOR : 반올림, 올림, 버림 (‘함수(E,N)’으로 소수점 이후 N번째..
SQLD_2과목_1장 SQL 기본_3절 DML, 4절 TCL, 5절 WHERE절 3절 DML INSERT: 데이터 입력 SQL>> INSERT INTO 테이블명 (칼럼명, …) VALUES (필드값, …); SQL>> INSERT INTO 테이블명 VALUES (필드값, …); UPDATE: 데이터 수정 SQL>> UPDATE 테이블명 SET 칼럼명=필드값; DELETE: 데이터 삭제 SQL>> DELETE FROM 테이블명 WHERE 조건절; SQL>> DELETE FROM 테이블명; ⦁ DELETE로 데이터를 삭제해도 테이블 용량은 초기화되지 않음 (↔ TRUNCATE로 삭제하면 초기화됨) ⦁ ↔ DROP은 객체 삭제 명령어 SELECT ⦁ 칼럼 별 데이터 선택 SQL>> SELECT 칼럼명 FROM 테이블명; ⦁ 데이터 중복 없이 선택 SQL>> SELECT DISTINCT 칼..
SQLD_2과목_1장 SQL 기본_1절 관계형 DB 개요, 2절 DDL 2과목 SQL 기본 및 활용 1장 SQL 기본 1절 관계형 DB 개요 DB: 데이터를 일정한 형태로 저장해 놓은 것, DBMS를 이용하여 효율적인 데이터 관리와 데이터 손상 복구 가능 종류 ⦁ 계층형 DB: 트리 형태의 자료구조에 데이터 저장, 1:N 관계 표현 ⦁ 네트워크형 DB: 오너와 멤버 형태로 데이터 저장, M:N 관계 표현 ⦁ 관계형 DB: 릴레이션에 데이터 저장, 집합 연산과 관계 연산 가능 관계형 DB(RDB; Relational Database): 1) 정규화를 통해 이상현상 및 중복 데이터 제거 2) 동시성 관리와 병행 제어를 통해 데이터 동시 조작 가능 집합 연산 ⦁ 합집합(Union) ⦁ 차집합(Difference) ⦁ 교집합(Intersection) ⦁ 곱집합(Cartesian P..
SQLD_1과목_2장 데이터 모델과 성능_6절 분산 DB 데이터에 따른 성능 6절 분산 DB 데이터에 따른 성능 분산 DB: 분산된 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB, 물리적 사이트는 분산되어 있으나 논리적으로 동일한 시스템, 과거에는 위치 중심이었으나 현재는 업무 필요에 따라 분산 설계 ⦁ 설계 방식 ⦁ 상향식: 지역 스키마 작성 후 전역 스키마 작성 ⦁ 하향식: 전역 스키마 작성 후 지역사상 스키마 작성 ⦁ 장단점 장점 1) 신뢰성과 가용성 증가 2) 빠른 응답 속도와 통신비용 절감 3) 용량 확장 용이 단점 1) 관리 및 통제 어려움 2) 데이터 무결성 관리 어려움 3) S/W 개발 비용 및 처리 비용 증가 4) 불규칙한 응답 속도 분산 DB의 투명성 분위지중장병행 ⦁ 분할 투명성: 하나의 논리적 관계가 분할되어 각 단편의 사본이 여러 사이트에 저장됨..