테이블을 생성할 때 여러가지 제한사항을 둘 수 있다. 제약조건을 거는 방법에 대해 알아보자.
◆ 제약조건(Constraint)
테이블 생성 시 설정할 수 있는 옵션 - 제약조건을 설정할 수 있음.
▶ not null
해당 컬럼 값에 null 값을 허용하지 않음.
따라서 해당 컬럼에 null값을 넣거나, 미 입력할 시 오류
▶ default
데이터 삽입 시에 입력하지 않은 값들에 대한 디폴트 값 설정
=> gender 컬럼 미 입력 시 1이 자동으로 삽입( 단, null값을 입력할 시에는 null이 삽입됨 )
▶ constraint
컬럼에 대한 제약조건을 따로 설정.
constraint 제약조건명 제약조건 (컬럼 또는 제약조건)
( 제약 조건 명은 다른 테이블에 있을 시라도 중복이 불가하다. )
◆ constraint에서 설정할 수 있는 제약조건
▶ PRIMARY KEY (기본키)
null불가, 중복 불가
=> name 을 기본 키로하는 rule_01 제약조건을 설정
▶ UNIQUE (유일키)
null가능, 중복 불가
=> report 를 유일키로하는 rule_02 제약조건을 설정
▶ FOREIGN KEY (외래키)
다른 테이블을 참조하기 위한 컬럼, references뒤에는 참조하는 테이블(컬럼)을 적어준다.
=> gender를 외래키로 하는 rule_03 제약조건을 설정
외래키가 참조하는 테이블의 키는 references 테이블(컬럼) 으로 설정한다.
=> gender값을 삽입하고자 할 때, gender테이블에 code데이터 안에 삽입하고자 하는 gender값과 일치하는 값이 있어야 삽입이 가능하다.
▶ CHECK
삽입 전 조건검사
=> weight 삽입 시 0 이상인지 체크하는 rule_04 제약조건을 설정
▶ 예시