본문 바로가기

SQL31

인덱스 Index - (1) 1. 디스크 읽기 방식컴퓨터의 CPU나 Memory처럼 전기적 특성을 가진 장치의 성능은 짧은 시간 동안 매우 빠른 속도로 발전했지만 디스크 같은 기계식 장치의 성능은 상당히 제한적으로 발전했다. (e.g. HDD, Hard Disk Drive) 최근에는 SSD가 많이 활용되고 있지만 여전히 데이터 저장 매체는 컴퓨터에서 가장 느린 부분이라는 사실에는 변함이 없다. 그래서 데이터베이스의 성능 튜닝은 어떻게 디스크 I/O (Input / Output)를 줄이느냐가 관건일 때가 상당히 많다. 2. 랜덤 (Random) I/O, 순차 (Sequential) I/OI/O라는 표현은 하드 디스크 드라이브의 플래터(원판)를 돌려서 읽어야 할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 다음 데이터를 읽는 것을 .. 2025. 3. 4.
제5정규형 (Fifth Normal Form) 제5정규형은 조인 종속 개념을 기반으로 한다. 조인 종속이 존재하면 제5정규화 대상이다. 그림(1)은 조인 종속이 존재하는 릴레이션이다. 제4정규형을 설명할 때 제4정규형 그림(1) [릴레이션1]과 유사하지만 차이점이 있다. 제4정규형은 기술과 언어 속성이 독립적이었지만 그림(1) 은 연관성이 있다는 점이다. 사원과 기술, 언어 속성이 관계가 있다는 업무 요건이 존재한다. 그림(1) 릴레이션을 그림(2)과 같이 분해될 수 있다. 이렇게 세 개의 릴레이션으로 분해하고 나서 조인하면 다시 그림(1) 릴레이션처럼 표시할 수 있으므로 그림(1) 릴레이션은 조인 종속이 존재하는 릴레이션이며 제5정규형을 위반한 릴레이션이다. 쉽게 말해 다가 종속이 있는데 서로 연관성이 있다면 한 엔터티에서 관리하면 안 되고 연관성.. 2025. 2. 25.
제4정규형 (Fourth Normal Form) 제4정규형은 다가 종속 개념이 기반이 되는 정규형이다. 한 릴레이션에 다가 속성이 두 개 이상 존재할 때 발생할 수 있다. 하나의 다가 속성의 모든 값이 다른 다가 속성의 모든 값마다 중복되는 문제가 발생할 수 있는데 이를 다가 종속이라 한다. 그림(1) [릴레이션1]을 보면 '홍길동'의 기술은 '모델링', '튜닝'이며 구사하는 언어는 '영어', '한국어'인 것을 알 수 있다. 그리고 기술과 언어와는 종속 관계가 없다. 이를 [릴레이션2]를 사용해 관리할 수 있는데 많은 중복 데이터가 발생한다. 사원은 두 명인데 열개의 레코드(row)가 생성된다. 사원과 기술, 사원과 언어라는 두 개의 다가 속성을 하나의 엔터티에서 관리하기 때문이다. 사원과 기술은 일대다(1:M) 관계이고 사원과 언어 또한 일대다(1:.. 2025. 2. 21.
BC정규형 (Boyce-Codd Normal Form) BC정규형은 제3정규형을 보강한 정규형이다. 제3정규형보다 드물게 발생한다. 릴레이션에 존재하는 종속자가 후보 식별자면 BC정규형이 아니다. 만약 속성 Z에 종속된 Y가 후보 식별자에 포함되면 BC정규형이 아니다. Y가 후보 식별자에 포함 여부에 따라 제3정규형과 BC정규형으로 구분된다. Y가 후보 식별자에 포함되더라도 제3정규형은 만족하지만 BC정규형은 만족하지 않는다. 그림(1)에서 [예제1] 릴레이션은 A, B가 주 식별자다. 일반 속성 C에 종속된 종속자 B가 주 식별자이므로 BC정규형에 위배된다. 하지만 일반 속성 사이에서 이행 종속 관계가 없기에 제3정규형 릴레이션이다.그림(1)에서 [예제2] 릴레이션은 A가 주 식별자고 B, C는 후보 식별자이다. 일반 속성 D에 종속된 종속자 C가 후보 식.. 2025. 2. 21.
제3정규형 (Third Normal Form) 제3정규형은 이행적 종속성과 관련 있다. 만약 속성 중에 Y가 X에 종속되고 Z가 Y에 종속되면 Z는 X에도 종속된다고 추론하는 것을 이행적 종속성이라 한다. 이 때 Y는 일반 속성이다.FD: X → Y → Z일반 속성(비식별 속성) 간의 종속 관계를 분해하면 제3정규형이 된다. 일반 속성 간에는 서로 직접 종속될 수 없으므로 함수 종속 관계가 없어야 한다. 그림(1)과 같이 일반 속성(C, D) 사이에 결정자, 종속자 역할을 하는 속성이 존재하는 릴레이션은 제3정규화의 대상이 된다. 속성 C는 일반 속성이면서 D의 결정자이기도 하다. 속성 D는 종속자이면서 주 식별자의 이행 종속 속성이다. 즉, 속성 D는 A, B 속성만으로는 하나만 결정될 수 없었고 C가 있기 때문에 하나만 결정될 수 있기에 간접 종.. 2025. 2. 21.
제2정규형 (Second Normal Form) 제1정규형을 만족 릴레이션에서 후보 식별자 속성과 일반 속성 간의 종속성에 의해 수행된다. 릴레이션의 모든 일반 속성이 후보 식별자 전체에 종속적이면 제2정규형이다. 만약 일반 속성 중에 후보 식별자 전체에 종속적이지 않고 후보 식별자를 구성하는 속성 일부에 종속적인 일반 속성이 있다면 중복이 발생했으므로 그 속성을 릴레이션에서 분리해야 제2정규형이 된다. 이를 완전 함수 종속 (Fully Functional Dependency)이라 한다. 제2정규화는 그림(1)과 같이 후보 식별자(A, B)를 구성하는 속성이 두 개 이상일 때만 대상이 되고 단일 속성으로 후보 식별자가 구성되면 대상이 아니다. 두 개 이상의 속성이 후보 식별자로 구성된 경우(그림(1)) 일반 속성(C, D) 중에 후보 식별자 전체에 종.. 2025. 2. 21.