2010-04-24 3 views
1

편집 할 수없는 기사를 작성해야하지만 새 버전으로 저장하고 최신 버전 만 사용자에게 표시 할 수 있습니다. 이런 종류의 데이터베이스 디자인은 어떻게 구현해야합니까?Wikipedia 스타일 기사, 데이터베이스를 어떻게 디자인해야합니까?

+0

좋은 검색 키워드는 [ "database revisions"] (http://stackoverflow.com/search?q=database+revisions)이며 많은 관련 질문을 산출합니다. [맨 위로] (http://stackoverflow.com/questions/39281/database-design-for-revisions) [2] (http://stackoverflow.com/questions/750782/database-design-for-text-revisions)) 결과는 지역을 아주 잘 커버하는 것처럼 보인다. –

답변

2

데이터베이스에는 기사의 각 버전에 버전 번호 또는 타임 스탬프가있을 수 있으며 가장 최근 기사 (가장 높은 버전 번호 또는 가장 최근의 타임 스탬프)를 제공합니다.

최상의 결과를 얻으려면 리버스 프록시 캐시를 사용하여 모든 조회에서 데이터베이스를 건드리지 않도록하십시오.

+1

내가 제안한 currentVersion 또는 dateCreated보다 확실히 좋습니다. – Felan

0

이 문제를 처리하는 데는 몇 가지 방법이 있습니다. 가장 직접적인 방법은 기사가 생성 될 때 (예를 들어 ID) 돌로 설정된 모든 데이터와 편집 된 각 버전 인 "articleVersion"이있는 두 번째 표가있는 "article"테이블을 갖는 것입니다. article은 articleVersion과 일대일 관계가 있습니다.

"currentVersion"비트를 설정하고 이전 버전에서는 해제하고 새 버전에서는 on으로 설정할 수 있습니다. 편집을 계획하지 않으므로 최신 버전 인 "dateCreated"를 사용하여 날짜를 사용할 수도 있습니다.

관련 문제