ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 무결성(Integrity)
    정보처리기능사/관계형 데이터베이스 2018. 11. 7. 11:44

    1. 무결성의 개념


    - 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미

    - 무결성 제약 조건이란 데이터베이스에 들어 있는 데이터의 정확성, 일관성, 유효성, 안정성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약 조건을 말한다.

    - 무결성 규정의 대상으로는 도메인, 키, 종속성, 관계성 등이 있다.


    2. 무결성의 종류



    - 널(NULL) 무결성 : 릴레이션의 특정 속성(Attribute) 값이 NULL이 될 수 없도록 하는 규정

    예) <학생> 릴레이션에서 성명 속성에 NULL 무결성 제약 조건을 설정하면 성명 속성에는 반드시 값을 입력해야 한다.


    - 고유(Unique) 무결성 : 릴레이션의 특정 속성에 대해서 각 튜플이 갖는 값들이 서로 달라야 한다는 규정

    예) <학생> 릴레이션에서 주민등록번호 속성에 고유 무결성 제약 조건을 설정하면 주민등록번호 속성에는 중복된 주민등록번호를 입력할 수 없다.


    - 도메인(Domain) 무결성 : 특정 속성의 값이, 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정

    예) <학생> 릴레이션에서 학번 도메인을 1001~1004로 정의하면 학번 속성에는 1001~1004 이외의 값은 입력할 수 없다.


    - 키(Key) 무결성 : 하나의 테이블에는 적어도 하나의 키가 존재해야 한다는 규정

    예) <학생> 릴레이션은 학번이나 주민등록번호가 키가 될 수 있고, <수강> 릴레이션은 (학번, 과목명)이 키가 될 수 있다.


    - 관계(Relationship) 무결성 : 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계(Relationship)에 대한 적절성 여부를 지정한 규정

    예) 다음과 같은 관계에 대한 규정을 정의할 수 있다.

    - <수강> 릴레이션의 학번 속성에는 <학생> 릴레이션의 학번 속성에 없는 값은 입력할 수 없다.

    - <학생> 릴레이션에서 학번이 1001인 튜플은 <수강> 릴레이션에서 참조하고 있기 때문에 삭제할 수 없다.

    - <학생> 릴레이션에서 학번이 1001인 튜플을 삭제하면 <수강> 릴레이션에서 학번 속성이 1001인 튜플은 모두 삭제된다.


    - 개체(Entity) 무결성 : 릴레이션에서 기본키를 구성하는 속성은 널(NULL) 값이나 중복 값을 가질 수 없다.

    예) <학생> 릴레이션에서는 학번이 기본키이므로 튜플을 추가할 때 주민등록번호나 성명, 학년 속성에는 값을 입력하지 않아도 되지만 학번 속성에는 반드시 값을 입력하여야 한다. 또한 학번 속성에는 이미 한 번 입력한 속성 값을 중복하여 입력할 수 없다.


    - 참조(Referential) 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다,

    예) <학생> 릴레이션은 기본키로 학번 속성을 갖고 <수강> 릴레이션은 기본키로 (학번, 과목명) 속성을 갖는다. <수강> 릴레이션의 학번 속성은 <학생> 릴레이션의 기본키인 학번 속성을 참조하고 있기 때문에 외래키가 된다. 그러므로 <수강> 릴레이션의 외래키인 학번 속성 값은 NULL이거나 <학생> 릴레이션의 기본키인 학번 속성 값과 동일해야 한다.

    댓글

Designed by Tistory.