2012-05-30 4 views
1

:구현 연기 검증

입력 : (20 개)를 통해 거대한 실체를 제시 데이터 모델, - 30 관계형 테이블 (SQL DB). 많은 제약 + 참조 데이터 링크가 있습니다.

작업 : 초안 모드 지원을 추가하면 모든 필수 필드를 채우지 않고 제약 조건을 위반하지 않고 개체를 저장할 수 있습니다. 개체를 게시 할 때 모든 제약 조건에 대해 유효성을 검사해야합니다.

누군가 초안 모드를 구현하는 좋은 방법에 대해 알고 있습니까? 클라이언트와의 계약으로 인해 비 관계형 DB가 발생하지 않습니다.

난 생각 해 봤는데 : 중복 된 테이블, 모든 중복에서 유효성 검사를 제거하고 동일한 트랜잭션의 원본 테이블로 이동 행을 게시합니다. 이 접근법은 많이 냄새가 난다. 모든 개체가 내 시스템에서 XML로 직렬화 가능합니다. DB 상태의 초안 모드로 상태를 저장할 수 있지만 다시 좋지 않습니다.

+0

초안 모드가 원래의 데이터로 작업 할 필요가 있습니까? 당신은 제약없이 다른 데이터베이스를 생성하고 첫 번째 데이터베이스를 복사 할 수 있습니다. –

+0

DB의 복사본을 사용할 수는 있지만 복제 접근법이 필요한 동안이 접근법을 좋아하지 않습니다. - 관계형 데이터베이스는 중복 된 데이터를위한 솔루션이라고 생각합니다. – Stas

답변

1

간단한 대답 :

CHECK (is_draft OR (condition_one AND condition_two AND condition_three))