물리데이터베이스
- 데이터베이스 무결성과 칼럼 속성 및 키 종류에 대해 이해
- 테이블 간의 조인을 줄이기 위한 칼럼 반정규화, 정규화에서 나눈 테이블을 하나의 테이블로 통합, 하나의 테이블을 여러 개 테이블로 분리, 요약 테이블을 생성의 방법으로 반정규화를 수행
- 반정규화에 따른 영향도를 조사하여 적절한 조치를 하고, 반정규화가 적용된 물리 데이터베이스 설계서를 작성
데이터베이스 무결성 Integrity 개념
- 데이터의 정확성, 일관성, 유효성, 신뢰성 등과 무효 갱신으로부터 데이터 보호 등을 위해 필요
- 무결성 제약 조건은 데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지 하기 위한 제약 조건임
- 무결정의 종류
- 개체 무결성
- 도메인 무결성
- 참조 무결성
- 사용자 정의 무결성
무결성의 종류
1. Entity Integrity 개체 무결성, 실체 무결성
- 개체의 유일성을 보장하기 위한 무결성
- 데이터베이스 테이블은 기본 키로 설정된 속성은 null 값이나 중복 값을 가질 수 없음
2. Domain Integrity 도메인 무결성, 영역 무결성
- 특정 속성 값이 미리 정의된 도메인 범위에 속해야 함
- 도메인은 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값의 집합
3. Referential Integrity 참조 무결성
- 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음
- 외래키 값은 Null이거나 참조하는 릴레이션의 기본 키 값이어야 함
4. User Defined Integrity 사용자 정의 무결성
- 모든 데이터는 사용자가 정의한 제약 조건인 업무 규칙 Business Rule을 준수해야 함
데이터 무결성 강화 개념
- 데이터 품질에 직접적인 영향을 주며, 데이터의 품질을 확보하고 유지하기 위해서는 데이터베이싀 구축 과정에서 적정한 무결성 방안을 확보 해야 함
- 프로그램이 완성되고 데이터가 축척된 상태에서 무결성을 정의할 경우 많은 비용 발생
- 데이터베이스에서 모두 이뤄질 수 없으므로 복잡한 규칙을 기반으로 데이터 상호 간 유지해야할 정합성은 어플리케이션 내에서 처리
데이터 무결성 강화 방법
1. 애플리케이션
- 데이터를 조작하는 프로그램 내에 데이터 생성, 수정, 삭제 시 무결성 조건을 검증 하는 코드를 추가
- 장점
- 사용자 정의 같은 복잡한 무결성 조건을 구현
- 단점
- 소스코드에 분산되어 관리의 어려움이 있음
- 개별적으로 시행되므로 적정성 검토에 어려움
2. 데이터베이스 트리거
- 트리거 이벤트시 저장 SQL을 실행하여 무결성 조건을 실행
- 장점
- 통합 관리가 가능함
- 복잡한 요건 구현 가능
3. 제약 조건
- 데이터베이스 제약 조건 기능을 선언하여 무결성을 유지
- 장점
- 통합 관리가 가능함, 간단한 선언으로 구현 가능
- 변경이 용이하고, 유효/무효 상태 변경이 가능
- 원칙적으로 잘못된 데이터 발생을 막을 수 있음
- 단점
- 복잡한 제약 조건 구현이 불가능, 예외적인 처리가 불가능