Study/Database

관계형 데이터베이스 / 무결성(Integrity)

개발개발개발 2020. 12. 3. 16:51

[1] 데이터 무결성이란

데이터의 정확성, 일관성, 유효성 그리고 신뢰성을 유지하고 보증하는 것. 데이터 모델링 과정에서 정의된 일련의 규칙에 따라 데이터가 생성, 수정, 삭제 될 수 있도록 프로그램이나 데이터베이스 기능을 이용한다. 그 결과로 권한이 부여된 사용자에 의해 야기될 수 있는 의미적 에러를 방지하고, 데이터베이스 내의 데이터가 현실 세계의 올바른 데이터를 갖도록 보장하는 것이다. 

 

[2] 데이터 무결성 종류

분류 설명
실체 무결성 실체는 각 인스턴스를 유일하게 식별할 수 있는 속성이나 속성 그룹을 가져야한다. 
ex) 기본키 제약, Unique 제약
영역 무결성 칼럼 데이터 타입, 길이, 유효 값이 일관되게 유지되어야 한다. 
ex) Date type에 알맞은 변환과 길이, not null
참조 무결성 데이터 모델에서 정의된 실체 간의 관계 조건을 유지하는 것이다.
ex) 다른 튜플을 참조하려면 참조되는 튜플이 반드시 존재해야 함
사용자 정의 무결성 다양하게 정의될 수 있는 비즈니스 규칙이 데이터적으로 일관성을 유지하는 것이다. 

 

[3] 무결성 유지 조건 & 강화 방법

분류 설명
애플리케이션 데이터를 조작하는 프로그램 내에 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 추가함.
데이터베이스 트리거 트리거 이벤트 시 저장 SQL을 실행하여 무결성 조건을 실행함.
제약 조건 데이터베이스 제약 조건 기능을 선언하며 무결성을 유지함.
ex) pk, fk, check, not null, unique 등

데이터 무결성은 데이터 품질에 직접적인 영향을 준다. 데이터 품질을 확보하기 위해서는 데이터베이스 구축 과정에서 적정한 무결성 방안을 확보해야 한다. 

 

[3-1] 무결성 강화 방법에 따른 장단점

구분 장점 단점
애플리케이션 - 복잡한 무결성 조건 구현 가능 - 소스코드에 분산되어 관리의 어려움
- 개별적으로 시행되어 검토 어려움
데이터베이스 트리거 - 통합 관리 가능
- 복잡한 조건 구현 가능
- 운영 중 변경이 어려움
- 사용상 주의 필요
제약 조건 - 통합 관리 가능
- 간단한 선언으로 구현 가능
- 변경 용이, 유무효 상태 변경 가능
- 원천적으로 잘못된 데이터 발생 막음
- 복잡한 조건 구현 불가능
- 예외 처리 불가능

 

 

 

 

 

 

 

 

참고문헌 : www.dbguide.net/db.db?cmd=view&boardUid=13855&boardConfigUid=9&categoryUid=216&boardIdx=80&boardStep=1

'Study > Database' 카테고리의 다른 글

[PostgreSQL] 형 변환(Type Casts)  (0) 2022.08.24
[SQLD 자격증] 2주 만에 턱걸이 합격  (0) 2021.07.10