Domanda

Ho sentito alcuni argomenti veri per l'utilizzo di database relazionali vs foglio prima. database relazionale fornisce report veloce e (relativamente parlando) è affidabile data warehousing, dove i fogli di calcolo sono leggeri, replicando veloce e facile galleggiare intorno all'organizzazione di pubblico diverso. Anche se ho notato i vantaggi di entrambi, posso raramente distinguere ciò che è meglio in quale scenario, e sempre finire con database.

In fase di sviluppo, è facile dimenticare di prendere in considerazione altre opzioni quando si può mettere le impostazioni di configurazione nel database. Ho incontrato un bel paio di applicazioni in cui menu utente, flussi di lavoro e le loro ordini, e le costanti sono definiti nel livello di database. Anche se questo è un bene se queste entità sono state oggetto di modifiche da parte dell'utente finale dal livello di applicazione, non era il caso.

Quindi, qual è la tua opinione sui ruoli di database, file di configurazione, e fogli di calcolo?

È stato utile?

Soluzione

Il vecchio adagio è questo.

  

Quando si utilizza un foglio di calcolo per risolvere un problema, ora avete due problemi.

Database per i record del business. Di lunga durata. Permanente.

Altri file di configurazione sono per altre informazioni di configurazione - non di lunga durata documenti aziendali. impostazioni correnti e documenti aziendali che cosa-non non sono durevoli, che sono parte di una configurazione software specifico che elabora i documenti aziendali.

fogli di calcolo sono - ben - sono quello che sono. Troppo complesso per essere un semplice file di configurazione. Troppo semplice per essere una vera e propria banca dati.

Dato che sono (quasi) impossibile da controllare, avete bisogno di uno standard corretto, risultato idempotente nel database. Si dovrebbe essere in grado di ricostruire i fogli di calcolo da quella fonte controllata.

Allo stesso modo, se si accetta un foglio di calcolo per il caricamento, è necessario estrarre i dati, e mai fare riferimento al documento (quasi incontrollabile) fonte di nuovo.

Altri suggerimenti

Per quanto mi riguarda, voglio che tutti i dati di base per essere memorizzati in un database. Due motivi:

  • per consentire ad hoc riferire l'accesso ai dati
  • per consentire alle applicazioni di condividere dati.

Banche dati devono contenere tutti i dati di dominio, e, occasionalmente, alcuni dati on-the-fly (preferenze dell'utente, per esempio). I database relazionali sono più popolari, ma per alcune applicazioni ci sono altre opzioni.

Il file di configurazione d'altra parte dovrebbe contenere tutti i parametri '' che si desidera modificare nel sistema; quelli che non sono cambiati rapidamente (on-the-fly). elementi di configurazione sono flessibili, ma non facilmente, e di solito non dall'interfaccia. Se si tratta di un param che si desidera solo il codificatore per cambiare eventualmente, che dovrebbe essere di destra nel codice (in modo che nessun altro ha accesso).

Se si vuole giocherellare con il data mining, fornire un meccanismo generico per scaricare un file CSV con i risultati di una query SQL, direttamente in Excel. In questo modo le persone possono giocherellare con le tabelle pivot, senza dover modificare lo schema dell'applicazione.

Fogli di calcolo sono documenti, banche dati sono depositi per le informazioni, le regole di file di configurazione, magazzini, come una specifica istanza di un'applicazione dovrebbe comportarsi. Se si pensa in quel modo, di solito non è difficile fare una chiamata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top