2015-07-05 14 views
5

Ho costruito un piccolo JavaFX con 2 scene. L'utente può inserire 3 campi (testo) e caricare alcuni documenti per un oggetto.Approccio corretto al database Java

Così stavo pensando quando l'utente fa clic su Salva un oggetto JSON viene creato e aggiunto a un elenco di oggetti Json. Questi oggetti Json vengono quindi scritti in un file.

Questo è quello che stavo pensando:

{ 
    "objects": { 
     "object1": { 
       "field1": "foo" 
       "field2": "foo" 
       "field3": "foo" 
       "folderwithfileslocation": "C:/ProgramFiles/myapp/foobar/" 
       }, 
     "object2": { 
       "field1": "foobar" 
       "field2": "foobar" 
       "field3": "foobar" 
       "folderwithfileslocation": "C:/ProgramFiles/myapp/barbar/" 
       }, 
....... 
.... 
.. 
} 

Questi verranno letti in oggetti all'avvio, in modo che l'utente ha accesso a loro, così li può modificare, aggiungere, eliminare, ecc ecc tipica CRUD .

È un approccio corretto? Ci sarebbero massimo 500-600 record. Devo aggiungere un ID univoco (idk come randomUUID())?

Grazie

+0

stai salvando il percorso del file o inviando il file vero ?? – Karthik

+0

Stavo pensando di salvare un percorso file per ogni oggetto, che conterrà tutti i file che sono stati caricati per quell'oggetto. Quindi posso aprire una semplice finestra di expoler dato quel percorso di file. –

+0

Se si confronta questo con i database NoSql, il numero 1 ha un ID univoco per ciascun documento di questo tipo. –

risposta

3

La maggior parte degli schemi di database sarebbe aggiungere un UUID come chiave primaria, ma è importante capire il motivo per cui - la chiave primaria consente di cercare un documento specifico. Se un utente aggiorna o elimina un documento specifico, avrai bisogno di un modo per trovare quel record nel database in modo da poter applicare quell'azione.

Se una delle altre colonne (forse la cartella?) È univoca (e non annullabile), questo sarebbe un ottimo PK stesso senza aggiungere un UUID. Allo stesso modo, se gli oggetti vengono sempre letti come un elenco, è possibile utilizzare l'indice in tale elenco come PK, ma ciò fa alcune ipotesi sull'ordinamento della lista. Se quelli non faranno il lavoro per te, aggiungere un PK è probabilmente una buona idea, e un UUID è un ottimo modo per farlo.

Personalmente, mi aspetto che valga la pena aggiungere un UUID per il debug da solo. Le spese generali sono minime e fanno una grande differenza per la tracciabilità.

Problemi correlati