Datenbankdesign für CSV-Datei

TheVinc

Mitglied
Hallo,

habe folgendes Problem:

ich habe eine CSV-Datei mit ca 200 Spalten. Die Spaltennamen sind meistens identisch, aber es können auch weitere Spalten hinzugefügt werden.
ca 25% der Spalten haben Daten, der Rest ist eigentlich leer oder NULL.
jeder Datensatz in der CSV-Datei muss mit einem Status, Bearbeitungsdatum etc versehen werden können.
Im Monat werden so ca 20-50Tausend Datensätze verarbeitet.


Jetzt könnte ich natürlich einfach eine Datenbanktabelle für den Status etc. und eine für die Datensätze erstellen, die einfach 200 Spalten hat und immer, wenn eine neue Spalte in der CSV-Datei auftaucht, die Tabelle um diese erweitern. Das widerspricht doch aber jeglichem vernünftigen Datenbankdesign oder?
ich könnte auch eine Datenbanktabelle erstellen die alle Spaltennamen als Datensatz gespeichert hat und dann in einer anderen Tabelle auf diese verweisen.
allerdings müsste ich dann für jeden Datensatz ca 200 (bzw. nur die gefüllten Daten) einzeln per insert in die Datenbank importieren. bei 20-50Tausend Datensätzen wären das seeeeeeeeeeeeeeehr viele Werte in der Datenbanktabelle.


wie kann ich das jetzt am besten realisieren?

vielen Dank schonmal!
 
Zuletzt bearbeitet:
Soll jetzt für jede CSV Datei eine neue Tabelle erstellt werden oder sollen die Datensätze nur angehängt werden an eine einzige Tabelle?
 
alle kommenden CSV-Dateien sollen in die gleiche Tabelle.
oder je nachdem...vielleicht gibt es ja bessere möglichkeiten.
es muss halt gut auf die gesamten Datensätze zugegriffen werden können.
 
Zuletzt bearbeitet:
Vielleicht geht es den meisten wie mir. Ich verstehe dein Problem nicht so ganz.

Hallo,

habe folgendes Problem:

ich habe eine CSV-Datei mit ca 200 Spalten. Die Spaltennamen sind meistens identisch, aber es können auch weitere Spalten hinzugefügt werden.
Und das soll bis ins Unendliche gehen?

ca 25% der Spalten haben Daten, der Rest ist eigentlich leer oder NULL.
Und was soll mit leeren Spalten passieren?

jeder Datensatz in der CSV-Datei muss mit einem Status, Bearbeitungsdatum etc versehen werden können.
In welchen Fällen soll ein Status gesetzt werden, wie soll der Status aussehen?
 
ich schätze, dass insgesamt so 10 spalten hinzukommen können. passiert nicht oft. aber es kann sein.

leere felder müssen eigentlich schon vorhanden sein. vielleicht gibt es aber ein Datenbankdesign in dem man diese nicht unbedingt einfügen muss.

jeder Datensatz aus der CSV-Datei muss ein Status (bearbeitet, dublette, gelöscht etc) haben und dazu noch importdatum usw.


vielen Dank schonmal
 
Wenn Du wirklich ein sehr flexibles Modell brauchst, dann schau mal ob Dir EAV (nein, nicht die Band aus Österreich, Entity-Attribute-Value) weiter hilft. Prinzipiell ist es das was Du suchst, die Frage ist ob man mit den damit verbundenen Nachteilen leben kann.
 
hm...hat jemand eine url, auf der die Vor und Nachteile aufgeführt sind?
bin schon am googlen aber finde noch nichts richtiges.

oder buchtipps oder so?


vielen Dank schonmal
 
Zurück