본문 바로가기

SQLD8

[SQLD] 2과목 - 4장. SQL 최적화 기본 원리 (최적화 부분은 출제 지양) 1절. 옵티마이저와 실행계획 1. 옵티마이저 : SQL문에 대한 최적의 실행방법을 결정하여 실행 계획 도출, SQL문에 대한 파싱 후 실행됨, 내비게이션 SQL문 작성 파싱(Parsing) : SQL 문법 검사 및 구문 분석 작업 옵티마이저(비용기반/규칙기반) 실행(Execution) : 옵티마이저의 실행 계획에 따라 인출(Fetch) : 데이터를 읽어 전송 옵티마이저 엔진 질의 변환기(Query Transformer) : 작성된 SQL문을 처리하기 용이한 형태로 변환하는 모듈 비용 예측기(Estimator) : 생성된 계획의 비용을 예측하는 모듈. 총 비용은 최적의 실행 계획을 수립하기 위함 대안계획 생성기(Plan Generator) : 동일한 결과를 생성하는 다양한 대안.. 2022. 11. 8.
[SQLD]2과목 - 3장. SQL 활용 / JOIN, 서브쿼리, 그룹함수 1절. 표준조인 (Standard join) 1-1. SQL에서의 연산 집합 연산 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), PRODUCT(곱집합) 순수 관계 연산 SELECT WHRER절 (조건에 맞는 행) PROJECT SELECT절 (조건에 맞는 칼럼) JOIN (UPDATE 아님!!) DIVIDE (공통요소를 추출하고 분모 릴레이션의 속성을 삭제한 후 중복된 행 제거) 1-2. FROM절 JOINANSI/ISL에서 규정한 JOIN문법 : NATURAL JOIN, INNER JOIN, CROSS JOIN, OUTER JOIN NATURAL JOIN - 같은 이름을 가진 칼럼 전체에 대한 등가(=EQUI) 조인 - 앨리어스나 테이블명 사용 불가 ★ - U.. 2022. 11. 8.
[SQLD] 2과목 - 1장. SQL 기본 / 2장. WHERE 1장. SQL 기본 1절. 관계형 DB 개요 DB : 데이터를 일정한 형태로 저장해 놓은 것, DBMS를 이용하여 효율적인 데이터 관리와 데이터 손상 복구 가능 1-1. 종류 계층형 DB: 트리 형태의 자료구조에 데이터 저장, 1:N 관계 표현 네트워크형 DB: 오너와 멤버 형태로 데이터 저장, M:N 관계 표현 관계형 DB: 릴레이션에 데이터 저장, 집합 연산과 관계 연산 가능 1-2. 관계형 DB (RDB; Relational Database) 장점 정규화를 통해 이상현상 및 중복 제거 동시성 관리와 병행 제어를 통해 데이터 동시 조작 가능 데이터의 표현방법 등 체계화 가능, 데이터 표준화, 품질 확보 보안, 데이터 무결성 보장, 데이터 회복/복구 단점 동시 입력/수정/삭제 불가능으로 정보관리 어려움.. 2022. 11. 7.
[SQLD]1과목 - 3장. DB 구조와 성능 1절. DB 구조와 성능 1. 슈퍼타입/서브타입 데이터 모델 변환을 통한 성능 향상 부모의 속성 중에 더 작은 그룹으로 분리해서 관리할 필요가 있는 속성이 있을 때, 슈퍼타입 또는 서브타입 단위로 모델링한다. 그 중 슈퍼타입(전체를 하나의 테이블로 관리)에 정의된 공통 속성과 각 서브타입의 속성을 더하여 각각의 서브타입별로 테이블을 설계하는 방법이 서브타입 단위의 모델링이다. 트랜잭션은 전체를 통합하여 분석처리하는데 슈퍼-서브타입이 하나의 테이블로 통합되어 있으면 하나의 테이블에 집적된 테이블만 읽어 처리할 수 있기 때문에 다른 형식에 비해 더 성능이 우수하다. (개별로 유지하면 조인에 의해 성능이 저하될 수 있다.) 트랜잭션은 서브타입 개별로 처리하는데 테이블은 하나로 통합하여 변환하면 불필요하게 많은.. 2022. 11. 7.
[SQLD]1과목 - 2장. 데이터 모델과 성능 1절. 성능 데이터 모델링의 개요 성능 데이터 모델링 : DB 성능향상을 위한 사항이 데이터 모델링에 반영되도록 하는 것 수행 시점 분석/설계 단계 → 모델링 시점이 늦어질수록 재업무 비용 증가. 데이터 증가가 빠를수록 성능저하에 따른 성능개선비용 증가분석/설계 단계에서 성능을 고려한 모델링을 수행할 경우 성능저하에 따른 Rework비용을 최소화할 수 있다. 고려 사항 : 정규화 수행, DB 용량 산정과 트랜잭션 유형 파악을 통한 반정규화 수행, 정규화는 무조건 해야함! 순서 : 정규화 → DB용량산정 → 트랜잭션 유형 파악 → 반정규화 → 이력모델, PK/FK조정, 슈퍼/서브타입 조정 → 성능관점에서 검증 ★ 2절. 정규화와 성능 정규화(Normalization) : 다양한 검사를 통해 데이터 모델을 .. 2022. 11. 7.
[SQLD]1과목 - 1장 3절. 식별자 식별자 : 하나의 엔터티에 구성되어있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 유일성을 만족하는 속성 1. 특징 ★★★ (유 최 불 존) 유일성 최소성 불변성 존재성 2. 종류 대표성 여부에 따른 분류 주식별자 : 대표성을 만족하는 식별자, 해당업무에서 자주 이용되는 속성 보조 식별자 : 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음 DB 키의 종류 기본키(PK; Primary Key) : 엔터티를 대표하는 키, 후보키 중 선정됨, UNIQUE, NULL값 불가능 후보키 : 유일성과 최소성을 만족하는 키 슈퍼키 : 유일성만 만족하는 키 대체키 : 기본키를 제외한 나머지 후보키 외래키(FK; Foreign Key) : 여러 테이블의 기본 키 필드 참조 무결성(Referenti.. 2022. 10. 13.