2018년 12월 7일
릴레이션 무결성 제약조건
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
ㄱㅅ합니다
ㄱㅅ