Rappresentazione dei dati nell'applicazione rispetto al database [chiuso]

0

Ho intenzione di creare un'applicazione con i dati da inserire in un database. I dati saranno per lo più uguali, ma il modo in cui è formattato varierà molto (potrebbe essere in qualsiasi cosa, dai file di testo a .xls a .doc).
Non sono uno sviluppatore molto esperto, ma posso vedere alcuni potenziali problemi e voglio ridurli al minimo.
Prima di tutto ho deciso di utilizzare il pattern DAO, in modo da poter facilmente supportare nuovi formati di file o file improvvisamente formattati in modi diversi.
Quello che mi chiedo veramente, è come dovrei gestire i dati stessi all'interno della mia applicazione. Sto pensando che il database DAO dovrebbe avere modelli che rappresentano ciascuna tabella del database con le stesse relazioni tra di loro, per facilitare il processo di caricamento. Ma i DAO del filesystem devono usare gli stessi modelli? Posso immaginare che quando il database cambia, il cambiamento si propagherà improvvisamente nell'intero sistema, tutti i DAO e i modelli allo stesso modo. E ovviamente è una brutta cosa.

Sono un po 'stanco e fuori dal tempo. Aggiornerà con tutte le tue domande.

Grazie!

    
posta user1815201 20.06.2013 - 22:44
fonte

2 risposte

0

Credo che in realtà potrebbe essere meglio astrarre l'organizzazione del tuo database dall'organizzazione del codice. Se si imita la progettazione del proprio database, ciò creerà problemi quando si dovranno apportare modifiche all'archiviazione dei dati, ad esempio se in seguito si necessiteranno di informazioni aggiuntive come metadati, ecc. Quindi vorrei separare gli oggetti dal database più usando JPA o Hibernate per persisterli nel database.

Inoltre, perché usare un enorme singolo oggetto? Penso che potrebbe essere meglio utilizzare alcune classi di base in cui è possibile concentrare il proprio codice generico e quindi rappresentare ogni formato di file da una sottoclasse diversa della classe base per consentire una migliore organizzazione del codice, flessibilità e manutenibilità.

    
risposta data 30.06.2013 - 22:59
fonte
2

Intendi manipolare i dati nel database? Se la risposta non è un sì immediato, archivia i file come blob binario.

Se la risposta è ancora un sì, è possibile continuare a memorizzare i file originali come un blob. Ma prova anche a scovare una struttura dati appropriata per la tua analisi e prova ad automatizzare l'estrazione di quella dal file originale. Tieni traccia di quando l'automazione ha avuto problemi e quali problemi ha avuto. Poiché hai sempre l'originale, quando capisci come risolvere il problema, puoi rianalizzare il file in modo corretto.

    
risposta data 21.06.2013 - 02:11
fonte

Leggi altre domande sui tag