Flat File
Eine flache Datei – der englische Begriff Flat File ist geläufiger – ist eine Sammlung von Daten, die in einer zweidimensionalen Datenbank gespeichert wird, in der ähnliche, aber diskrete Informationsstränge als Datensätze in einer Tabelle gespeichert werden. Die Spalten der Tabelle stellen eine Dimension der Datenbank dar, während jede Zeile ein separater Datensatz ist.
Die in einer Flat File gespeicherten Informationen sind in der Regel alphanumerisch mit wenig oder keiner zusätzlichen Formatierung. Die Struktur einer Flat File basiert auf einem einheitlichen Format, das durch den Typ und die Zeichenlänge der Spalten definiert ist.
Eines der bekanntesten Beispiele für ein Flat File ist eine CSV-Datei (comma-separated values, zu deutsch: durch Komma getrennte Werte). In einer CSV-Datei werden Tabellendaten in Zeilen mit ASCII-Text (American Standard Code for Information Interchange) gesammelt, wobei der Wert jeder Tabellenzelle durch ein Komma getrennt und jede Zeile durch eine neue Zeile dargestellt wird. Spalten und Zeilen werden in der Regel durch Tabulatoren oder Kommas getrennt, wie in CSV-Dateien. Eine Flat-File-Datenbank besteht aus einer einzigen Tabelle.
Arten von Flat Files
Der Begriff „Flat File“ wird zwar meist zur Beschreibung einer Flat-File-Datenbank verwendet, er kann sich aber auch auf andere Dateitypen beziehen, die überhaupt nicht an Datenbanken erinnern.
In jedem Fall bezeichnen viele ein Microsoft Word-Dokument, das nur als Text gespeichert wurde, als Flat File. Die resultierende Datei enthält Datensätze - Textzeilen mit einer bestimmten einheitlichen Länge -, aber keine Formatierungsinformationen, zum Beispiel über die Größe und Position von Titeln oder Untertiteln oder Informationen, die ein Programm zur Erstellung eines Inhaltsverzeichnisses für die Textdatei verwenden könnte.
Im weitesten Sinne kann sich der Begriff Flat File auf jede strukturlose Textdatei beziehen, die außer der Verwendung des ASCII-Zeichensatzes nur minimale oder gar keine Formatierung aufweist.
Was sind die wichtigsten Merkmale einer Flat-File-Datenbank?
Eine Flat-File-Datenbank ist ein einfaches zweidimensionales Repository mit ähnlichen Daten. Die Daten sind in Zeilen - oder Datensätzen - über Spalten oder Felder angeordnet. Jede Zeile enthält dieselbe Art von Informationen wie die anderen Zeilen in der Flat-File; diese Informationen werden durch die Spalten definiert, die die Art der Daten beschreiben und die Anzahl der Zeichen begrenzen, die zur Darstellung der Feldinformationen zulässig sind.
Wie bereits erwähnt, werden die Spalten durch ein einzelnes ASCII-Steuerzeichen wie einen Tabulator (Tastaturfolge ist Alt + 09) oder ein Komma (Alt + 44) getrennt. Jede Zeile wird durch einen Wagenrücklauf (Alt + 13) abgegrenzt.
Eine Flat-File-Datenbank hat keine vorgegebene Grenze für die Anzahl der Zeilen, die sie enthalten kann. Die Größe einer Flat-File-Datenbank kann durch das Betriebssystem (OS) oder das Dateiverwaltungssystem des Host-Computers begrenzt sein. Wenn eine Datenbankanwendung zur Erstellung der Flat-File-Datenbank verwendet wird, kann diese Anwendung die Anzahl der Zeilen, die Spaltenlängen und die Gesamtgröße der Datei begrenzen.
Es gibt zwei grundlegende Werkzeuge zur Bearbeitung der Informationen in einer Flat-File-Datenbank: Spaltensortierung und Suche. Einige Anwendungen, wie Tabellenkalkulationen, die die Erstellung von Flat-File-Datenbanken ermöglichen, können zusätzliche, anspruchsvollere Datenmanipulationswerkzeuge bereitstellen. Die Sortierung ermöglicht es dem Benutzer, die Daten in einer auf- oder absteigenden alphanumerischen Reihenfolge auf der Grundlage des Inhalts einer Spalte anzuordnen; die Suche findet bestimmte Text- oder Zahlenfolgen in der gesamten Flat-File-Datenbank.
Ein wichtiges zusätzliches Werkzeug ist die Möglichkeit, einen Index der Flat-File-Datenbank zu erstellen. Durch die Indizierung werden die Datensätze in der Datei auf der Grundlage des Inhalts einer Spalte vorsortiert, was die Suche nach bestimmten Daten erheblich beschleunigen kann.
Wofür wird eine Flat-File-Datenbank verwendet?
Obwohl sie nur relativ rudimentäre Möglichkeiten zur Speicherung, Bearbeitung und zum Zugriff auf Daten bieten, werden Flat-Files nach wie vor für eine Reihe von modernen Anwendungen verwendet. Flat-File-Datenbanken sind nach wie vor sehr nützlich als einfach zu erstellende und zu pflegende Datendateien für häufig verwendete Informationen wie Namens- und Adressdateien, Mitgliederlisten oder Klassenlisten. Tabellenkalkulationsprogramme wie Excel oder Google Sheets können zur Erstellung und Bearbeitung von Flat-File-Datenbanken verwendet werden.
Aber auch im Internet der Dinge (IoT) und in Data-Warehouse-/Data-Lake-Umgebungen werden Flat-Files häufig eingesetzt. Für diese Anwendungen ist die Einfachheit von Flat-File-Datenbanken vorteilhaft, da sie einen geringen Overhead haben und leicht zugänglich sind, um umfangreiche Informationen zu speichern, die in ihrem ursprünglichen Zustand erhalten werden müssen.
Eine weitere Anwendung für Flat-File-Datenbanken ist die Verwaltung von objektorientierten Speichersystemen. Objektspeicher werden häufig von Cloud-Speicherdiensten verwendet, da sie große Datenmengen aufnehmen können. Die auf Objektsystemen gespeicherten Daten werden von einer nicht-hierarchischen Flat-File-Datenbank verwaltet, die grundlegende Informationen über die Daten sichert, beispielsweise die Dateinamen und den Speicherort auf den Medien.
Flat-File-Datenbank vs. relationale Datenbank
Eine Flat-File-Datenbank wird manchmal auch als relationale Datenbank bezeichnet, aber die beiden Arten von Datenbanken unterscheiden sich sowohl in ihrer Form als auch in ihrer Funktion erheblich.
Eine flache Datei besteht aus einer einzigen Datentabelle. Sie ermöglicht es dem Benutzer, Datenattribute wie Spalten und Datentypen tabellenweise zu spezifizieren, und speichert diese Attribute getrennt von Anwendungen. Dieser Dateityp wird häufig für den Import von Daten in Data-Warehousing-Projekten verwendet.
In relationalen Datenbanken wird Flat File manchmal als Synonym für eine „Relation“ verwendet. Eine relationale Datenbank enthält mehrere Datentabellen, die miteinander in Beziehung stehen, und ermöglicht es dem Benutzer, Informationen über mehrere Tabellen und die Beziehungen zwischen diesen Tabellen zu spezifizieren, was mehr Flexibilität und Kontrolle über die Datenbankbeschränkungen ermöglicht.
Eine relationale Datenbank kann beispielsweise eine Tabelle mit den Namen, Adressen und Telefonnummern der Schüler und eine zweite Tabelle mit den Namen der Schüler, ihrem aktuellen Schuljahr und ihren Studienfächern enthalten. In einer relationalen Datenbank können die beiden separaten Tabellen über ihr gemeinsames Feld, den Schülernamen, miteinander verknüpft werden.
Durch diesen Prozess werden die beiden Tabellen im Wesentlichen miteinander verbunden, so dass relevante Informationen, wie die Namen der Studenten, ihre Studienfächer und ihre Telefonnummern, gleichzeitig aus den beiden verschiedenen Tabellen abgerufen werden können.
Um den gleichen Effekt mit einer Flat-File-Datenbank zu erzielen, müssten alle Informationen in einer einzigen Datei enthalten sein oder separate Flat-File-Datenbanken müssten einige redundante Informationen enthalten.
Daher sind relationale Datenbanken anspruchsvoller und können Dutzende (oder mehr) von separaten Tabellen umfassen. Eine relationale Datenbankanwendung muss wissen, wie die Daten in mehreren Dateien organisiert sind. Außerdem müssen spezielle Werkzeuge wie die strukturierte Abfragesprache (Structured Query Language, SQL) verwendet werden, um die verschiedenen Tabellen zu verknüpfen und Daten zu finden und zu extrahieren.