정보처리기사/2. 데이터 입출력 구현
관계형 데이터베이스의 제약조건 - 무결성(Integrity)
뿌단이
2022. 9. 5. 17:14
1. 무결성(Integrity)
- 무결성은 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미한다.
- 이는 데이터의 정확성을 보장하기 위해 부정확한 자료가 DB 내에 저장되는 것을 방지하기 위한 제약조건이다.
<무결성의 종류>
종류 | 내용 |
개체 무결성 | 릴레이션의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정 |
참조 무결성 | 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정 |
도메인 무결성 | 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정 |
사용자 정의 무결성 | 속성 값들이 사용자가 정의한 제약조건에 만족되어야 한다는 규정 |
NULL 무결성 | 릴레이션 특정 속성 값이 NULL이 될 수 없도록 하는 규정 |
고유 무결성 | 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다는 규정 |
키 무결성 | 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정 |
관계 무결성 | 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜블을 사이의 관계에 대한 적절성 여부를 지정한 규정 |
<여기서 Tip!>
무결성에 종류중 개념으로서 알고있어야 하는것은 아래와 같다.
개체 무결성
참조 무결성
사실 이 표에서 시험에 나온것은 개체 무결성과 참조 무결성 밖에 없다.
그래도 이외의 제약 조건은 이해하고 넘어가자.
2. 데이터 무결성 강화
- 데이터 무결성은 데이터 품질에 직접적인 영향을 미치므로 데이터 특성에 맞는 적절한 무결성을 정의하고 강화해야 한다.
- 데이터 무결성은 애플리케이션, 데이터베이스 트리거, 제약 조건을 이용하여 강화할 수 있다.
종류 | 설명 |
애플리케이션 | 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 프로그램 내에 추가함 |
데이터 베이스 트리거 | 트리거 이벤트에 무결성 조건을 실행하는 절차형 SQL을 추가함 |
제약 조건 | 데이터베이스에 제약 조건을 설정하여 무결성을 유지함. |
<여기서 Tip!>
위 방법으로 무결성을 강화할 수 있다.
기본적으로 설계 때 제약조건을 쓴다.

읽어주셔서 감사합니다!
정처기 화이팅!