데이터베이스
이상현상
데이터 베이스들의 데이터들이 불필요하게 중복되어 릴레이션 조작 시 문제가 발생하는 현상
- 삽입 이상 : 테이블에 없는 데이터를 삽입할 때, 의도와는 관계없이 원하지 않는 값들로 인해
삽입할 수 없는 현상
- 수정 이상 : 테이블에서 튜플에 있는 속성값을 갱신할 떄 일부 튜플의 정보만 갱신되어
정보에 불일치성이 생기는 현상
- 삭제 이상 : 테이블에서 한 튜플을 삭제할 때, 의도와는 관계없이 값들도 함께 삭제되면서 연쇄삭제가 일어나는 현상
정규화
데이터 베이스 이상현상의 원인이 되는 데이터 중복성을 제거하여 데이터의 무결성을 보존하는 기법
데이터베이스 키의 특징
- 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
- 기본키 (primary key), 후보키 (cardidate key), 슈퍼키 (super key)
- 최소성 : 속성의 집합인 키가 릴레이션의 모든 튜플을 유일하게 식별하기 위해 꼭 필요한 속성들로 구성된 것을 의미
- 기본키 (primary key), 후보키 (candidate key)
키의 종류
- 후보키:
- 릴레이션을구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 하나 또는 몇 개의 속성의 집합
- 유일성과 최소성을 모두 만족
- 기본키:
- 릴레이션의 유일한 식별자 (유일성, 최소성 모두 만족)
- 후보키로 지정된 속성은 같은 값을 갖지 못함
- 대체키:
- 후보키가 둘 이상 되는 경우에 기본키로 선택되지 못한 후보키들
- 후보키 = 기본키 + 대체키
- 슈퍼키:
- 외래키:
- 한 테이블의 키 중 다른 테이블의 튜플을 식별할 수 있는 키
클러스터
어떤 정해진 속성 값을 기준으로 동일한 값을 가진 하나 이상의 테이블의 튜플을 같은 장소에 저장하는 물리적인 기법이며 디스크로부터 데이터를 읽어오는 시간을 줄이기 위해서 조인이나 자주 사용되는 테이블의 데이터를 디스크의 같은 위치에 저장시키는 방법
인덱스
검색 연산의 최적화를 위해 데이터베이스 내의 튜플에 대한 정보를 구성하는 데이터 구조
테이블에 대한 동작의 속도를 높여주는 자료구조
파티셔닝
대용량의 테이블이나 인덱스의 유지보수 관리가 쉬운 단위로 분리하는 방법
뷰
사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상의 테이블
옵티마이저
SQL의 문법적 오류를 확인하고 통계정보를 활용한 비용을 분석하여
최적의 SQL 실행계획을 수립하는 DBMS 핵심 엔진
- 옵티마이저의 유형
- RBO (Rule Based Optimizer) : 통계정보가 없는 상태에서 미리 정해진 룰에 따라 질의 실행 계획 수립이 가능
- CBO (Cost Based Optimizer) : 통계 정보로부터 모든 접근 경로를 고려하여 질의 실행 계획을 수립