DB/sql

9. meta 정보 - constraint

wooweee 2023. 4. 16. 17:35
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

 

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'
;