제약조건이란 사용자가 원하는 조건의 데이터만 유지하기 위해 테이블의 특정 칼럼에 설정하는 제약을 말합니다. 제약조건은 데이터베이스 테이블의 컬럼 또는 테이블 간의 관계에 대한 규칙 또는 조건을 정의하는 데 사용됩니다. 제약조건을 설정함으로써 데이터 무결성을, 일관성을 보장하고, 이용자로부터 데이터를 보호할 수 있습니다.
제약조건의 종류로는 PK, UK, NOT NULL, CHECK, FOREIGN KEY가 있습니다.
1. 고유키 (Unique Constraint): 컬럼의 값이 고유해야 한다는 규칙을 정의합니다. NULL값을 가지더라고 고유키 제약조건에 위배되지 않으며, NULL값을 여러개 가지더라도 괜찮습니다.
2. 기본 키 (Primary Key Constraint): 테이블 내에서 고유하고 식별 가능한 주요 필드를 정의합니다. 기본 키는 해당 레코드를 식별하는 데 사용됩니다. 키본키는 자동으로 유니크 인덱스가 생성되며, NULL 값을 입력할 수 있습니다. 기본키는 고유키이면서 NOT NULL 제약조건을 만족하게 됩니다.
3. 외래 키 (Foreign Key Constraint): 두 테이블 간의 관계를 정의하며, 한 테이블의 컬럼이 다른 테이블의 기본 키를 사용합니다. 외래키의 값은 부모 테이블에서의 값과 일치해야 합니다.
4. 체크 제약조건 (Check Constraint): 특정 조건이나 규칙을 컬럼에 적용합니다. 예를 들어, 시험 점수는 반드시 0과 100 사이값이 되도록 지정할 수 있습니다.
5. NOT NULL 제약조건: 특정 컬럼에 NULL 값이 허용되지 않음을 정의합니다.