제약 조건(Constraint)
- 테이블 구성(create table)에서 규칙을 정하는 문법
- 테이블에 원하는 조건에 맞는 데이터만을 넣을 수 있도록 함
- 헤더 하나에 여러 개의 제약 조건을 걸 수 있음
- not null: data에 null 값 X, 필수 컬럼 설정
- primary key
- 기본 키
- 식별자
- table에 고유값 설정
- 중복을 허용하지 않음
- 헤더 중 하나만 가능
- check: 정해진 값만 넣을 수 있도록 함, null 값 설정 가능
- unique: 고유값 설정, 중복을 허용하지 않음, null 값 설정 가능
- default: 특정 값을 기본 값으로 설정
- references
- 외래 키(foreign key) 설정
- 다른 테이블의 특정 컬럼 값을 가지고 올 수 있음
- 참조 무결성을 보장
- 다른 테이블의 자식 테이블이 됨, 부모 테이블이 삭제되면 자식 테이블이 존재할 수 없음
- 프로젝트 마지막에 설정해 줌
- primary key와 unique만 외래 키의 대상이 될 수 있음
- on delete cascade
- 외래 키 확장
- 무결성이 걸려 있을 때, 부모 테이블의 레코드가 delete 되면 그 레코드를 참조하고 있는 자식 테이블의 레코드도 지움
- on delete set null
- 외래 키 확장
- 무결성이 걸려 있을 때, 부모 테이블의 레코드가 delete 되면 그 레코드를 참조하고 있는 자식 테이블의 셀을 null 값으로 채움
외래 키(Foreign Key)
- 다른 테이블의 primary key나 unique를 참조하는 키
참조 무결성
- 외래 키에는 null이거나(null을 허용하는 경우) 참조하는 특정 컬럼의 기본 키 값만 넣어야 함
- 참조하지 않는 외래 키 값을 가질 수 없음
'데이터베이스 - Database > 이론' 카테고리의 다른 글
[DB] Database - 함수(단일 행 함수, 그룹 함수) (0) | 2020.04.03 |
---|---|
[DB] Database - select, as, where, is, in, distinct, like, escape, order by (0) | 2020.04.03 |
[DB] Database - 테이블(table), 딕셔너리(Dictionary), varchar (0) | 2020.04.03 |
[DB] Database - Oracle SQL 다운로드 및 접속, Query 종류 (0) | 2020.04.03 |
[DB] Database - DBMS, 데이터베이스, 오라클 종류 (0) | 2020.04.03 |