[1] 데이터 무결성이란
데이터의 정확성, 일관성, 유효성 그리고 신뢰성을 유지하고 보증하는 것. 데이터 모델링 과정에서 정의된 일련의 규칙에 따라 데이터가 생성, 수정, 삭제 될 수 있도록 프로그램이나 데이터베이스 기능을 이용한다. 그 결과로 권한이 부여된 사용자에 의해 야기될 수 있는 의미적 에러를 방지하고, 데이터베이스 내의 데이터가 현실 세계의 올바른 데이터를 갖도록 보장하는 것이다.
[2] 데이터 무결성 종류
분류 | 설명 |
실체 무결성 | 실체는 각 인스턴스를 유일하게 식별할 수 있는 속성이나 속성 그룹을 가져야한다. ex) 기본키 제약, Unique 제약 |
영역 무결성 | 칼럼 데이터 타입, 길이, 유효 값이 일관되게 유지되어야 한다. ex) Date type에 알맞은 변환과 길이, not null |
참조 무결성 | 데이터 모델에서 정의된 실체 간의 관계 조건을 유지하는 것이다. ex) 다른 튜플을 참조하려면 참조되는 튜플이 반드시 존재해야 함 |
사용자 정의 무결성 | 다양하게 정의될 수 있는 비즈니스 규칙이 데이터적으로 일관성을 유지하는 것이다. |
[3] 무결성 유지 조건 & 강화 방법
분류 | 설명 |
애플리케이션 | 데이터를 조작하는 프로그램 내에 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 추가함. |
데이터베이스 트리거 | 트리거 이벤트 시 저장 SQL을 실행하여 무결성 조건을 실행함. |
제약 조건 | 데이터베이스 제약 조건 기능을 선언하며 무결성을 유지함. ex) pk, fk, check, not null, unique 등 |
데이터 무결성은 데이터 품질에 직접적인 영향을 준다. 데이터 품질을 확보하기 위해서는 데이터베이스 구축 과정에서 적정한 무결성 방안을 확보해야 한다.
[3-1] 무결성 강화 방법에 따른 장단점
구분 | 장점 | 단점 |
애플리케이션 | - 복잡한 무결성 조건 구현 가능 | - 소스코드에 분산되어 관리의 어려움 - 개별적으로 시행되어 검토 어려움 |
데이터베이스 트리거 | - 통합 관리 가능 - 복잡한 조건 구현 가능 |
- 운영 중 변경이 어려움 - 사용상 주의 필요 |
제약 조건 | - 통합 관리 가능 - 간단한 선언으로 구현 가능 - 변경 용이, 유무효 상태 변경 가능 - 원천적으로 잘못된 데이터 발생 막음 |
- 복잡한 조건 구현 불가능 - 예외 처리 불가능 |
'Study > Database' 카테고리의 다른 글
[PostgreSQL] 형 변환(Type Casts) (0) | 2022.08.24 |
---|---|
[SQLD 자격증] 2주 만에 턱걸이 합격 (0) | 2021.07.10 |