목록DB (5)
희렌버핏
1 옵티마이저와 실행 계획1.1 옵티마이저 - SQL의 실행계획을 수립, 실행 => 성능 차이 1.2 옵티마이저 특징 - 데이터 딕셔너리에 있는 통계를 바탕으로 비용 산정하여 최저 비용 계획을 실행 1.3 옵티마이저의 필요성 - 큰 테이블 : EMP / 작은 테이블 : DEPT ===> 교집합을 AND로 도출하는 경우 - 작은 테이블 전체를 읽고 EMP와 같은 행을 찾는게 최적의 계획 - 옵티마지어에게 힌트를 줘서 실행계획 변경 가능 1.4 옵티마이저 실행계획 확인 - SQL은 실행계획을 PLAN_TABLE에 저장 - TOAD > Exception Plan Current SQL 메뉴에서 확인가능 ex) TABLE ACCESS FULL => EMP 테이블을 모두 읽었다는 표시개발자SQL > Parsing(..
1 조인(Join)1.1 EQUI JOIN (등가 교집합) - '='을 사용해서 연결SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPTNO.DEPTNO;1.1.2 INNER JOIN - 'INNER JOIN'이라는 텍스트를 사용하고 where가 없음?SELECT * FROM EMP INNER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO AND EMP.ENAME LIKE '임%' ORDER BY ENAME;* 해시조인 - 선행테이블에서 주어진 조건에 해당하는 행을 선택 - 해시 테이블을 메인 메모리에 생성 - 후행 테이블에서 주어진 조건에 만족하는 행을 찾음 - 조인키를 사용하여 해시함수 적용. 해당 버킷 검색 1.1.3 INTERSECT 연산 - ..
1 관계형 데이터베이스1.1 관계형 데이터베이스 등장 - 1970년대 E.F. Codd 박사의 논문에서 처음 소개된 데이터베이스 - 조인 연산을 통해 합집합,교집합,차집합 생성 1.2 DB와 DB 관리 시스템의 차이점 - DB 종류 : 계층형, 네트워크형, 관계형 ① 계층형 : 트리형태의 자료구조, 1:N 관계 ② 네트워크 : 오너와 멤버 형태로 데이터 저장, 1:N & M:N 둘다 가능 ③ 관계형 : 릴레이션에 데이터 저장 관리, 릴레이션을 사용해 집합연산 관계연산 가능 - DB 관리 시스템 : DBMS, 데이터베이스 관리 위한 소프트웨어 1.3 관계형 데이터베이스 집합 연산과 관계 연산 - 집합연산 ① 합집합(Union) : 두 개의 릴레이션을 하나로 합하는 것. 중복된 행 한번만 조회 ② 차집합(D..
1 정규화1.1 정규화 - 일관성, 최소 중복, 최대 유연성 위한 방법 - 데이터를 분해하는 과정 - 독립성을 확보하기 위한 방법 - 변화 발생해도 변경 최소화 - 제 5정규화까지 있지만 3정규화까지만 수행 - 불필요한 데이터 입력하지 않아도 돼서 중복 데이터가 제거된다. * 함수적 종속 : X -> Y 이면 Y는 X에 함수적으로 종속 1.2 정규화 절차 ① 제1정규화 - 기본키를 설정 ex) 계좌번호 하나만으로는 유일성을 만족하지 못해 회원id를 함께 기본키로 추가 - 유일성을 만족할 수 있는 식별자를 찾는다. 한개의 컬럼으로 안될 경우 두개를 합친다. ② 제2정규화 - 기본키가 2개 이상의 컬럼으로 이루어진 경우 부분 함수 종속성을 제거(분해)한다. - 부분 함수 종속성 : 회원ID가 변경되면 이름도..
1 데이터 모델링의 이해1.1 데이터 모델링 - 현실세계를 추상화 - 모델링 위해 고객 업무 프로세스 이해 > 데이터 모델링 표기법 사용하여 모델링 - 복잡하지 않게 - 고객 업무 프로세스 추상화 > 분석 설계하면서 더 상세 - 정의된 비즈니스 규칙을 데이터 모델로 표현 1.2 데이터 모델링 특징 - 추상화 : 현실세계 간략 표현 - 단순화 : 누구나 쉽게 이해 - 명확성 : 명확한 의미 해석 1.3 데이터 모델링 단계 - 개념적 모델링 : -- 전사적 관점(업무 전체에 대해서 데이터 모델링) -- 기술적 언어 사용x -- 엔터티와 속성 도출 -- 추상적 수준이 가장 높은 모델링 -- 모델 관계없이 업무 측면에서 모델링 - 논리적 모델링 : -- 특정 데이터베이스 모델링에 종속 -- 식별자 정의, 관계 ..