Flat-File-Datenbank

Beispiel eines flachen Dateimodells[1]

A Flat-File-Datenbank ist ein Datenbank gespeichert in einer Datei namens a flache Datei. Aufzeichnungen folgen einem einheitlichen Format, und es gibt keine Strukturen für die Indizierung oder Erkennung von Beziehungen zwischen Aufzeichnungen. Die Datei ist einfach. Eine flache Datei kann a sein einfacher Text Datei (z. CSV, txt oder TSV), oder ein Binärdatei. Beziehungen können aus den Daten in der Datenbank abgeleitet werden, aber das Datenbankformat selbst macht diese Beziehungen nicht explizit.

Der Begriff hat im Allgemeinen eine kleine Datenbank impliziert, aber sehr große Datenbanken können ebenfalls flach sein.

Überblick

Klartextdateien enthalten normalerweise eine Aufzeichnung pro Zeile.[2] Es gibt verschiedene Konventionen für die Darstellung von Daten. Im Komma-getrennte Werte und Trennzeichen getrennte Werte Dateien, Felder kann durch getrennt werden Grenzwerte wie zum Beispiel Komma oder Tab Figuren. In anderen Fällen kann jedes Feld eine feste Länge haben; kurze Werte können mit gepolstert werden Space Charaktere. Es kann möglicherweise zusätzliche Formatierung erforderlich sein, um zu vermeiden Grenzkollision.

Verwenden von Begrenzern entstehen einige Überkopf Bei der Suche nach ihrer Verarbeitung (im Gegensatz zu Formatierung der festen Breite), die möglicherweise haben, kann es sein Leistung Implikationen. Die Verwendung von Charaktergräben (insbesondere Commas) ist jedoch auch eine grobe Form von Datenkompression Dies kann die Gesamtleistung unterstützen, indem das Datenvolumen reduziert wird - insbesondere für Datenübertragung Zwecke. Verwendung von Zeichengräben, die eine Längenkomponente enthalten (Deklarative Notation) ist vergleichsweise selten, reduziert aber den mit der Lokalisierung des Ausmaßes jedes Feldes verbundenen Overheads erheblich.

Beispiele für Flatendateien umfassen /etc/passwd und /etc/Gruppe an Unix-artig Betriebssysteme. Ein weiteres Beispiel für eine flache Datei ist eine Name-and-Address-Liste mit den Feldern Name, Adresse, und Telefonnummer.

Eine Liste von Namen, Adressen und Telefonnummern, die von Hand auf einem Blatt Papier geschrieben wurden, ist eine flache Datenbank. Dies kann auch mit jedem getan werden Schreibmaschine oder Textverarbeitungssystem. EIN Kalkulationstabelle oder Texteditor Programm kann verwendet werden, um eine Flat-File-Datenbank zu implementieren, die dann gedruckt oder verwendet werden kann online Für verbesserte Suchfunktionen.

Geschichte

Herman Hollerith's Arbeit für die US Census Bureau zuerst in der ausgeübt 1890 Volkszählung der Vereinigten Staatenmit Daten, die über Lochschläge in Papierkarten tabelliert werden,[3] kann als die erste computergestützte Flat-File-Datenbank angesehen werden, da sie (vermutlich) keine Karten enthielt, die andere Karten indizieren, oder auf andere Weise die einzelnen Datensätze (d. H. Die einzelnen Karten) miteinander in Bezug auf ihre Gruppenmitgliedschaft in Bezug auf ihre Gruppenmitgliedschaft in Beziehung zu setzen.

In den 1980er Jahren konfigurierbare Datenbank für flache Datei Computer Anwendungen waren beliebt auf der IBM PC und die Macintosh. Diese Programme wurden so konzipiert, dass sie den Einzelpersonen leicht zu entwerfen und ihre eigenen Datenbanken zu verwenden, und waren fast gleichzeitig mit Textverarbeitungen und Tabellenkalkulationen Popularität. Beispiele für Flat-File-Datenbanksoftware sind frühe Versionen von FileMaker und die Shareware PC-Datei und das Volk dbase.

Datenbanken flache Datei sind häufig und allgegenwärtig, weil sie leicht zu schreiben und zu bearbeiten sind und unzählige Zwecke auf unkomplizierte Weise entsprechen.

Moderne Implementierungen

Lineare Geschäfte von NoSQL -Daten, JSON formatierte Daten, primitive Tabellenkalkulationen (möglicherweise von Kommas getrennte oder tab delimitierte) und Textdateien können als Flat-File-Datenbanken angesehen werden, da ihnen integrierte Indizes, integrierte Referenzen zwischen Datenelementen oder komplexen Datentypen fehlen. Programme zur Verwaltung von Sammlungen von Büchern oder Terminen und Adressbuch Kann im Wesentlichen einzelne Datenbanken mit flachen Filmen verwenden und Informationen aus flachen Dateien speichern und abrufen, die nicht mit Indizes oder Zeigensystemen sind.

Während ein Benutzer eine Inhaltsverzeichnis in eine Textdatei schreiben kann, enthält das Textdateiformat selbst kein Konzept einer Inhaltsverzeichnis. Während ein Benutzer in den Abschnitt "Notizen" für Johns Kontaktinformationen "Freunde mit Kathy" schreibt, wird dies eher vom Benutzer als von einer integrierten Funktion der Datenbank interpretiert. Wenn ein Datenbanksystem damit beginnt, Beziehungen zwischen Datensätzen zu erkennen und zu kodifizieren, beginnt es, "flach" wegzuschieben, und wenn es ein detailliertes System zur Beschreibung von Typen und hierarchischen Beziehungen hat, wird es jetzt zu strukturiert, um als "flach" betrachtet zu werden.

Beispieldatenbank

Das folgende Beispiel zeigt typische Elemente einer flachen Datenbank. Das Daten Die Arrangement besteht aus einer Reihe von Spalten und Reihen, die in a organisiert sind Tabellenformat. In diesem spezifischen Beispiel wird nur eine Tabelle verwendet.

Die Spalten enthalten: Name (Name einer Person, zweite Spalte); Mannschaft (Der Name eines von der Person unterstützten sportlichen Teams, der dritte Kolumne); und ein numerisches Eindeutige ID, (verwendet, um Datensätze einzigartig zu identifizieren, erste Spalte).

Hier ist eine Beispiele für die textuelle Darstellung der beschriebenen Daten:

ID Name Team 1 Amy Blues 2 Bob Reds 3 Chuck Blues 4 Richard Blues 5 Ethel Reds 6 Fred Blues 7 Gilly Blues 8 Hank Reds 9 Hank Blues

Diese Art von Datenrepräsentation ist für eine flache Datenbank recht Standard, obwohl es einige zusätzliche Überlegungen gibt, die sich aus dem Text nicht leicht erkennen:

  • Datentypen: Jede Spalte in einer Datenbanktabelle wie die oben genannte ist normalerweise auf eine bestimmte beschränkt Datentyp. Solche Einschränkungen werden normalerweise durch Konvents festgelegt, aber nicht formell angegeben, es sei denn, die Daten werden an a übertragen relationale Datenbank System.
  • Trennte Spalten: Im obigen Beispiel werden einzelne Spalten miteinander getrennt Whitespace Figuren. Dies wird auch als Einsatz- oder "Festbreitungs" -Datenformatierung bezeichnet. Eine weitere gemeinsame Konvention besteht darin, Spalten zu trennen, die ein oder mehrere verwenden Abgrenzer Charaktere wie a Tab oder Komma.
  • Relationale Algebra: Jede Zeile oder Aufzeichnung in der obigen Tabelle erfüllt die Standarddefinition von a Tupel unter Relationale Algebra (Das obige Beispiel zeigt eine Reihe von 3-Tupel). Zusätzlich gibt die erste Zeile die an Feldnamen das sind den Werten jeder Zeile verbunden.
  • Datenbankverwaltungssystem: Da die formalen Operationen mit einer Textdatei in der Regel eingeschränkter als gewünscht sind, würde der Text im obigen Beispiel normalerweise einen Zwischenzustand der Daten darstellen, bevor er in ein übertragen würde Datenbankverwaltungssystem.

Siehe auch

  • /etc/passwd, eine häufig verwendete flache Datei, die verwendet wird, um Benutzer in UNIX zu beschreiben
  • CSV (Standard-Komma-getrennte Werte)
  • Berkeley DB (Typische Datenbank für flache Datei)
  • Awk (klassischer Prozessor für flache Datei)
  • Wiederholungen (Klartext -Datenbankdateiformat)

Verweise

  1. ^ Datenintegration Glossar Archiviert 20. März 2009 bei der Wayback -Maschine, US -Verkehrsministerium, August 2001.
  2. ^ Fowler, Glenn (1994), "CQL: Flat-File-Datenbank-Abfragesprache", WTEC'94: Proceedings of the Usenix Winter 1994 Technischer Konferenz über Usenix Winter 1994 Technische Konferenz
  3. ^ Blodgett, John H.;Schultz, Claire K. (1969). "Herman Hollerith: Datenverarbeitung Pionier". Amerikanische Dokumentation. 20 (3): 221–226. doi:10.1002/ASI.4630200307. ISSN 1936-6108.