릴레이션과 릴레이션 사이에 대한 참조의 일관성을 보장하기 위한 조건이다.
제한
참조무결성 원칙을 위배하는 연산을 거절하는 옵션이다.
연쇄
참조되는 릴레이션에서 튜플을 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제하는 옵션이다.
널 값
참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래 키에 NULL 값을 넣는 옵션이다.
참조무결성 제약조건 SQL 문법(삭제 시)
ALTER TABLE 테이블 ADD
FOREIGN KEY (외래키)
REFERENCES 참조테이블(기본키)
ON DELETE [RESTRICT | CASCADE | SET NULL];
인덱스 개념
검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조이다.
인덱스 적용 기준
인덱스 분포도가 10~15% 이내인 경우 아래 수식을 참고한다.
분포도 = (1 / (컬럼 값의 종류)) x 100
분포도 = (컬럼 값의 평균 Row 수) / (테이블의 총 Row 수) x 100
조회 및 출력 조건으로 사용되는 컬럼인 경우 적용한다.
인덱스 자동생성 기본키와 유니크 키의 제액조건을 사용할 경우 적용한다.
인덱스 컬럼 선정
분포도가 좋은 컬럼은 단독적으로 생성한다.
가능한 한 수정이 빈번하지 않은 컬럼을 선정한다.
설계 시 고려사항
지나치게 많은 인덱스는 오버헤들로 작용한다.
뷰 속성
REPLACE : 뷰가 이미 존재하는 경우 재생성
FORCE : 본 테이블의 존재 여부에 관계없이 뷰 생성
NOFORCE : 기본 테이블이 존재할 때 뷰 생성
WITH CHECK OPTION : 서브 쿼리 내의 조건을 만족하는 행만 변경
WITH READ ONLY : 데이터 조작어 작업 불가
인덱스의 단점을 해결한 기법으로, 분포도가 넓을수록 오히려 유리하다
대량의 범위를 자주 액세스하는 경우 적용한다.