본문 바로가기

스터디72

4장 정규화 정규화란? 속성 간의 부정확한 종속성을 없애는 것을 의미 정규형도 문제점이 존재하고 더 나은 선택을 하고자 비정규형을 채택할 수 있지만 완벽하게 정규화된 모델은 실제 업무를 가장 잘 반영할 수 있으며, 간결해서 더욱 직관적이고 이해하기 쉽습니다. 다만 정규형은 성능차원에서 보완이 필요한 대가 존재할 수 있음 정규화의 목적 정규화를 하는 가장 근복적인 이유는 중복 데이터(속성,엔터티)를 제거하기 위함 중복데이터는 정합성에 악영향을 미치고 데이터 이상현상인 아노말리를 발생시킵니다. 중복을 완전히 제거하는 것은 불가능하지만 최소화시킬 수 있을만큼 최소화해야 합니다. 아노말리 아노말리는 데이터 이상 현상입니다. 릴레이션에 존재하는 데이터에 의도하지 않은 이상현상이 발생할 때가 있고, 아노말리는 중복된 데이터 때.. 2021. 9. 28.
쿼리변환 관련 퀴즈- Unnesting 문제 PK 인덱스와 쿼리는 다음과같다. 인덱스를 추가하고 힌트를 추가하거나 where 조건절에 조건을 추가하여 아래와 같은 실행계획이 나오도록 쿼리를 짜보십시오 1~6번 1번 쿼리 7 ~10 2번쿼리 PK 인덱스 --create index empx01 on emp(deptno); --create index dept1_x01 on dept1(deptno); 문제 select * from dept d where /*빈칸 */ and exists (select 'x' from emp e where e.deptno = d.deptno /*빈칸 */ ); 1. ---------------------------------------------------------- | Id | Operation | Name | E.. 2021. 9. 1.
04 쿼리변환 - 서브쿼리 Unnesting 쿼리변환이란? 결과가 동일하더라도 SQL문을 여떤 형태로 작성하느냐에 따라 성능에 차이가 날 수 있으며 쿼리 옵티마이저가 SQL을 분석해 의미적으로 동일하면서도 더 나은 성능이 개대되는 형태로 재작성하는 것을 말합니다. 옵티마이저의 서브엔진으로서 Query Transformer,Estimator,Plan Generator가 있는데 이중 Query Transformer가 그 역할을 담당합니다. 쿼리변환은 두가지 방식으로 작동합니다. 휴리스틱 쿼리변환 : 결과만 보장된다면 무조건 쿼리변환을 수행합니다. 일종의 규칙기반 최적화기법이라고 할 수 있습니다. 비용기반 쿼리변환 : 변환된 쿼리의 비용이 더 낮을 때만 그것을 사용하고, 그렇지 않을 때는 원본 쿼리 그대로 두고 최적화를 수행합니다. 서브쿼리 Unnest.. 2021. 8. 30.
2 데이터 모델링 기본 개념 2.1 관계형 데이터 모델링 관계형 모델이란? 함수 종속(Functional Dependency)에 의해 정규화(Nomalization)된 모델 관계형모델에서 기초가 되는 개념이 릴레이션 릴레이션 (테이블)은 가로 세로로 이루어 진 표 형태이고 머리부분인 어트리뷰트(컬럼)과 몸통부분인 튜플(로우)로 구성됩니다. 튜플의 집합이 릴레이션입니다. 어트리뷰트 중 튜플을 유일하게 식별할 수 있는 어트리뷰트를 식별자(PK)라고 합니다. 어트리뷰트의 수를 차수(Degree)라고 하며 튜플의 수를 카티널리티(Cardinality)라고 합니다. 특징 1.릴레이션에서 각 튜플을 유일해야 한다는 것 2.어트리뷰트는 유일한 값이 사용돼야 하며 다중 값이나 복합 값이 존재해서는 안됩니다. (한 로우에 여러 값이 들어가 있는 경.. 2021. 8. 17.