데이터 무결성 제약조건

I. 데이터 무결성의 개요

가. 데이터 무결성의 정의

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

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

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

 

II. 데이터 무결성의 기법

가. 데이터 무결성 유형

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

나. 무결성 제약조건 유형

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

 

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

가. 무결성 적용 개념도

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

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

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

 

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

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

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

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

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

 

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^