2009-10-05 5 views
4

the one Stack Overflow has과 비슷한 개정 시스템을 구축하고 있습니다. 여러 개정판 사이의 태그 차이점을 가장 잘 이해할 수있는 방법이 있습니까?데이터베이스 디자인 : 수정 사이의 태그 변경 내용을 추적하십시오.

제가 생각할 수있는 가장 간단한 방법은 3 개의 테이블, 수정본, 태그 및 둘을 연결하는 것입니다.

각각의 개정판에는 고유 한 태그 세트가 있지만 유일한 문제점은 모든 개정판을 표시 할 때 태그가 변경되지 않아도 차이점을 찾기 위해 다시 비교해야한다는 것입니다.

아마도 이전 개정에서 추가되거나 제거 된 태그를 표시하기 위해 추가 필드 또는 두 개를 추가 할 수 있습니다.

더 좋은 방법이 있나요?

답변

4

스키마를 지나치게 복잡하게 만들지 마시고 조기에 최적화하지 마십시오. 수정 태그의 쌍 비교는 매우 (메모리에 모든 데이터가있는 경우)이며보기 모델을 준비하는 동안 수행 할 수 있습니다.

0

난 당신이, 태그 차이점을 찾을 간단하지만 또 지난 2 개정 태그를 검색하고 당신은 어떤 언어로 당신의 마음에 드는 HashMaps을을 사용하여 비교하거나 할 수있는 권리 트랙

 
T1: Revisions 
|Item ID|revision ID|more...| 

T2: Tags 
|Tag ID|Tag fields...| 

T3: Tags Per Revision 
|Item ID|revision ID|Tag ID| /* This will have multiple rows, 1 per tag) */ 

에있어 말하고 싶지만 당신의 언어는 집합 차이를 효율적으로 구현할 수 있습니다.

관련 문제