mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 16:07 Benutzername: Passwort: Auto-Login

Thema: XML Schema zu mySQL vom 07.05.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> XML Schema zu mySQL
Autor Nachricht
Benutzer 1103
Account gelöscht Threadersteller


Ort: -

Verfasst Do 07.05.2009 10:02
Titel

XML Schema zu mySQL

Antworten mit Zitat Zum Seitenanfang

Moin,

ich suche nach einer guten Möglichkeit, die Struktur
eines XML-Schemas (.xsd), in eine relationale Datenbank
zu wandeln, in meinem Fall mySQL. Vom Prinzip her ist es
mir klar, allerdings weiß ich nicht ob ich den Idealen Weg gehe.

Das Schema, bzw. die XML-Dateien sehen vom Prinzip her wie folgt aus:

Code:

- <bier>
----- <marke></marke>

----- <eigenschaften>

--------- <geschmack></geschmack>

--------- <knalleffekt></knalleffekt>

--------- <sonstiges alkoholfrei="false" starkbier="true" />

----- </eigenschaften>

- </bier>


lediglich ein Besispiel vom Aufbau *zwinker*

Wie lege ich diese Relationen richtig ab, vorallem in Bezug auf die Attribute?
Z.B., sollte man für jeden Tag der Attribute hat eine extra Tabelle anlegen?

Für Denkanstöße wäre ich dankbar.

Grüße
 
DerM

Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Do 07.05.2009 10:21
Titel

Antworten mit Zitat Zum Seitenanfang

erster Gedanke

Tabelle Bier
- id
- marke
- eigenschaften (foreign Key auf Eigenschaften[id], Komma getrennt - für ein Array)

Tabelle Eigenschaften
- id
- geschmack
- effekt
- sonstiges
  View user's profile Private Nachricht senden
Anzeige
Anzeige
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Do 07.05.2009 13:55
Titel

Antworten mit Zitat Zum Seitenanfang

In der Annahme, dass für ein Bier jede Eigenschaft einzigartig ist (also z.B. nicht zweimal Geschmack auftreten wird):
Code:
+----+-------+-----------+-------------+-------------+-----------+
| id | marke | geschmack | knalleffekt | alkoholfrei | starkbier |
+----+-------+-----------+-------------+-------------+-----------+


Vollkommen ausreichend. Sollten doch mal doppelte Eigenschaften verwendet werden, dann solltest du den Weg über eine zweite Tabelle für die Eigenschaften gehen. Das musst du natürlich vorher überlegen.


Zuletzt bearbeitet von therapiekind am Do 07.05.2009 13:56, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Benutzer 1103
Account gelöscht Threadersteller


Ort: -

Verfasst Do 07.05.2009 17:01
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für die Antworten!

Das Problem ist, dass Elementnamen in der tieferen Struktur nochmals auftreten können, sprich diese wären dann doppelt. Somit käme der simple Weg, alles in eine Tabelle zu packen, nicht in Frage. Ausserdem sind es bei mir sehr viele Attribute, bei allem in einer Tabelle wären es dann wohl 200 Felder oder so.

Ich werde es nun so machen, dass ich die Baumstruktur grob in Tabellen splitte, mit den Namen der Hauptknoten.
Für die ganzen Attribute, die NICHT doppelt vorkommen, habe ich mir überlegt einfach alle attribute in eine Extra-Tabelle zu packen, mit den Attribut-Namen als Spalten-Namen. Dies hat den Vorteil, dass ich das Skript zum auslesen vollkommen automatisieren kann.
 
Kash

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 07.05.2009 17:29
Titel

Antworten mit Zitat Zum Seitenanfang

zuordnungstabelle?

dort tauchen nur die ids der anderen tabellen auf.
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 07.05.2009 18:35
Titel

Antworten mit Zitat Zum Seitenanfang

Du, das schema haste jetzt aber nicht gezeigt, das wär ja wesentlich weil vollständig. Aus dem Auszug der Instanz kann man nur Vermutungen über die Struktur anstellen.

Da xml-Schemata selbst xml-Instanzen sind, sollte es ein Leichtes sein, sie in ddl umzuwandeln.
  View user's profile Private Nachricht senden
Benutzer 1103
Account gelöscht Threadersteller


Ort: -

Verfasst Do 07.05.2009 19:26
Titel

Antworten mit Zitat Zum Seitenanfang

Ich bin mir auch noch nicht ganz sicher ob ich den richtigen Weg gehe.
Da mir das xml-Schema vorliegt als .xsd, wäre es natürlich ideal wenn es ein tool gäbe, was mir das Schema direkt in mySQL exportiert und eine relationale Datenbankstruktur generiert.

Ich habe mich auch schon danach umgeschaut, aber bislang noch nichts gefunden was da passen würde.

Evtl. gibt es eine php-Klasse dafür? Don't know -.-

EDIT:: Es handelt sich dabei übrigens um das openimmo_121 Schema. Hätt ich auch gleich erwähnen können *zwinker*


Zuletzt bearbeitet von am Do 07.05.2009 19:28, insgesamt 2-mal bearbeitet
 
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Do 07.05.2009 19:38
Titel

Antworten mit Zitat Zum Seitenanfang

Bier ist aber 'ne komische Immobilie ... * Mal bisschen die Nase pudern... *
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Schema.org
Appl, die zu XML-Schema Formular generiert, und XML schreibt
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[php / mysql] Mysql Daten in php als Link ausgeben
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.