데이터베이스에서의 무결성..




데이터 무결성과 릴레이션 무결성으로 구분

 

[정의] 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질. 

 

[분류] 데이터 무결성과 릴레이션 무결성으로 구분
1. 데이터 무결성
- 개체 무결성
- 참조 무결성 : [규칙] 입력규칙(자식): Dependant, Nullify, Default // 삭제규칙(부모): Restrict, Cascade, Nullify, Default
- 속성(도메인)무결성 : [규칙] Unique, Not null, check, 기본키, 외래키
- 사용자 정의 무결성
- 키 무결성

 

 

 


2. 릴레이션 무결성 : 릴레이션을 조작하는 과정에서 의미적 관계를 명세, 삽입/삭제/갱신과 같은 연산을 수행하기 전과 후에 대한 상태에 대한 정확성 보장
  - [제약유형]
   - 상태제약(parent.family_nm=child.family_nm) :데이터베이스가 일관성 있는 상태가 되기 위한 조건 명세.
   - 과도제약(emp.newsal > emp.oldsal) : 데이터베이스의 한 상태에서 다른 상태로 변환되는 과정에서 적용되는 규칙.
   - 집합제약(avg(emp.sal)>600) : 튜플집합 전체에 관련되어 적용되는 규칙
   - 튜플제약(updating emp.sal; sal>5000) : 처리되고 있는 튜플에만 적용되는 규칙
   - 즉시제약(updating emp.sex; sex='M' or sex='F') : 연산이 수행되는 즉시 적용되는 규칙
   - 지연제약(When commit : check((a+b) > 0)  : 트렌젝션완전히 수행후 적용되는 규칙


[릴레이션 무결성을 DB 구현하는 방법]
1) 무결성 제약조건 활용 : DBA가 DCL을 이용하여 무결성 제약조건을 명시적으로 기술
2) 트리거 활용 : 트리거는 DB가 특정 상태에 도달하면 자동으로 작동
3) 저장 프로시저 활용 : 저장 프로시저를 사용해 데이터에 대한 접근을 제어. (저장 프로시저는 SQL과 SPL 언어를 조합해 만든 프로시저)
4) 데이터베이스 응용프로그램 활용 : 데이터베이스의 응용프로그램 코드에 업무규칙을 강제로 시행.
5) DBMS기능 활용 : ACID 보장 위한 동시성 제어 기능, 회복/복구 기능, 보안기능 등.

 

 

 

 

 

'ITPE > DB' 카테고리의 다른 글

데이터 모델링  (0) 2021.03.06
ARIES (Algorithms for Recovery and Isolation Exploiting Semantics)  (0) 2021.03.06
MVCC (MultiVersion concurrency control)  (0) 2021.03.06
Timestamp Ordering  (0) 2021.03.06
낙관적 검증(Validation)  (0) 2021.03.06

+ Recent posts