제약 조건(Constraint)

  • 테이블 구성(create table)에서 규칙을 정하는 문법
  • 테이블에 원하는 조건에 맞는 데이터만을 넣을 수 있도록 함
  • 헤더 하나에 여러 개의 제약 조건을 걸 수 있음
  • not null: data에 null 값 X, 필수 컬럼 설정
  • primary key
    1. 기본 키
    2. 식별자
    3. table에 고유값 설정
    4. 중복을 허용하지 않음
    5. 헤더 중 하나만 가능
  • check: 정해진 값만 넣을 수 있도록 함, null 값 설정 가능
  • unique: 고유값 설정, 중복을 허용하지 않음, null 값 설정 가능
  • default: 특정 값을 기본 값으로 설정
  • references
    1. 외래 키(foreign key) 설정
    2. 다른 테이블의 특정 컬럼 값을 가지고 올 수 있음
    3. 참조 무결성을 보장
    4. 다른 테이블의 자식 테이블이 됨, 부모 테이블이 삭제되면 자식 테이블이 존재할 수 없음
    5. 프로젝트 마지막에 설정해 줌
    6. primary key와 unique만 외래 키의 대상이 될 수 있음
  • on delete cascade
    1. 외래 키 확장
    2. 무결성이 걸려 있을 때, 부모 테이블의 레코드가 delete 되면 그 레코드를 참조하고 있는 자식 테이블의 레코드도 지움
  • on delete set null
    1. 외래 키 확장
    2. 무결성이 걸려 있을 때, 부모 테이블의 레코드가 delete 되면 그 레코드를 참조하고 있는 자식 테이블의 셀을 null 값으로 채움

 

외래 키(Foreign Key)

  • 다른 테이블의 primary key나 unique를 참조하는 키

 

참조 무결성

  • 외래 키에는 null이거나(null을 허용하는 경우) 참조하는 특정 컬럼의 기본 키 값만 넣어야 함
  • 참조하지 않는 외래 키 값을 가질 수 없음

+ Recent posts