데이터 무결성이란?
데이터의 정확성, 일관성, 유효성이 유지되는것을 말한다.
데이터 무결성을 유지하는것은 DBMS (데이터베이스 관리 시스템)의 중요한 기능이며, 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지한다.
데이터베이스에서 말하는 무결성에는 다음과 같은 4가지 종류가 있다.
1. 개체 무결성
2. 참조 무결성
3. 도메인 무결성
4. 무결성 규칙
1. 개체 무결성:
모든 테이블이 기본 키 (primary key)로 선택된 필드 (column)를 가져야 한다. 기본 키로 선택된 필드는 고유한
값을 가져야 하며, 빈 값은 허용하지 않는다.
2. 참조 무결성:
관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것을 말한다.
[외래 키와 참조 무결성]
데이터베이스에서는 참조 무결성을 위해 참조 대상이 존재하지 않는 외래 키를 허용하지 않는다.
즉, 어떠한 외래 키 B가 A를 참조한다면, A는 반드시 데이터베이스에 존재해야 한다.
외래 키는 참조 무결성을 지키기 위해 RESTRICTED와 CASCADE, SET NULL이라는 개념을 외래 키에
적용할 수 있도록 기능을 제공한다. 각 개념들의 동작은 아래와 같다.
RESTRICTED: 레코드를 변경 또는 삭제하고자 할 때 해당 레코드를 참조하고 있는 개체가 있다면, 변경 또는 삭제 연산을 취소한다.
CASCADE: 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체도 변경 또는 삭제된다.
SET NULL: 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체의 값을 NULL로 설정한다.
3. 도메인 무결성
도메인 무결성은 테이블에 존재하는 필드의 무결성을 보장하기 위한 것으로 필드의 타입,
NULL값의 허용 등에 대한 사항을 정의하고, 올바른 데이터의 입력 되었는지를 확인하는 것이다.
예를 들어, 주민등록번호 필드에 알파벳이 입력되는 경우는 도메인 무결성이 깨지는 경우라고 볼 수 있다.
DBMS의 기본값 설정, NOT NULL 옵션 등의 제약 사항으로 도메인 무결성을 보장할 수 있다.
4. 무결성 규칙
데이터베이스에서 무결성 규칙은 데이터의 무결성을 지키기 위한 모든 제약 사항들을 말한다.
비즈니스 규칙 (business rule)은 데이터베이스를 이용하는 각각의 유저에 따라 서로 다르게 적용되지만,
무결성 규칙은 데이터베이스 전체에 공통적으로 적용되는 규칙이다.
'개발 > MySQL' 카테고리의 다른 글
[SQL] 6장 View와 서브쿼리 (0) | 2021.04.08 |
---|---|
[SQL] 정규화란? (0) | 2021.04.06 |
[SQL] 인덱스란? (0) | 2021.03.31 |
[MYSQL] 테이블 생성시 기본키, 복합키, UNIQUE (0) | 2021.03.29 |
[Mysql] 서브쿼리 사용법과 한계 (0) | 2020.09.10 |