728x90
- constraint = 제약 조건
- db 보호가 목적
- table과 관계없이 따로 만들어짐
참고. index도 따로 만들어짐
- 적용 범위
- column level
- table level: not null 빼고 다
- 종류
- pk : not null + unique
- fk : on delete cascde
- not null
- unique
- check: 반드시 참이여야 하는 조건
- 무결성 제약 조건
- 상식적으로 pk와 fk의 연관성 생각하기
primary key 제약 조건
- 한행을 구별해주는 column
- null 허용 안함
- 테이블에 단 하나의 primary key만 허용
- unique 인덱스 자동 생성
- pk도 수정이 가능하다. 대신 unque와 not null을 지키는 선에서 수정 가능
- 참고
- super key : all key
- 후보 key : pk가 될 수 있는 key들
- 대체 key : pk 최종선택에 탈락된 애 -> 나중에 대체 될 수 있다.
- pk : 후보 key 중 pk로 선정된 key
- 후보 key : pk가 될 수 있는 key들
- super key : all key
foreign key 제약 조건
- on delete cascde 옵션 : primary key 행 제거시, 참조하는 foreign 행도 제거
- 자식 table에 정의
- pk와 일치하거나 null
- table level, column level에서 정의 가능
check 제약 조건
- 각 행이 만족해야 하는 조건을 정의
- SQL 제약조건 중 CHECK는 특정 컬럼의 입력 가능한 값의 범위를 지정할 때 사용한다.
나중에 필요 예문 찾아서 넣기
-- 제약조건 확인하기
select * from user_constraints
where table_name = 'S_EMP'
;