Prinzessin
I'm new here

Reflexive Foreign Keys in XML-Schema anlegen externe MySQL Datenbank

Hallo,

ich habe eine externe MySQL Datenbank angebunden und eine Tabelle, die Produkte enthält (Tabellenname: "produkte_1").

Zu dieser Tabelle gibt es eine Zuordnungstabelle "TrPdbProduktProduktZuordnung", die die Zuordnungen von einem Produkt zu weiteren Produkten enthält.

In der Tabelle TrPdbProduktProduktZuordnung ist das Feld FkPdbProdukt die Haupt-ID eines Produktes. Das Feld FkPdbRefProdukt ist die ID eines anderen Produktes, dass zu der Haupt-ID eine Beziehung hat.

Beispiel:

Produkt 1 hat Zuordnungen zu

- Produkt 2

- Produkt 4

Tabelleninhalt:

1 (Haupt-ID, Feld FkPdbProdukt) | 2 (Feld FkPdbRefProdukt)

1 (Haupt-ID, Feld FkPdbProdukt) | 4 (Feld FkPdbRefProdukt)

--> eigentlich ist das auch immer ein zusammengesetzter Foreign Key.

reflexive.jpg

Problem hier ist, dass ich über die externe Bearbeitung des XML-Schemas immer nur die erste Beziehung im Datenbankmodell gespeichert bekomme (also von produkte_1.produkt_sys_pk zu TrPdbProduktProduktZuordnung.FkPdbProdukt).

<xs:keyref dbName="fk_produkt_produkt" field="fk_produkt_list" name="fk_produkt_list" refer="produkte_1" tfield="produkte_1">

     <xs:selector xpath="TrPdbProduktProduktZuordnung"/>

     <xs:attribute xpath="fk_pdb_produkt"/>

</xs:keyref>

Nicht aber die zweite Beziehung von produkte_1.produkt_sys_pk zu TrPdbProduktProduktZuordnung.FkPdbRefProdukt:

<xs:keyref dbName="fk_produkt_refprodukt" field="fk_refprodukt_list" name="fk_refprodukt_list" refer="produkte_1" tfield="produkte_1">

     <xs:selector xpath="TrPdbProduktProduktZuordnung"/>

     <xs:attribute xpath="fk_pdb_refprodukt"/>

</xs:keyref>

Wie kann man das lösen?

0 Kudos
1 Reply
feddersen
Community Manager

Mir ist das Problem nicht ganz klar. Gibt es eine Fehlermeldung, wenn sie versuchen das Schema zu speichern oder wie äußert sich das Problem?

0 Kudos