it-swarm.com.de

Was ist das beste Trennzeichen/Trennzeichen für eine Klartext-DB-Datei?

Was ist das beste Trennzeichen/Trennzeichen für eine Klartext-DB-Datei?

Ich überlegte, |, ,, <TAB>, ; usw. zu verwenden. Sie scheinen jedoch alle zu brechen, wenn die nahegelegenen Einträge ausreichend spezielle Zeichen haben. 

Welche erfahrenen Datenbankbenutzer schlagen Sie vor, welche Trennzeichen Sie verwenden möchten?

21
Meng Lu

Unabhängig von dem Zeichen, das Sie als Trennzeichen auswählen, müssen Sie jede Instanz dieses Zeichens in Ihren Daten schützen.

Vielleicht Tilde (~) oder gehen Sie zu einem ASCII-Zeichen.

Wenn die Möglichkeit besteht, dass sich Ihre Daten in Ihre Daten einschleichen, sollten Sie sie vor dem Schreiben in Ihre Klartextdatei schützen.

20
p.campbell

Ich denke, der beste Weg, um einen String mit drei Kirschen '@@@' zu verbinden.

20
Emis

Nun, es gibt wenige Trennzeichen Zeichen in US-ASCII, hex1c, 1d, 1e und 1f. Der Klartext sollte sie nicht enthalten.

1c  FS  ␜  ^\  File Separator
1d  GS  ␝  ^]  Group Separator
1e  RS  ␞  ^^  Record Separator
1f  US  ␟  ^_  Unit Separator
13
Michas

Für eine bestimmte Data Warehousing-Situation, in der wir die Kontrolle über die Quelldatei hatten, aber das Fluchen und Qualifizieren war lästig, konnten wir die Geschäftsentscheidung treffen, dass ein erweitertes Zeichen ASCII aus den Daten entfernt würde (falls dies jemals der Fall ist) was es nicht hat). 

Bei der Erstellung der begrenzten Quelldatei haben wir alle Instanzen von █ (alt + 219) in den Daten entfernt und dieses Zeichen für das Trennzeichen verwendet. Bonus, dieser Charakter ist wirklich leicht zu erkennen.

8
japage

Sie können die speziellen Trennzeichen (Hex 1c -> 1f) verwenden, sie sind jedoch nicht druckbar. Bei einigen Technologien gibt es Probleme bei der Verarbeitung von Daten, die diese enthalten.

Planen Sie also B: Wenn Ihre Daten in UTF-8 sind, können Sie ein zufälliges UTF-8-Zeichen auswählen, das extrem ist und in den empfangenen Quelldaten unwahrscheinlich erscheint. 

Selbst wenn Sie sicher sein wollen, dass Sie keine Probleme haben, sollten Sie immer das gesamte Dataset nach diesem Zeichen durchsuchen. Wenn es angezeigt wird, wählen Sie einfach ein anderes UTF-8-Zeichen aus.

Ich neige dazu, die Einkapselung mit einer Leidenschaft zu hassen und zu vermeiden, wann immer dies möglich ist, wie in meinem Beitrag unter dem Kapitel "Einkapselung" hier erläutert: https://theonemanitdepartment.wordpress.com/2014/12/15/the-absolute- Minimum-Jeder-Arbeiten-mit-Daten-absolut-unbedingt-muss-wissen-wissen-über-Dateitypen-Codierung-Trennzeichen-und-Datentypen-keine Ausreden/

2
Wouter

Persönlich mag ich «als Trennzeichen, um Daten in CSV-Dateien aufzuteilen. Ich glaube nicht, dass ich jemals ein natürlich vorkommendes Exemplar von» und «persönlich gefunden habe. Hier sind meine zwei Cents.

Wenn Sie die Möglichkeit haben, einen String als Spaltentrennzeichen zu verwenden, verwenden Sie "" als Trennzeichen. Sie können eine beliebige Zeichenfolge für diese Angelegenheit erstellen und gibt Ihnen Flexibilität.

1
svargh

Normalerweise ziehe ich nicht druckbare Zeichen wie "\ u0001" vor. In den meisten meiner Azure Data Analytics U-SQL-Skripts verwende ich dies beispielsweise als Spaltenbegrenzer. Dies setzt voraus, dass Sie ein benutzerdefiniertes Trennzeichen mit mehreren Zeichen verwenden können

0
Saul Cruz

Ich habe bereits einen ePUB-Konverter verwendet und das Trennzeichen char war das Notationszeichen. Wo immer es verwendet wurde, wurde es in @ als Datei geschrieben, einfach aber effektiv, selbst wenn es das produzierte Probenmaterial zerstörte.

0
EasY_COding

Wenn Sie die eingegebenen Daten nicht steuern können, verwenden Sie keine Klartext-Datenbank. Hier kann es keine generell richtige Antwort geben. Ohne Kontext oder Einschränkungen ist dies eine falsche Frage.

Das heißt: Wenn ich sagte, ich würde nur Kleinbuchstaben als Daten akzeptieren, könnte ich jedes andere Symbol als Trennzeichen verwenden. Sogar die Zahl 9, und es würde mir gut gehen. Kein Symbol außer einem Kleinbuchstaben wäre besser als jedes andere. 

Wenn umgekehrt, ich könnte ein beliebiges Zeichen akzeptieren, habe ich keine Zeichen mehr für ein Trennzeichen, und ich würde eine sehr traurige Datenbank haben, die nur einen einzigen Wert speichern kann.

Wenn Sie sich zu sehr bemühen müssen, um Ihre Datenbank in Klartext umzuwandeln, möchten Sie wahrscheinlich eine binäre Datenbank. Hast du dir sqlite angesehen? Es ist ziemlich einfach zu bedienen, ist in vielen Zusammenhängen verfügbar und bietet eine Menge Vorteile gegenüber einer einfachen Text-Datenbank.

0
Chris Subagio