데이터베이스 무결성

강준우·2023년 2월 11일
0

데이터 무결성


데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것.

정확성은 중복이나 누락이 없는 상태, 일관성은 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태를 뜻한다. DBMS에서는 무결성을 지킬 수 있도록 연산에 제한을 둔다.

데이터 무결성 제약조건


  • 개체 무결성
    각 릴레이션의 기본키를 구성하는 속성은 Null값 또는 중복된 값을 가질 수 없다.

    [학생] 릴레이션에서 ‘학번’을 기본키로 지정했다면 ‘학번’ 속성은 NULL이 되어서는 안된다.

  • 참조 무결성
    외래키 값은 Null이거나 참조하는 릴레이션의 기본키 값과 동일해야 한다. 즉, 외래 키 속성 값이 상위 테이블의 인스턴스에 반드시 존재하거나 Null이어야 한다.
    외래 키는 참조 무결성을 지키기 위해 RESTRICTED와 CASCADE, SET NULL이라는 개념을 외래 키에 적용할 수 있도록 기능을 제공한다.

    [수강] 릴레이션에서 ‘학번’ 속성에는 [학생] 릴레이션의 ‘학번’ 속성에 없는 값은 입력할 수 없다.

  • 도메인 무결성
    속성들의 값은 정의된 도메인에 속한 값이어야 한다.

    ‘성별’이라는 속성에서 ‘남’, ‘여’를 제외한 데이터는 제한되어야 한다.

  • 고유 무결성
    특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 릴레이션의 각 튜플이 가지는 속성 값들은 서로 달라야 한다.

    [학생] 릴레이션에서 ‘이름’, ‘나이’는 서로 같은 값을 가질 수 있지만 ‘학번’의 경우, 각 튜플은 서로 다른 값을 가져야 한다.

  • NULL 무결성
    릴레이션의 특정 속성 값은 Null이 될 수 없다.

    [학생] 릴레이션 정의 시 ‘과목’ 속성에 NULL 값이 올 수 없도록 제한했다면 ‘과목’ 속성에 NULL이 있어서는 안된다.

  • 키 무결성
    각 릴레이션은 최소 한 개 이상의 키가 존재해야 한다.

profile
강준우

0개의 댓글

관련 채용 정보