일기

[관계 데이터 모델] 제약 조건

이준늬 2023. 2. 10. 17:06

무결성 제약 조건(integrity constraint)

무결성: 데이터의 정확성, 일관성, 유효성을 유지하는 것
              현실 세계의 값과 일치하다는 신뢰 생성

장점: 스키마 정의 시, 일관성 조건을 한번만 명시해도 DBMS가 자동적으로 검사함.
           사용자들은 일관성 조건을 검사하지 않아도 됨.

종류

 1) 도메인 제약조건(Domain constraint)
      ▷ 속성 값은 반드시 원자값이어야 한다.
      속성 값의 가능한 값들의 범위와 디폴트 값을 지정할 수 있다.

              - data type 사용 : 값들의 유형 제한
              - CHECK 제약조건 사용 : 값들의 범위 제한
              - NOT NULL 제약조건 사용 : 모든 튜플에서 해당 속성의 값이 반드시 존재하도록 제한

 2) 키 제약조건(key constraint)
       키 속성에 중복된 값이 존재해서는 안된다.

              - 릴레이션 정의 시, 기본 키로 정의 : 중복 값 불허
              - UNIQUE를 명시한 속성 : 중복 값 불허

 3) 엔티티 무결성 제약조건(entity integrity constraint)
       릴레이션에서 기본 키를 구성하는 속성은 NULL값을 가질 수 없다.
           (NULL은 식별성을 잃게함)

              - 기본 키에서 유래
              - 릴레이션 키
 참고 

4) 참조 무결성 제약조건(referential integrity constraint)
       릴레이션은 참조할 수 없는 외래 키 값을 가져서는 안 된다.
       서로 참조 관계에 있는 두 테이블의 데이터는 항상 일관된 값을 유지해야 한다.
       두 릴레이션의 연관된 튜플들 사이의 일관성을 유지하는데 사용됨

              - 참조할 수 없는 외래 키 값: NULL이 아니면서 참조된 릴레이션의 어떤 기본 키 값과도 일치하지 않는 값
                 ex) 수강 릴레이션의 학생 번호 속성에는 학생 릴레이션의 번호 속성에 있는 값만 입력 가능

 3) 고유 무결성
       특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우 그 속성 값은 모두 고유 값