'check'에 해당되는 글 1건

  1. 2008.05.15 ORACLE-데이터무결성

데이터 베이스 무결성(Data Integrity)


관계형 데이터 베이스는 수많은 개체(Entity)와 관계(Relation)들이 저장되어 있는 복합체라고 할 수 있으며 이러한 개체와 관계들을 테이블이라는 형태로 구현한다.

데이터 무결성의 종류로는 크게 컬럼에 대한 무결성을 유지하는 것이 도메인 무결성이고 하나의 행(Row)에 대해서 무결성을 유지하는 것이 개체무결성 이러한 개체와 개체간의 무결성을 유지하는 것이 참조 무결성이라고 할 수 있다.


데이터 무결성은 데이터베이스의 데이터가 업무 규칙을 준수함을 보장하며 데이터 무결성

을 유지 관리할 수 있는 기본적인 방법으로는 다음 세 가지가 있습니다.

응용 프로그램 코드

데이터베이스 트리거

선언적 무결성 제약 조건


설계 시 세 개의 방식 중 하나를 사용하여 업무 규칙을 매핑하며 데이터베이스 관리자는 주

로 설계자가 선택한 방식을 구현하고 무결성 요구 사항에 대한 성능상 요구의 균형을 맞춥

니다.

1. 응용 프로그램 코드를 이용한 방법

응용 프로그램 코드는 데이터베이스 내의 내장 프로시저 또는 클라이언트에서 실행 중인

응용 프로그램으로 구현할 수 있음.

 

2. 데이터베이스 트리거를 이용한 방법

  데이터베이스 트리거는 열 삽입 또는 열 갱신 같은 특정 이벤트가 테이블에 발생할 때
실행되는
PL/SQL 프로그램으로 활성화하거나 비활성화할 수 있습니다.
, 이벤트 발생 시 실행되도록 설정하거나 정의했더라도 실행되지 않도록 설정할 수 있습니다. 데이터베이스 트리거는 대개 하나의 무결성 제약 조건으로 정의할 수 없는 복잡한 업무 규칙을 강제로 시행할 경우에만 작성합니다.

[참고] 트리거에 대해서는 본 사이트의 내용참고
행 트리거 : http://infomercial.tistory.com/173

문장 트리거 : http://infomercial.tistory.com/179

 

3. 선언적 무결성 제약 조건

업무 규칙을 시행할 때 무결성 제약 조건 방식을 선호하는 이유는 다음과 같습니다.

a. 향상된 성능을 제공합니다.
b.
방대한 코딩 작업이 필요하지 않으므로 선언 및 수정이 용이합니다.

c. 규칙을 집중시킵니다.

d. 유연성(활성화 또는 비활성화 가능)이 있습니다.

e. 데이터 딕셔너리에 완전히 문서화됩니다.

 

나중에 기회가 되면 1번에서 언급한 응용프로그램 코드에서 데이터무결성에 대한 실제 예를 알아보기로 하고 자 이제부터 선언적 무결성 제약조건에 대해서 알아보자.

 

제약조건의 유형

 

제약조건

설명

NOT NULL

열에 널(NULL)값이 지정될 수 없음

UNIQUE

열 또는 열조합을 유일하게 지정

PRIMARY KEY

열 또는 열조합을 테이블의 기본키로 지정

FOREIGN KEY

열 또는 열조합을 참조무결성 제약조건의
외래키로 지정

CHECK

테이블의 각 행이 만족해야 하는 조건을 지정


오늘은 여기까지 올립니다.
Posted by 원철연(체르니)
,