Post

[DB 데이터베이스] 무결성 제약조건 (Integrity Constraint)

무결성 (Integrity)이란?


무결성(Integrity)은 데이터베이스에서 데이터의 정확성, 일관성을 유지하는 것을 의미합니다.

즉, 데이터에 결함이 없는 상태를 나타냅니다.


무결성 제약조건 (Integrity Constraint)


무결성 제약조건(Integrity Constraint)데이터베이스의 정확성과 일관성을 보장하기 위해 설정되는 조건으로, 데이터의 저장, 삭제, 수정 등을 제한하거나 조절하는 역할을 합니다.

이러한 제약조건들은 데이터베이스의 상태를 일관되게 유지하고, 데이터의 무결성을 보장하는 주요 목적을 가지고 있습니다.


1. 개체 무결성


  • 각 릴레이션의 기본키를 구성하는 속성은 널(NULL) 값이나 중복된 값을 가질 수 없습니다.

  • 즉, 기본키는 항상 유일하고 비어 있을 수 없는 값이어야 합니다.

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


2. 참조 무결성


  • 외래키 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 동일해야 합니다.

  • 즉, 각 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없습니다.

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


3. 도메인 무결성


  • 각 속성들의 값은 정의된 도메인에 속한 값이어야 합니다.

  • 예를 들어, 나이 속성에 음수 값이나 이상한 값이 들어갈 수 없습니다.

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


4. 고유 무결성


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

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


5. NULL 무결성


  • 릴레이션의 특정 속성 값은 NULL 될 수 없습니다.

  • 예를 들어, 주민등록번호가 반드시 입력되어야 한다면 NULL 값은 허용되지 않습니다.

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


6. 키 무결성

  • 각 릴레이션은 최소한 한 개 이상의 키를 가져야 하며, 키는 튜플을 식별할 수 있는 값이어야 합니다.

[학생] 릴레이션에서 ‘학번’ 속성은 각 학생의 유일한 식별자로 사용된다.


This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.