참조 무결성은 언제 적절하지 않습니까?
일반적으로 데이터가 트랜잭션 데이터베이스의 읽기 전용 복사본 인 데이터웨어 하우스에 사용되지 않는 경우 참조 상호 참조. RI가 필요하지 않은 또 다른 예는 행 ID를 포함하는 정보를 기록하려는 경우입니다. 읽기 전용 로그 테이블에 대한 참조 무결성을 유지하는 것은 데이터베이스 오버 헤드의 낭비입니다.
외래 키 목록의 복수 및/또는 불완전한 하위 집합을 포함하는 필드를 사용하는 것이 적절합니까?
때때로 데이터 품질보다 데이터를 캡처하는 것이 더 중요합니다. 각자 독자적으로 데이터 품질 문제로 고통받는 서로 다른 시스템의 많은 양의 데이터를 집계한다고 가정 해보십시오. 때로는 데이터 품질이 좋아졌고 깨진 키 등이 있어도 한 곳에서 모든 것을 처리하는 것이 진정한 데이터 품질로 옮겨가는 출발점이됩니다. 이상적은 아니지만, 타협이 트레이드 오프를 능가 할 수 있기 때문에 발생합니다.
일반적으로 스키마 구조 디자인 결정 또는 인터페이스 디자인 결정이어야합니까? (또는 둘 중 하나 또는 모두)
시스템 개발에 관한 모든 것이 정보 보안에 중점을두고 있으며 그 핵심 요소는 데이터 무결성입니다. 데이터베이스 구조는 가능할 때 이러한 것들을 강제하는쪽으로 기울어 져야하지만, 종종 현대 데이터베이스 시스템을 다루지 않습니다. 때로는 데이터 소스가 오래된 골동품 응용 프로그램을 사용하는 구식 AS400 일 수도 있습니다. 때로는 데이터 무결성을 제공하는 데이터 및 비즈니스 계층을 구축해야합니다.
그냥 내 생각.
관심 사항 - 참조 무결성이 켜져 있으면 성능에 영향을 줍니까? 예 : RI가 켜지는 것과 반대로 삽입과 업데이트가 더 빠를 것인가? –
@Dieter : 좋은 지적. 비용은 "비용/이익 분석"에서 분명해야합니다. –