데이터베이스 무결성 제약조건은 데이터 무결성을 지키기 위한 제약조건이다.
그렇다면 데이터 무결성이란 무엇일까?
데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것이다.
즉, 데이터베이스에 저장된 데이터들은 일관성을 지켜야하고 정확하지 않은 데이터가 있으면 안된다.
데이터베이스 무결성 제약조건이란 쉽게 말해서 데이터들의 일관성과 정확성을 위해 지켜야하는 규칙이라 할 수 있다.
스키마를 작성할 때 일관성 조건을 한 번만 명시하면 데이터베이스가 갱신될 때마다 DBMS가 자동으로 일관성 조건을 검사하므로 어플리케이션들은 일관성 조건을 일일이 검사할 필요가 없다.
예를 들어 제약 조건으로 데이터의 값이 0보다 크거나 같아야한다(data ≥ 0)라고 정의하면 DBMS가 자동으로 이 조건을 검사해주므로 응용 프로그램에서 이 조건에 대한 비교를 작성하지 않아도 된다.
또한 무결성 제약조건을 사용하면 데이터를 실생활의 의미에 맞게 사용할 수 있다. (사람의 몸무게는 0보다 커야 한다 등등)
응용 프로그램에서 직접 조건을 유지하는 경우보다 에러가 발생할 가능성이 더 낮다.
도메인 제약이라고도 하며, 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건이다.
속성에 들어갈 수 있는 데이터 타입을 지정할 수 있고, 기본값을 지정할 수 있다.
또한 저장되는 값들의 범위도 지정할 수 있으며 NULL 구문을 통해 속성 값으로 NULL을 허용하거나 허용하지 않도록 할 수 있다.
기본키 제약이라고도 하며, 릴레이션은 기본키를 지정하고 그에 따른 무결성 원칙을 지켜야한다는 조건이다.
기본키는 NULL값을 가져서는 안 되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
외래키 제약이라고도 하며, 테이블 간의 참조 관계를 선언하는 제약조건이다.
외래 키의 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다.
📚 참고