X

데이터 무결성 제약조건

I. 데이터 무결성의 개요

가. 데이터 무결성의 정의

개체 간 적용되는 규칙을 위반하지 않도록 제약(Constraints)하여 데이터의 일관성, 정확성 유지 방법

나. 데이터 무결성의 중요성

중요성 설명
합리적 의사결정 – 현실을 정확히 반영 데이터가 신속, 명확 의사결정
데이터 중복 감소 – 중복 데이터 증가에 따른 데이터 불일치 현상
데이터 신뢰성 – 비즈니스 룰에 적합한 데이터 생산, 관리

 

II. 데이터 무결성의 기법

가. 데이터 무결성 유형

무결성 규칙 설명
개체 유일성 기본키는 Null 불가하며, 유일해야 하는 속성
예) 고객번호가 없는 레코드는 존재 불가
참조 일관성 테이블 간 관계로 연결된 데이터는 일관성 유지 필요
예) 주문고객의 고객번호는 존재하거나 Null값
속성 일치성 속성의 값은 그 속성이 정의된 도메인에 속한 타입 일치
예) 고객 번호는 정수이어야 함
사용자 정의 만족 값들은 사용자가 정의한 제약조건을 만족
예) 주문 취소금액은 주문 금액보다 작음
키 유일성 한 개체에 같은 값을 가진 레코드는 불허
예) 동일한 고객번호는 존재하지 않음

나. 무결성 제약조건 유형

구분 제약 유형 사례
선언적
방법
NOT NULL 모든 열 NULL 허용하나, NOT NULL 제약조건 시 해당 컬럼에 NULL 비허용
Unique Key 두 행이 지정된 열, 열 집합 중요 값 갖지 않음
Primary Key 하나 이상의 열 그룹은 고유한 식별자
Foreign Key 상위 테이블 및 하위 테이블 칼럼 구현
Check 열, 열집합 각 행에 대해 지정된 조건
절차적
방법
트리거 특정 조건에 도달하면 자동 동작
Stored Procedure DBMS 지원 절차적 언어
Application 비즈니스 로직 표현 시 무결성 확보

 

III. 데이터 무결성 확보 방안

가. 무결성 적용 개념도

구현 방법 설명
DB 물리적 무결성 반영, 테이블에 선언적 방법 기술
DBMS 무결성 반영, 트리거, Stored Procedure, DB암호화 등
미들웨어 권한 설정, 접근 통제, 2PC
네트워크 해킹, 웜 등 데이터 변조 및 파괴 방지 기법
클라이언트 입력 과정 실수 방지, APP 내 프로그램 오류 제거

나. 담당자 별 무결성 확보 방안

담당자 적용 절차
사용자 사용자 교육 통한 오류 데이터 입력 방지
DBA 보안관리, 장애 처리, 백업 및 복구
설계자 모델링 과정에서 무결성을 고려한 DB 설계
개발자 비즈니스 로직 구현 및 충분한 테스트 실시

 

IV. 무결성 확보를 위한 고려사항

가. 개발 및 운영 관점 무결성 확보 방안

설계 및 구현
관점
– 데이터 모델링 시부터 무결성 고려한 설계가 중요
– 개발 과정에서 무결성 훼손 가정하여 코딩 수행
– 개발 전 과정을 통하여 품질관리활동 통해 정확성향상
운영 관점 – 사용자 교육 및 입력화면에서의 완벽한 입력 체크
– 변경 필요 시 변경 절차에 따라 백업 후 처리 중요

나. 데이터 무결성 강화 방법

유형 설명
응용 프로그램 소스 – 데이터 조작 프로그램 내 데이터 생성/수정/삭제 시 무결성 조검 검증 코드 추가
트리거 – 트리거 이벤트 시 저장SQL 실행 후 무결정 조건 실행
제약조건 – 제약조건 기능을 선언하여 무결성을 유지

 

Categories: 데이터베이스
도리: