Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03181.jsonl.gz/3537

Ein allgemeiner Standard für das Dateiformat CSV existiert nicht.
Eine RFC-Spezifikation des Dateiformates CSV existiert und wird in der Regel referenziert: RFC 4180.
Beschreibung
CSV-Daten sind tabellarisch strukturierte ASCII-Dateien. Die einzelnen Werte, Felder oder Spalten werden durch ein spezielles Trennzeichen, beispielsweise das Komma oder Semikolon, getrennt, Tabellenzeilen durch das Zeilenumbruchzeichen. Bei der Überführung einer relationalen Datenbank in CSV-Dateien wird jede einzelne Datenbanktabelle in eine CSV-Datei kopiert.
In der Maskierung von Trennzeichen und Zeilenumbruch in den Feldern unterscheiden sich die verschiedenen Varianten und Quasi-Standards des CSV-Dateiformats.
Zwei CSV-Varianten sind im Datenbank-Bereich von besonderem Interesse:
Das Microsoft-Excel-CSV-Format zeichnet sich durch das Umschliessen der Felder mit Anführungszeichen und eine unterschiedliche Anzahl Felder pro Zeile aus. In der ersten Zeile können die Spaltennamen untergebracht sein. Das Excel-CSV-Format kann von vielen Datenbanken eingelesen werden.
Das SQL-Loader File von ORACLE fügt vor der CSV-Datei einen Header ein, in dem Feldbezeichnung, Feldformat, Zeichensatz etc. geregelt werden. Viele Datenbanken können SQL-Loader Files importieren oder generieren.
Bewertung
Offenheit 4
Ein allgemeiner Standard für das Dateiformat CSV existiert nicht. Die in RFC 4180 weitgehend festgehaltene Spezifikation ist jedoch äusserst einfach.
Lizenzfreiheit 3
Es bestehen keine lizenzrechtliche Einschränkungen, wahrscheinlich auch nicht für Excel CSV-Format oder SQL-Loader File.
Verbreitung 4
CSV ist das am weitesten verbreitete Format für den Austausch von strukturierten Daten, d.i. zwischen Datenbanken und Tabellenkalkulationsprogrammen.
Funktionalität 1
CSV-Dateien sind so genannte flat files, das heisst, nur die Informationen einer Tabelle können in einer Datei gespeichert werden. Die meisten Datenbanken verwenden aber hierarchische oder relationale Beziehungen, um Informationen zu speichern. Um diese Beziehungsinformation ebenfalls in einem flat file abzubilden, müssen Informationen wiederholt werden, es kommt zu Datenredundanz. Zudem lassen sich nur die eigentlichen Daten in CSV-Dateien speichern. Weder Feldformate noch Datenstruktur oder Formeln können übernommen werden.
Implementierung 4
Praktisch jedes Datenbank- und Tabellenkalkulationsprogramm kann CSV-Dateien erzeugen oder lesen.
Speicherdichte 3
Es findet keine Datenkomprimierung statt, die Feldinhalte werden eins zu eins abgebildet. Werden Beziehungen zwischen Tabellen abgebildet, kommt es zwangsläufig zu Datenredundanz (siehe oben zur Funktionalität).
Verifizierbarkeit 2
Über die Dateinamensendung hinaus ist keine Erkennung oder Validierung möglich. Die fehlende Standardisierung macht es notwendig, die Maskierung von Trennzeichen und Zeilenumbruch in den Feldern, die Verwendung von Anführungszeichen und das Problem der unterschiedlichen Anzahl Felder pro Zeile genau zu dokumentieren. Zeichencodierung und Repräsentation der verwendeten Datentypen müssen ebenfalls festgehalten werden.
Best Practice 2
CSV-Dateien sind in Archiven aus historischen Gründen relativ verbreitet.
Perspektive 1
CSV wird in vielen Fällen durch XML-basierte Tabellenformate abgelöst werden, da hier die Probleme mit Maskierung von Steuerzeichen, Zeichensatz und Datentypen gelöst sind.
Formatklasse A
CSV ist eines der ältesten Formate der Informatik.
Fazit
Grosse Datenbestände sind bereits in diesem Format archiviert worden, deshalb wird das CSV-Format für Tabellen seine Bedeutung behalten. Da jedoch keine Beziehungen, Metadaten und Strukturinformationen in diesem Format festgehalten werden können, werden nur gut dokumentierte Datenbestände in CSV-Format ihren Wert behalten. Eine Ablösung durch XML (SIARD, SQLX, OOXML oder ODF) wird sich auch im archivischen Bereich ergeben, da XML nicht zuletzt aus dem Bedürfnis entstanden ist, ein strukturiertes Datenaustauschformat zu schaffen und rein textbasierte Lösungen zu ersetzen.