Che cos'è un file flat?
Un file flat è una raccolta di informazioni archiviate e accessibili in sequenza in un database, spesso create per archiviare informazioni in modo non strutturato. I fogli di valori separati da virgola (CSV), ad esempio, presentano le informazioni con ciascun campo separato dal successivo da una virgola. Mentre un file system flat offre alcuni vantaggi, spesso rende ingombranti grandi quantità di dati da archiviare e accedere. La maggior parte dei database utilizzati oggi sono sistemi relazionali che utilizzano query strutturate per recuperare informazioni e presentarle all'utente.
Come funziona
Per rendere funzionale un modello di dati di file flat, tutte le informazioni rilevanti su un record devono essere archiviate nello stesso file. In un foglio CSV, ad esempio, nessun formato specifico dell'applicazione si applica ai dati contenuti nel file; solo una virgola indica la fine di un campo in un record. Ogni record è scritto su una riga nel file, consentendo a tutti i dati di un singolo record di essere memorizzati separatamente dagli altri record.
Tali database possono rapidamente diventare molto grandi e difficili da gestire a causa del modo semplice in cui sono organizzati. Molti modelli di dati moderni utilizzano tabelle connesse per organizzare gruppi di dati correlati. Ciò rende tali informazioni più facili da individuare e più flessibili con cui lavorare.
Utilizzando un sistema piatto
Se un cliente chiama un'azienda per effettuare un ordine, qualcuno inserisce le sue informazioni in una tabella o in un database. La stessa persona, o qualcun altro, quindi inserisce le informazioni per quel particolare ordine. Un file system flat potrebbe archiviare tutte queste informazioni per il cliente in un singolo file.
Ciò non è necessario, tuttavia, in modo da poter gestire più file: uno per il cliente e uno per ogni singolo ordine. Le informazioni su un ordine memorizzato in un file flat non sono associate alle informazioni sul cliente memorizzate in un file diverso. Questi file non sono correlati in alcun modo, quindi qualcuno che utilizza un database di file flat per trovare informazioni sui clienti può facilmente perdere ulteriori file sugli ordini.
Debolezze di questo sistema
Poiché ogni record deve essere completo in sé e per sé, un file system flat di solito genera file molto grandi o una mancanza di connettività tra le informazioni al suo interno. Il database comune utilizzato oggi è un database relazionale. Questo modello consente alle informazioni in una tabella di essere correlate ad altre tabelle utilizzando i campi chiave che esistono in ciascuna. Più tabelle vengono collegate attraverso questi campi, consentendo a ciascuno di avere solo una parte delle informazioni totali necessarie.
Database relazionali
Lo stesso esempio di cliente riportato sopra potrebbe apparire piuttosto diverso in un modello relazionale. Quando il cliente chiama per effettuare un ordine, qualcuno inserisce le sue informazioni in una tabella "cliente" all'interno del database. Un'altra persona può quindi inserire le informazioni per il proprio ordine in una tabella separata. Ognuna di queste tabelle include campi che le collegano tra loro. Ciò significa che qualcuno può utilizzare il sistema per trovare più facilmente tutte le informazioni per un cliente, inclusa la cronologia totale degli ordini.
Uso continuato
I database di file flat hanno alcuni usi, anche se le funzionalità di questo modello di dati non sono altrettanto efficienti di un approccio più rapido e relazionale. I sistemi semplici possono contenere facilmente informazioni di base per un database rapido. La mancanza di campi connessi elimina anche gli errori che possono derivare da tabelle mancanti, quindi molti database scaricabili utilizzano questo formato per evitare tali problemi.