[데이터베이스] 무결성 (Integrity)CS/데이터베이스2022. 7. 26. 18:16
Table of Contents
728x90
무결성 (Integrity)이란 ?
- 무결성이란 데이터의 정확성, 일관성, 유효성을 유지하는 것을 말한다.
- 무결성이 유지되어야 DB에 저장된 데이터 값과 그 값에 해당하는 현실 세계의 실제 값이 일치하는지에 대한 신뢰가 생긴다.
- 데이터의 무결성을 유지하는 것은 데이터베이스 관리시스템(DBMS)의 중요한 기능이며 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지한다.
무결성의 종류
- 개체 무결성
- 참조 무결성
- 고유 무결성
- NULL 무결성
개체 무결성
기본키로 선택된 필드는 NULL 값을 허용하지 않는다.
참조 무결성
서로 참조 관계에 있는 두 테이블의 데이터는 항상 일관된 값을 유지해야 한다.
외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다.
→ 즉, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
고유 무결성
특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우 그 속성 값은 모두 고유한 값을 가진다.
NULL 무결성
특정 속성 값에 NULL이 올 수 없다는 조건이 주어진 경우 그 속성 값은 NULL이 될 수 없다는 제약 조건이다.
외래키와 참조 무결성
데이터베이스에서는 참조 무결성을 위해 참조 대상이 존재하지 않는 외래키를 허용하지 않는다.
외래키는 참조 무결성을 지키기 위해 RESTRICTED와 CASCADE, SET NULL이라는 개념을 외래키에 적용할 수 있도록 기능을 제공한다.
- RESTRICTED : 레코드를 변경 또는 삭제하고자 할 때 해당 레코드를 참조하고 있는 개체가 있다면, 변경 또는 삭제 연산을 취소한다.
- CASCADE : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체도 변경 또는 삭제된다.
- SET NULL : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체의 값을 NULL로 설정한다.
무결성 제약조건의 장단점
장점
스키마 정의시 일관성 조건을 한번만 명시하면 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다.
단점
프로그래밍 작업이 훨씬 복잡해진다.
데이터베이스 갱신시 무결성 제약조건을 반복해서 구현해야 한다.
무결성 제약조건 사이에 충돌이 발생할 수 있다.
참고
728x90
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 병행 제어 (Concurrency Control) (0) | 2022.07.27 |
---|---|
[데이터베이스] 트랜잭션의 격리 수준 (0) | 2022.07.26 |
[데이터베이스] 트랜잭션 (Transaction) (0) | 2022.07.22 |
[데이터베이스] 정규화 (Normalization) (0) | 2022.07.22 |
[데이터베이스] Index (인덱스) (0) | 2022.07.22 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!