Domanda:
Salvare dati in un file xml invece che in un database?
michele
2010-05-24 03:39:12 UTC
Buongiorno, mi spiego meglio.
Vorrei realizzare un applicazione web per la gestione del fantacalcio. Questa applicazione voglio provarla a scriverla io grazie al linguaggio PHP e Javascript utilizzando MySql per la gestione del database. Ho visto navigando qua e là per il web che è possibile salvare tutti i dati degli utenti senza utilizzare un database,ma semplicemente racchiudendo i dati in un file xml. Volevo sapere se qualcuno di voi ha mai fatto qualcosa di simile,oppure conosce qualche sito o guida consultabile per realizzare tale applicazione.
Grazie in anticipo
Quattro risposte:
Zante
2010-05-24 03:47:51 UTC
Io ti consiglio di fare sia xml che database.

Mi spiego meglio:



I database sono migliori per l'organizzazione dei dati, le ricerche e le operazioni tra tabelle (cosa che con i file xml non e' impossibile, ma devi schivere chilometri di codice)



I file xml, pero' specialmente se sono piccoli sono veloci da leggere.



Io ti consiglio di salvare tutti i dati in un DB, pero' di salvare i dati delle schede giocatore ed i dati (non le password) degli utenti ANCHE in file XML singoli da usare quando devi solo leggere questi dati, in modo da evitare una certa quantita' di letture del DB ed accelerare l'elaborazione, specialmente quando i dati cominciano ad essere tanti.
Tizio 008
2010-05-24 05:03:38 UTC
in xml al più ci esporti i dati di un db per farne il backup oppure per caricarli in un altro db, ma l'xml non è pensato per essere efficiente in quello in cui sono efficienti i db (aggiungere, rimuovere, fare query complesse ecc.)

sì i dati degli utenti li puoi mettere in un file xml ma non conviene a meno che non siano generati una tantum e fissi... se cambiano ci sono *seri* problemi di concorrenza come già fatto notare.



è molto più facile impararsi 4 cose di sql invece che capire come usare i parser xml che ci sono in giro...
zedda_piras25
2010-05-24 04:47:05 UTC
Se sai usare un database meglio se usi quello, ha prestazioni migliori, è più facile da usare e ha meno rischi



esempio di concorrenza:

dato che per ogni modifica al file questo deve essere letto e riscritto

se due utenti si collegano contemporaneamente può accadere che un utente legge il file mentre un altro lo sta scrivendo, leggendo un file incompleto e quindi riscrivendo un file incompleto corrompendo tutta l'applicazione



se non puoi utilizzare un server puoi sempre usare sqlite

http://php.net/manual/en/book.sqlite.php
giorgionetg
2010-05-24 05:09:19 UTC
Nel tuo caso ti sconsiglio di usare xml, soprattutto sugli utenti, se gli dai permessi del tipo area riservata? E quindi password e i vari contatti, se sono salvati su file xml è come un file di testo e quindi semplice da utilizzare e scovare.

Poi se permetti di fare delle ricerche su file xml vuol dire che devi creare un mini-motore di ricerca che ti legga l'xml, mentre con un database, fai la tua query e ci pensa lui (il database)...



Con l'xml è figo se vuoi far comparire gli aggiornamenti da un quotidiano sportivo, siccome spesso hanno i feed, magari potresti fare una colonna con tutti i vari link. Poi dipende da quello che veramente vuoi fare tu :)



ps: fico sql lite!!! Lo conoscevo solo per sentito dire, stavo guardando la documentazione e pare interessante, molto!! :)


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...