Computer Science/Database

[MySQL] Database 인덱스와 제약 조건 (Index, Constraint)

2021. 2. 9. 13:10

인덱스 (Index)

데이터베이스에는 다음 4종류의 indices가 존재한다.

 

1. KEY or INDEX: 중복 허용, 검색 빠르게

 

2. UNIQUE: 중복 금지 (제약조건), 검색 빠르게.

(여러 columns에 대하여 UNIQUE index를 지정하면 columns의 조합을 봤을 때 값의 중복이 있어서는 안 됨)

 

3. PRIMARY: TABLE당 하나만 존재 (제약조건), Null 금지 (제약조건), 중복 금지 (제약조건), 검색 빠르게

 

4. FULLTEXT: 위의 indices와는 다르게, full text search(MATCH(), AGAINST() 등)만을 위한 index이다. 

 

제약 조건 (Contraint)

제약 조건은 데이터의 무결성을 위해 설정된 제약이다. 다음의 5가지 제약 조건이 존재한다.

 

1. UNIQUE 제약 조건: UNIQUE index에 적용되는 제약 조건

 

2. PRIMARY KEY 제약 조건: PRIMARY index에 적용되는 제약 조건

 

3. FOREIGN KEY 제약 조건: 두 테이블 간의 관계를 선언하여 데이터의 무결성을 보장하는 조건으로, 두 테이블은 각각 '외래 키 테이블'과 '참조 테이블 (기준 테이블)'로 나뉜다. 참조 테이블의 기준이 되는 열은 반드시 PRIMARY index이거나 UNIQUE 제약 조건이 있어야 한다.

 

4. DEFAULT 정의: 값을 입력하지 않았을 때 지정한 default 값으로 채울 수 있다.

 

5. NULL 값 허용: Null 값을 허용하고자 할 때 위 조건을 걸 수 있다.

 

 

Reference

728x90
반응형