Nwlapcug.com


File vs Database Flat

Qual è la differenza tra un file flat e un database? Questa domanda è in realtà una contraddizione in termini, perché un file flat è un tipo di database. È facile confondere la terminologia perché tecnologie moderne di database come SQL e FoxPro utilizzano una struttura di database relazionale molto più sofisticata per l'organizzazione di record. Molti sistemi moderni software utilizzano solo file flat come un'area di detenzione temporanea per di dati esportati e importati in origini dati relazionali, moderno.

Database di File Flat

Considerare le seguenti righe di testo:

0001
0002
0003

Se tu fossi per copiare e incollare in un file di testo e salvare il documento, si avrebbe creato un database di file flat. Un database di file flat non è altro che un elenco di record. Ovviamente, il database creato in questo esempio sarebbe uno molto utile o significativo, ma sarebbe un database di file flat valido con tre record.

Se sei confuso perché questo sembra proprio un file di testo, hai assolutamente ragione. Un database di file flat non è davvero un database funzionale a tutti fino a quando un programma esterno analizza, carichi e interpreta o manipola i dati. Nell'esempio precedente, dobbiamo avere qualche software che completa in particolare suoi compiti basati su record di database numerica a 4 cifre.

"Flat file" non fa riferimento ad una norma, una tecnologia o una lingua. "Flat file" è solo un concetto generale che descrive uno stile "old school" del database che è stato utilizzato prima dell'avvento di schemi e tabelle relazionali.

Multi-campo record in un File Flat

Un file di testo contenente le seguenti righe sarebbe anche un database di file flat valido:

1234, X
2468, X
4321, Y
8642, Y

Questo sarebbe un esempio di un file flat delimitato da virgole. Ogni record contiene due campi invece di uno. Nel nostro primo disco, i dati "1234" sono associati con i dati "X".

Non è necessario che i delimitatori di essere virgole. Ancora una volta, tutto dipende dal software che interpreta il database di file flat. Un file flat delimitato da punto e virgola utilizzato per memorizzare gli indirizzi dei clienti potrebbe avere record come:

LEON WILLIAMS; 123 OVUNQUE IL TERRAZZO; AMERICATOWN; WI; 12345-0000; STATI UNITI D'AMERICA
JOHN DOE; 000 NULLA POSTO; HIDDEN VALLEY; MT; 00000-1234; STATI UNITI D'AMERICA

Database relazionale

Base di dati moderna formati come SQL utilizzano la tecnologia di database relazionale. Un database relazionale significa che le definizioni di campo e le relazioni sono definite all'interno del database stesso e non da un processo di software esterno. Ciò avviene inserendo i record di chiave per definire dati internamente. (Si può pensare di chiave record come intestazioni di colonna in un foglio di calcolo; essi spiegare o etichettare i dati elencati di sotto di loro.)

Ad esempio, una tabella SQL utilizzata per memorizzare gli indirizzi dei clienti può definire i record di chiave come "nome" "strada", "città", "stato" e "zip". I dati di ogni record viene quindi definiti da questi tasti anziché esistenti come stringhe di dati libero di fluttuare in un file di testo.

Uso moderno di file Flat

Nei sistemi informatici moderni, un file flat è più probabile che sia un file temporaneo utilizzato durante l'importazione e l'esportazione di dati. Ad esempio, l'esportazione da un database SQL a un database FoxPro può richiedere processi complicati e costosi. Spesso è più facile esportare i dati SQL in un file flat e quindi generare tale file flat in un database FoxPro. Ovviamente, questo richiede anche un software speciale, ma l'uso di file flat come intermediario elimina la necessità di un'interfaccia personalizzata, diretta tra le due fonti di dati relazionali.

Modifica di file Flat

Un altro motivo per l'esportazione di un database relazionale in un file flat è che rende i dati facili da modificare da qualsiasi workstation. Se si lavora con i vostri dati in forma di file flat, puoi semplicemente aprirlo in un editor di testo e apportare le modifiche necessarie. È pertanto eliminare la necessità per il software speciale e speciale conoscenza che si avrebbe bisogno di eseguire query e modificare direttamente un database SQL.