무결성 제약조건

WooBuntu·2020년 12월 30일
1

데이터베이스

목록 보기
6/16

키는 릴레이션에서 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합이다.

  • 키가 되는 속성(혹은 속성의 집합)은 반드시 값이 달라서 튜플들을 서로 구별할 수 있어야 한다.

  • 키는 릴레이션 간의 관계를 맺는 데도 사용된다.

  • 두 개 이상의 속성으로 이루어진 키를 복합키라고 한다.

슈퍼키

튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합

후보키

튜플을 유일하게 식별할 수 있는 속성의 최소 집합
(가장 효율적인 슈퍼키)

기본키(PK:Primary Key)

후보키 중 대표로 삼는 키

  • 릴레이션 스키마를 표현할 때 기본키는 밑줄을 그어 표시한다.

대리키(인조키)

기본키가 보안을 요하거나, 여러 개의 속성으로 구성되어 복잡하거나, 마땅한 기본키가 없을 때에는 일련번호와 같은 가상의 속성을 만들어 기본키로 삼는다.

  • DBMS나 관련 소프트웨어에서 임의로 생성하는 값으로 사용자가 직관적으로 그 값의 의미를 알 수 없다.

대체키

기본키를 제외한 나머지 후보키

외래키(FK:Foreign Key)

다른 릴레이션의 기본키를 참조하는 속성

  • 외래키가 성립하기 위해서는 참조하고 참조되는 양쪽 릴레이션의 도메인이 서로 같아야 한다

  • 참조되는 릴레이션의 기본키 값이 변경되면 이 기본키를 참조하는 외래키의 값 역시 변경된다

  • 외래키는 자기 자신의 기본키를 참조할 수도 있다

  • NULL값과 중복 값 등이 허용된다

  • 외래키가 기본키의 일부가 될 수 있다.

무결성 제약조건

  • 데이터 무결성 : 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것

도메인 무결성 제약조건(도메인 제약)

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

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

  • NULL값이 될 수 없다

  • 릴레이션 내에 오직 하나의 값만 존재해야 한다

참조 무결성 제약조건(외래키 제약)

  • 부모 릴레이션 : 참조되는 릴레이션

  • 자식 릴레이션 : 참조하는 릴레이션
    (외래키를 보유하는 릴레이션)

  • 자식 릴레이션의 외래키와 부모 릴레이션의 기본키는 도메인이 동일해야 한다

참조 무결성 제약조건의 옵션

부모 릴레이션에서 튜플을 삭제했을 경우

  • RESTRICTED

    삭제 작업이 거부된다

  • CASCADE

    자식 릴레이션의 관련 튜플도 같이 삭제된다

  • DEFAULT

    자식 릴레이션의 관련 튜플이 미리 설정해둔 값으로 변경된다

  • NULL

    자식 릴레이션의 관련 튜플을 NULL값으로 설정한다
    (NULL값이 허가된 경우에 한해서)

부모 릴레이션의 튜플을 수정할 경우 '삭제'와 '삽입'이 연달아 수행된다고 간주하면 된다

0개의 댓글

관련 채용 정보