Quali sono i tuoi obiettivi?
-
creare una piccola applicazione solo per te stesso, per un uso reale nella tua compagnia personale, con il minimo sforzo possibile? Quindi l'utilizzo di qualcosa di più grande di un file XML sarebbe probabilmente un overengineering.
-
fai questo per scopi di apprendimento, per avere esperienza nello scrivere applicazioni più grandi? Quindi utilizzare un database, l'apprendimento di SQL è sicuramente qualcosa di cui ogni programmatore di applicazioni professionale potrebbe trarre beneficio.
Non ci sono "buone pratiche" o "cattive pratiche" nel vuoto - solo soluzioni che si adattano bene o meno ai requisiti indicati.
I could still port the data later to real relational database if required ( I think? ).
Sì, è possibile, ma ci sono diversi modi per raggiungere questo obiettivo, con costi diversi. Se, ad esempio, sei ancora soddisfatto di una soluzione per utente singolo, lo sforzo potrebbe essere basso, dal momento che puoi implementare il caricamento e il salvataggio dell'intero set di dati contemporaneamente dal db, proprio come se dovessi caricare tutti i dati da un file XML a una volta. Se, tuttavia, si desidera ottenere una reale funzionalità multiutente, un comportamento transazionale, un meccanismo di collisione elegante in caso di modifiche parallele, la modifica potrebbe causare una riprogettazione completa fino alla GUI, le parti dei dati che vengono visualizzate / modificabili a una volta e la sua gestione degli errori.