1. 무결성 (integrity)과 데이터 무결성(data integrity)
- 무결성 : 데이터 및 네트워크 보안에 있어서 정보가 인가된 사람에 의해서만 접근이나 변경이 가능한 성질
- 데이터 무결성 : 데이터를 인가하지 않은 방법으로 변경할 수 없도록 보호하는 성질
2. 물리적 무결성 제약조건과 의미적 무결성 제약조건
- 물리적 무결성 제약조건 (physical integrity constraint)
* 데이터 모델 내부에서 정의되고, 주로 데이터의 구조나 이에 적용되는 연산의 물리적 특성을 제약하는 조건
- 의미적 무결성 제약 조건 (semantic integrity constraint)
* 데이터베이스 설계자가 외부 스키마를 정의할 때 해당 데이터베이스가 실세계를 정확히 반영하도록 하기 위해서 데이터베이스 안에 의미에 관한 정보를 규정하도록 하는 제약조건
3. 물리적 무결성 제약 조건의 범주
- 개체 무결성 제약조건(enity integrity constraint)
- 참조 무결성 제약조건(referntial integrity constraint)
- 도메인 무결성 제약조건(domain integrity constraint)
- 사용자 정의 무결성 제약조건(user define integrity constraint)
1) 개체 무결성 제약 조건 (enity integrity constraint)
- 하나의 릴레이션에서 기본키로 지정된 모든 튜플의 속성은 항상 널(null) 값을 가질 수 없다는 조건
- 개체 무결성 제약 조건으로 인해 릴레이션의 모든 튜플들에 대한 유일성을 보장 할 수 있다.
- 개체 무결성 제약조건이 위배된 예
2) 참조 무결성 제약조건(referntial integrity constraint)
- 릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건
- 두 개의 릴레이션이 기본키, 외래키를 통해 참조 관계를 형성할 경우, 참조하는 외래키의 값은 항상 참조되는 릴레이션에 기본키로 존재해야 한다.
- 참조 무결성 제약조건이 위배된 예
※ 참조 무결성 제약 조건을 만족시키기 위해서 DBMS가 제공하는 옵션
* 제한(restricted)
- 위배를 야기한 연산을 단순히 거절
- 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 참조 무결성 제약 조건을 위배하게 되므로 삭제 연산을 거절
* 연쇄(cascade)
- 참조되는 릴레이션에서 듀츨을 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제
- 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 EMPLOYEE 릴레이션에서 부서번호 3을 참조하는 두 번째 튜플과 다섯 번째 튜플도 함께 삭제
* 널값(nullify)
- 참조되는 릴레이션에서 튜플을 삭제하고, 참조되는 릴레이션에서 튜플을 참조하는 튜플들의 외래 키에 null 값을 삽입
- 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 EMPLOYEE 릴레이션에서 부서번호 3을 참조하는 두 번째 튜플과 다섯 번째 튜플의 부서번호에 null 값을 삽입
* 기본값(default)
- null 값을 넣는 대신에 default 값을 넣는다는 것을 제외하고는 바로 위의 널값옵션과 동일함
3) 도메인 무결성 제약조건(domain integrity constraint)
- 도메인 물결성 제약조건은 다른 릴레이션과 관계없이 속성 자체에만 적용되는 제약조건이다.
- 모든 속성은 특정한 도메인으로 정의되므로 해당 속성은 도메인에 존재하는 값만 가질 수 있다.
- 튜플을 삽입하거나 갱신하는 경우 튜플 안의 모든 속성은 각각의 도메인 집합 안에 존재하는 값을 취해야 하는 것이 도메인 무결성 제약 조건이다.
4) 사용자 정의 무결성 제약조건(user define integrity constraint)
- 사용자가 다른 무결성 범주에 포함되지 않는 특정 업무 규칙을 정의하여 사용하는 것
- 모든 범주의 무결성 제약조건은 사죵자 정의 무결성 제약 조건을 지원한다.
'Database > Oracle' 카테고리의 다른 글
데이터베이스 식별자 (0) | 2014.09.17 |
---|---|
데이터베이스 관계 (0) | 2014.09.17 |
데이터베이스 속성 (0) | 2014.09.17 |
데이터베이스 엔터티 (0) | 2014.09.17 |
데이터베이스의 개념, 파일시스템과 비교 (0) | 2014.08.29 |