--- Micron Engineering ha scritto: > Ok facciamo un esempio riduttivo: [...]
premetto che non ho seguito molto bene la discussione: alcune mail non le ho lette o le ho lette molto velocemente. Volevo solo dire che secondo me: 1) in teoria prima di realizzare un database le domanda da farsi sono altre. Questa è una parte molto teorica che spesso o quasi sempre non viene presa in considerazione, ma che in realtà dovrebbe. Non è presa in considerazione perché è, molto spesso, difficile, se non quasi impossibile, riuscire a realizzarla concretamente e proficuamente. Inoltre i tempi per effettuare questa analisi di solito non ci sono mai ... Alcune tra le domande principali da porsi all'inizio sono: * quanti dati si dovrà gestire (ordine di grandezza) * come la base dati dovrà essere interrogata (capire da subito quali sono/saranno le esigenze degli utilizzatori) * come la base dati sarà utilizzata (ad esempio quanti saranno gli utenti contemporanei massimi?) * quali sono i tempi di risposta attesi per le varie interrogazioni/operazioni da svolgere * se e come può cambiare la struttura/le relazioni/la logica/... nel tempo * ci sono vincoli, limitazioni, ... * cosa potrebbe andare male, cosa potrebbe non essere stato ancora considerato * ... Questa analisi permette di stabilire anche la complessità della struttura del database che si deve creare; permette di capire come deve essere impostata, ... Naturalmente conta molto l'esperienza accumulata nel tempo. Le risposte devono arrivare dopo o mentre si capisce a fondo l'argomento che si deve realizzare. È utile cercare di capire ogni particolare. 2) evitare la duplicazione dell'informazione dove non necessaria per ottenere quanto rilevato al punto 1 3) cercare di ottenere una struttura semplice con il minimo numero di tabelle necessarie, mettere le mele tutte in una stessa tabella, le arance tutte in un'altra, ... sempre senza contraddire i punti precedenti 4) realizzare una base dati che offra la garanzia della consistenza creando tutte le chiavi primarie, gli indici univoci, le foreign key, ... necessarie e indispensabili per tale scopo 5) utilizzare indici e altri strumenti per ottimizzare i tempi di risposta come richiesto dalle specifiche del punto 1 6) realizzare viste per tutto ciò che non è necessario sia una tabella, ma che può è meglio sia visto come tabella da più interrogazioni (se si deve fare una modifica, allora la si fa solo in quella vista) 7) cercare di adottare dei criteri che permettano di identificare e categorizzare ogni elemento del database in modo univoco e veloce 8) ... Ciao Davide Dizionari: http://linguistico.sourceforge.net/wiki Esci dall'illegalità: utilizza OpenOffice.org: http://linguistico.sourceforge.net/wiki/doku.php?id=UsaOOo GNU/Linux User: 302090: http://counter.li.org -- Non autorizzo la memorizzazione del mio indirizzo su outlook ___________________________________ L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]