릴레이션 무결성 제약조건

I. 릴레이션 무결성 규칙의 개요

릴레이션을 조작함에 있어 삽입, 삭제, 갱신 등 연산 수행 전과 후에 대한 의미적 관계(Semantic Relation)를 정의

 

II. 릴레이션 무결성 제약과 사례

가. 릴레이션 무결성 제약

구분제약 유형설명
상태
변환
상태 제약데이터베이스가 일관성 있는 상태 되기 위한 조건
과도 제약한 상태에서 다른 상태로 변환 과정 적용 규정
집합
여부
집합 제약어떤 튜플 집합 전체에 관련된 규정
튜플 제약처리되고 있는 튜플에만 적용되는 규정
시간
측면
즉시 제약삽입/삭제/갱신 연산이 수행 즉시 적용되는 규정
지연 제약트랜잭션이 완전히 수행된 뒤 적용되는 규정

나. 릴레이션 무결성 사례

제약 유형사례
상태 제약WHEN INSERT CHILD.FAMILY_NAME:
CHECK(PARENT.FAMILY_NM = CHILD.FAMILY_NM);
과도 제약WHEN UPDATE EMP.SAL:
CHECK(EMP.NEWSAL > EMP.OLDSAL);
집합 제약AFTER UPDATING EMP.SAL:
CHECK(AVG(EMP.SAL) ≤ 600);
튜플 제약AFTER UPDATING EMP.SAL:
CHECK(SAL ≤ 5000);
즉시 제약AFTER UPDATING EMP.SEX:
CHECK(SEX = ‘M’ OR SEX = ‘F’);
지연 제약WHEN COMMIT:
CHECK(SUM(ACCOUNT.BALANCE) = SUMMARY.TOTAL);

– 릴레이션 무결성 유지는 전체 데이터베이스 일관성에 따른 업무 안정성 유지를 위해 트리거, 저장 프로시저 기반 데이터베이스 구현 가능
 

III. 릴레이션 무결성을 데이터베이스에 구현 방법

구현 방법구현 기술설명
무결성
제약조건
DCL– DCL 이용하여 무결성 제약조건을 명시적 기술
– 도메인, 테이블 생성 및 정의 시 조건 명세
트리거
(Trigger)
자동 규칙– 데이터베이스가 특정 상태 도달 시 자동작동
– 트리거를 사용하여 업무 규칙 강제 시행
저장
프로시저
접근 제어– 저장 프로시저를 사용하여 데이터 접근 제어
– 보안, 테이블 로그, 데이터 처리, 성능 향상
응용
프로그램
프로그램
코드
– 응용 프로그램 코드에 업무 규칙을 강제 시행
– 데이터베이스 및 시스템 관리 효율화 적용
DBMS
기능
자체 기능– 트랜잭션의 ACID 보장을 위한 동시성 제어
– 데이터베이스 회복/복구 및 보안 기능

 

2 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^