8. CONSTRAINT
1) Constraint란?
- 무결성 유지를 위한 사용자 지정 성질(제약조건)이며 데이터사전에 저장된다.
- 이름은 한 사용자 내에서 중복될 수 없으며 표준 객체 명명법을 따르는게 좋다.
- 이름 생략시 ORACLE 자체에서 SYS_Cn형식으로 자동 지정
2) Constraint 정의방법
- 컬럼레벨: 어떤 유형의 제약조건도 정의 가능
컬럼 [CONSTRAINT 제약조건 이름] 제한조건 유형,
- 테이블 레벨: 여러 칼럼에 제약조건 정의할 때 사용, 컬럼 레벨과 별개(NOT NULL 제외)
컬럼,...
[CONSTRAINT 제약조건 이름] 제한조건 유형 (컬럼1, 컬럼2...)
3) Constraint 종류
- NOT NULL: 컬럼이 NULL값 사용 불가, 컬럼 레벨로만 정의 가능(한 컬럼만 NULL가능)
- UNIQUE: 고유키로 지정, UNIQUE 인덱스 자동 생성
- PRIMARY KEY: 각 행을 유일하게 구별, UNIQUE
E 인덱스를 자동 생성(NULL 불가)
*복합키: 여러개의 컬럼을 조합해서 키로 사용
- FOREIGN KEY: 다른 테이블 참조, 자손 테이블에 정의, 부모 테이블의 값과 일치 or NULL
*참조 대상 컬럼이 Primary Key 혹은 Unique 제약 조건 보유해야 함
*ON DELETE CASCADE 추가시 참조 되는 행, 참조하는 행 자동 삭제 가능
- CHECK: 각 행이 만족해야하는 조건 정의, 다른 행의 값 참조
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL 요약 정리] 1-10. DICTIONARY (0) | 2019.02.08 |
---|---|
[SQL 요약 정리] 1-9. TRANSACTION CONTROL (0) | 2019.02.08 |
[SQL 요약 정리] 1-7. SUBQUERY (0) | 2019.02.08 |
[SQL 요약 정리] 1-6. JOIN (0) | 2019.02.08 |
[SQL 요약 정리] 1-5. SUBGROUP으로 데이터분류 (0) | 2019.02.08 |