Sto progettando il modello dati per un progetto in cui gli utenti possono creare documenti, salvare le revisioni di quel documento a cui è possibile ripristinare e pubblicare documenti. Il modello di dati di base che ho adesso è qualcosa del genere:
Documents
---------
id: integer PK
currentRevisionId: integer FK references DocumentRevisions(id)
publishedRevisionId: integer FK references DocumentRevisions(id)
DocumentRevisions
-----------------
id: integer PK
documentId: integer FK references Documents(id)
documentBody: text
Ho bisogno di sapere quali sono le revisioni pubblicate e attuali per un documento, ma ho anche bisogno di sapere a quale documento si riferisce una revisione. Non sono sicuro di come modellare questo senza creare questo riferimento circolare.