본문 바로가기

반응형

sqld

[SQLD] 2과목 정리 - SQL 최적화의 원리 옵티마이저와 실행 계획 옵티마이저 SQL을 작성하여 실행할 때 SQL을 어떻게 실행할 것인지를 계획 실행계획을 수립하고 SQL 실행하는 DBMS의 소프트웨어 SQL의 성능에 중요한 역할 옵티마이저 특징 데이터 딕셔너리에 있는 오브젝트 통계, 시스템 통계 등의 정보를 사용해 예상 비용 산정 여러 개의 실행 계획 중 최저비용을 가지고 있는 계획을 선택해 SQL을 실행 옵티마이저의 필요성 두 개의 크기가 다른 테이블 A, B 에서(A > B) 동일한 행을 조회 하는 차는 연산이 있을 때 A 테이블의 행을 먼저 읽고 B테이블에 동일한 행을 찾게될 때 보다 B 테이블의 행을 먼저 읽고 A테이블에 동일한 행을 찾으면 결과는 동일하지만 불필요한 비교 횟수를 줄일 수 있게 된다. 이 때 옵티마이저가 비효율적인 실행 계.. 더보기
[SQLD] 1과목 정리 - 데이터 모델과 성능 정규화 데이터의 일관성, 최소한의 중복, 최대한의 유연성을 위한 방법으로 데이터를 분해하는 과정 데이터 중복을 제거하고 데이터 모델의 독립성을 확보하기 위한 방법 테이블을 분해해 데이터 중복을 제거하기 때문에 데이터 모델의 유연성을 높인다. 비즈니스에 변화가 발생해도 데이터 모델의 변경을 최소화할 수 있다. 제1 정규화부터 제5 정규화까지 있지만 실질적으로 제3 정규화까지만 수행 * 이상 현상 - 정규화를 수행하지 않아 입력, 수정 등에 문제가 발생하는 상황 정규화 절차 제1정규화 속성의 원자성을 확보, 기본키를 설정 함수적 종속성을 통해 기본키를 도출, X가 Y를 함수적으로 종속하고있고 X가 변경될 때 Y도 변경되면 X가 기본키가 된다. 제2정규화 기본키가 2개 이상의 속성으로 이루어진 경우 부분함수종.. 더보기
[SQLD] 1과목 정리 - 데이터 모델링 데이터 모델링 현실 세계를 DB로 표현하기 위해 추상화 데이터 모델링을 하기 위해 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해 필요 고객의 업무 프로세스를 이해한 후 데이터 모델링 표기법을 사용해 모델링 고객이 쉽게 이해할 수 있도록 복잡하지 않게 모델링 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석.설계하며 점점 상세 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의 -> 정의된 비즈니스 규칙을 데이터 모델로 표현 데이터 모델링의 특징 추상화 - 현실 세계를 간략하게 표현, 공통적인 특징을 찾고 간략하게 표현 단순화 - 복잡한 문제를 피하고 이해하기 쉽게 표현 명확화 - 의미적 해석이 모호하지 않고 한 가지 의미만 가지며 명확한 해석 필요 데이터 모델링 단계 개념적 모.. 더보기

반응형