인덱스 (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
반응형
'Computer Science > Database' 카테고리의 다른 글
[Error] java.sql.SQLException: The server time zone value 'KST' is unrecognized (0) | 2021.02.10 |
---|---|
[Java] 자바 어플리케이션에서 데이터베이스에 접속하는 방법 (Java, JDBC API, JDBC driver, MySQL) (0) | 2021.02.10 |
[MySQL] 텍스트 검색 기능 (0) | 2021.02.09 |
[MySQL] 조인 (JOIN) 사용법 (0) | 2021.02.09 |
[MySQL] SQL문 사용법 (0) | 2021.02.09 |