데이터베이스: 무결성 제약조건

2023-06-11 00:05:00

도메인 무결성 제약조건: 도메인 제약

릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건

  • SQL 문에서 type, null/not null, default, check 등을 사용해 지정 가능

개체 무결성 제약조건: 기본키 제약

기본키에 따르는 무결성 원칙

  • 기본키는 NULL이면 안되고, 릴레이션 내에 오직 하나의 값만 존재해야 함.
    • 삽입: 중복 삽입 금지
    • 수정: 기본키 값이 같은, 혹은 NULL인 경우 수정 금지

참조 무결성 제약조건: 외래키 제약

릴레이션 간의 참조 관계를 선언하는 제약조건

  • 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일
  • 자식 릴레이션의 값이 변경될 때 부모 릴레이션이 제약을 받음
  • NULL이라고 해서 참조 무결성 제약조건을 위반하는 것은 X
    • 삭제

      참조하는 테이블을 같이 삭제할 수 없어서 아래 중 하나의 작업을 수행하게 선언 필요

      • 즉시 작업 중지
      • 자식 릴레이션의 관련 튜플 삭제
      • 초기에 설정된 다른 어떤 값으로 변경
      • NULL으로 설정
    • 수정

      • 삭제/삽입 연상르 연속해서 수행
      • 부모 릴레이션의 수정->옵션에 따라 처리 후 문제 없으면 제약 조건에 따라 처리