Mi sto chiedendo quale sia l'approccio migliore per la progettazione di un database per la memorizzazione dei dati json cruciverba. Poiché il sito web è al momento, la vista front-end deve solo essere passata all'intero oggetto per rendere il cruciverba:
{
grid: [15][15], // 2D array of letters
clues: {
across: {
clue_id: "here's an across clue"
...
}, // Arbitrary number of clues
down: {
clue_id: "here's a down clue"
...
} // Arbitrary number of clues
}
}
Quali sono le opzioni più sensate quando si progetta il database?
Il mio istinto è di usare MySQL o Postgres e di archiviare i dati JSON in una singola colonna:
crossword _id | crossword_data
In futuro gli utenti potrebbero essere in grado di indizi "preferiti". In questo caso è meglio fare pratica per separare tutta la griglia e gli indizi da tabelle diverse?
Crosswords Table [has many clues]
-----------------------------------
| crossword_id | crossword_grid |
-----------------------------------
Clues Table [has one crossword]
----------------------------------------------------------
| clue_id | clue_direction | clue_text | crossword_id |
----------------------------------------------------------
O sarebbe meglio memorizzare i dati cruciverba in un database NoSql separato?
Qualsiasi direzione in merito sarebbe molto apprezzata.