Быстрый ответ будет иметь такую модель:
[Blog]<-----[BlogSubEntries]<----[SubEntryDraft]
^ (current content) |-------------|
| |draft_content|
| |-------------|
[BlogDraft]
(draft content)
Если вы хотите заняться версионированием, у вас будет что-то вроде:
[entry]-(1)-------(N)-[entry_version]
|-------------|
| version_num |
| content |
|-------------|
Я не думаю, что механизм хранения документов будет иметь большое значение. Вам все равно нужно отслеживать, какая версия контента принадлежит данной записи (или блогу, или какому-либо другому). Если, конечно, система, которую вы использовали, уже обеспечивала управление версиями.
Теперь, когда я думаю об этом, вы также можете сделать это в одной таблице:
[ BlogSubEntry ]
|----------------|
| content |
| entry_id | <--| composite alternate key:
| version_num | | UNIQUE(entry_id, version_num) NOT NULL
| surrogate_key | <-- PRIMARY KEY
|----------------|