# Mehrfacheinträge in MySQL Datenbank



## MiMa (1. Nov 2012)

Hi,

ich lese Daten aus einer XML Datei und möchte diese Informationen in einer MySQL Datenbank speichern.

Jedoch gibt es die Möglichkeit, dass in einem XML Dokument Mehrfacheinträge vorkommen, oder mal nicht.

Zum Beispiel:
Schlagwort: Informatik, Java, Algorithmus

Wie speichere ich das in einer MySQL Datenbank ab?
Werden die zusammen mit Komma getrennt in einem Feld gespeichert?

Danke

Mi


----------



## stone71 (1. Nov 2012)

Hi,

ich würde eine eigene Tabelle aus diesen Einträgen machen und die Begriffe splitten.
In diesem Moment würden nur Einträge entstehen, wenn Daten vorhanden sind.

Wenn du noch weitere Fragen hast, dann melde Dich.

Gruß


----------



## MiMa (1. Nov 2012)

Das bedeutet, das in der Tabelle "Buch" das Feld Schlagwort auf eine Tabelle verweist, in der dann mehrere Einträge möglich sind ?

Mi


----------



## stone71 (1. Nov 2012)

Stimmt, so würde ich dies machen. Buch hat ja hoffentlich einen Key,
dieser steht dann in einer Tabelle Schlagwort und dort mit den einzelnen
Worten.
Wenn Du mir irgendwie ein XML zeigst, dann würde ich dir bei dem Schema auch helfen...


----------



## MiMa (1. Nov 2012)

Vor ca. 9 Monaten habe ich mal 14 Tage MySQL gwmacht und mit MySQL Workbench ein Schema erstellt und das sind einiges an Tabellen.

So richtig Sicher bin ich mir noch nicht, wo alles doppelte Einträge entstehen können, denn die XML Daten sind von Buch zu Buch unterschiedlich.

Das Fängt schon mal bei Autor an. Er besteht aus einem Vor -und Nachnamen, machmal kommt noch eine Zusatz wie "Mark von Rimscha"

Auszug aus der XML Bereich Autor:

[XML]
<slim:datafield tag="245" ind1="1" ind2="0">
    <slim:subfield code="a">Algorithmen kompakt und verständlich</slim:subfield>
    <slim:subfield code="b">Lösungsstrategien am Computer</slim:subfield>
    <slim:subfield code="c">Markus von Rimscha</slim:subfield>
</slim:datafield>
[/XML]

Wenn ich den Namen habe, dann muss ich das ganze noch mit Stringoptionen auseinander Nehmen und aufteilen.

Auszug der XML Bereich ISBD:
[XML]
<slim:datafield tag="490" ind1="0" ind2=" ">
    <slim:subfield code="a">Studium</slim:subfield>
</slim:datafield>
<slim:datafield tag="490" ind1="0" ind2=" ">
   <slim:subfield code="a">Online plus</slim:subfield>
</slim:datafield>
[/XML]

Hier gibt es zwei Einträge.

Der Gedanke kam mir als ich das in meinem SAX Parser in Java umsetzen wollte.

Mi


----------



## stone71 (1. Nov 2012)

Dies habe ich jetzt noch nicht verstanden!
Wollen wir zum Wochenende noch einmal schreiben.
Kannst mir auch eine Nachricht senden...


----------

