오늘은 DB의 무결성이라는 용어에 대해 살펴보며 시작하도록 하겠습니다.
무결성이란 데이터베이스에서 저장된 값들에 대하여 여러가지 제한을 통하여 데이터에 대한 신뢰를 보장하게 하여 일관성을 유지시켜주는 것입니다.
데이터 무결성에는
1. 영역 무결성(Domain Integrity)
2. 참조 무결성(Referential Integrity)
3. 개체 무결성(Entity Integrity)
과 같이 3가지로 나뉘어 생각해 볼 수 있습니다.
1. 영역 무결성
- 한 컬럼에 대해 NULL의 허용 여부와 타당한 데이터 값들을 지정합니다.
- 자료형(Data type), 규칙과 제약(Rules), 값 범위 등을 제한합니다.
2. 참조 무결성
- 기본 키와 참조 키 간의 관계가 항상 유지됨을 보장합니다.
- 참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없습니다.
3. 개체 무결성
- 테이블에 있는 모든 행들이 유일한 식별자를 가질 것을 요구합니다.
간단히 세가지 데이터 무결성에 대하여 살펴보았고, 그 중 참조 무결성에 대하여 구체적으로 살펴보겠습니다.
- 참조 무결성이란 관련된 테이블의 레코드 간의 관계를 유효하게 하는 규칙으로, 사용자의 실수로 관련 데이터가 삭제되거나 수정되는 것을 막아줍니다. 참조 무결성을 설정할 수 있는 조건은 기본 테이블에서 일치하는 필드가 '기본 키'이거나, 고유 인덱스를 갖고 있거나, 관련 필드의 데이터 형식이 같아야 합니다.
(참조 무결성의 설정 조건)
1) 기본 테이블에서 사용한 필드는 기본키이거나 고유 인덱스가 설정되어 있어야 합니다.
2) 기본 테이블과 관계 테이블 둘 다 액세스 테이블이어야 합니다.
3) 관계를 설정하는 테이블은 형식이 같아야 합니다.
(참조 무결성의 강화 규칙)
1) 기본 테이블과 관계가 설정된 테이블에 일치하는 레코드가 존재하면 기본 테이블에서 레코드를 삭제할 수 없습니다. 또한 기본키를 수정할 수도 없습니다.
2) 기본 테이블의 기본키 필드에 없는 데이터는 관계가 설정된 테이블의 외래 키 필드값으로 입력할 수 없습니다.
3) 기본 테이블의 기본 키 필드값이 바뀌면 관계가 설정된 테이블의 필드값도 바뀌도록 설정할 수 있습니다.
4) 기본 테이블의 레코드를 삭제할 때, 관계가 설정된 테이블의 레코드가 자동삭제 되도록 설정할 수 있습니다.
'DB' 카테고리의 다른 글
DataBase(데이터베이스)의 정의와 특징 (0) | 2016.04.24 |
---|---|
NoSQL 이란? (0) | 2016.04.24 |
RDB, RDBMS 란? (0) | 2016.04.20 |
E-R(Entity-Relationship) Model 이란? (0) | 2016.04.19 |
트랜잭션 (Transaction) (0) | 2016.04.19 |
WRITTEN BY