CONSTRAINT(제약조건)
- 테이블에 특정 컬럼에 지정, 제약조건에 부합하지 않는 데이터는 저장 불가
무결성 제약조건
- 데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다.
- 일관성과 정확성을 잃어버린 데이터베이스는 정보로서의 가치에 심각한 문제가 있다.
(1) 영역 무결성(Domail Intergirty)
- 도메인 제약, 릴레이션 내의 튜플의 각 속성이 해당 도메인에 지정된 값만 가져야한다.
(2) 개체 무결성(Entity Intergrity)
- 기본키(PK) 제약, 릴레이션에 기본키를 지 정하고, 그에 따른 무결성 원칙
- 기본키(PK, Primary key)는 NULL 값을 가져서는 안되고, 릴레이션 내에 오직 하나의 값만 존재(중복X)
(3) 참조 무결성(Referential Intergrity)
- 외래키(Foreign key, FK) 제약, 릴레이션간의 참조 관계를 선언하는 제약조건
- 일반적으로 참조되는 릴레이션을 부모 릴레이션, 참조하는 릴레이션을 자식 릴레이션 이라고 한다.
- 한 테이블에 있는 튜플을 다른 테이블에 있는 튜플을 참조하려면 반드시 참조하려는 튜플에
존재하는 값을 사용해야 한다는 의미
[1] 슈퍼키 (SUPERT KEY)
- 테이블의 각 튜블을 식별 할 수 있는 속성들의 조합
- 두 개 이상의 속성으로 구성된 슈퍼키 중에 어느것을 지우더라도 각 튜플을 유일하게 식별 할 수 있다.
- ex) 학생번호, 주민번호, 핸드폰번호등의 조합들이 슈퍼키
[2] 후보키 (CANDIDATE KEY)
- 테이블의 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 조합들을 후보 키 라고 한다.
- 속성의 조합들로 구성될 경우 어느 한 속성을 제거하면 튜플의 유일성을 잃게 된다.
- 유일성과, 최소성을 만족한다.
[3] 기본키 (PRIMARY KEY)
- 하나의 테이블에서 레코드를 구분 지을 수 있는 특정 컬럼의 유일값
- NOT NULL + UNIQUE, 즉 비어있어도 안되며 유일해야 한다.
- ex) 학생번호, 주민번호, 핸드폰번호 등 중에서 가장 적합한것 하나만을 골라 사용한다.
[4] 외래키 (FOREIGN KEY)
- 하나 또는 여러개의 테이블의 PRIMARY KEY 이거나 UNIQUE 설정이 되어 있는 것은 참조한것
- 그 테이블을 참조하며 참조한 테이블에 없는 값은 입력 할 수 없다.
- 참조 무결성(referntial integrity)을 확인하기 위해 사용된다.
[5] 대채키 (ALTERNATE KEY)
- 후보키가 하나 이상일 때 그 중 하나를 기본키를 지정하면 나머지 후보키들은 대체 키가 된다.
[6] UNIQUE
- 기본적으로 PRIMARY KEY와 비슷하면서도 다른점이 있다.
- 다른점은 유일해야 하지만 NULL값은 허용된다.
[7] NOT NULL
- 값을 입력하지 않으면 안됨
제약조건 예제와 사용방법정리