![]() |
Datenbank: Dataset XML • Version: . • Zugriff über: Ado.net
n:m Relation setzen
Ich möchte gern über ein Dataset (nur darüber, da es eine XML DB wird) eine Relation n:m erstellen. Ziel ist es Tabelle Kunde, Artikel usw. mit der Tabelle "Zusätzliche Infos" zu verknüpfen, wo auch mehrere Einträge zu einen Kunden/Artikel sein können.
Wie setze ich eine solche Relation über das Dataset oder brauche ich da eine zwischen-tabelle. Hatte schon gedacht, das ich bei der Infotabelle nicht nur die Artikelnummer sondern auch die Bezeichnung mit hineinpacke. Doch dies ist keine gute Idee, da es ja einen Kunden namens Hamburger geben kann und einen Artikel die zufällig die gleiche ID erhalten. wie kann ich das am besten Regeln? |
Re: n:m Relation setzen
Hi Taladan,
eine N:M Beziehung mußt Du in zwei 1:N Beziehungen auflösen. Ergo: Du brauchst eine Zwischentabelle in der die Foreign-Key auf die beiden Haupttabllen (und ggf. zusätzliche Infos) gespeichert werden. Das Problem mit den doppelten Schlüsselwerten läßt sich lösen, indem Du z.B. ein Datumsfeld mit in den Schlüssel aufnimmst. Kunde KundenNr Name Artikel ArtikelNr Bezeichnung Preis KundenBestellung NrKunde ---> verweist auf KundenNr NrArtikel ---> verweist auf ArtikelNr BestellDatum Menge primary key (NrKunde, NrArtikel, Bestelldatum) usw. Frohes Schaffen Niels |
Re: n:m Relation setzen
Ich glaub das ist nicht das was ich suche. Die Zieltabelle (Infos) ist immer die selbe, hat jedoch mehere einträge, die mit den infos. Die Quelltabelle jedoch ähndert sich immer wieder (Person, Talent usw.). Ideal wäre ein zusammengesetzter Primärkey (falls man das so nennt) also das das Dataset nur die aus der Infotabelle raussucht, die als werte Tabelle=Person und ID=Zahl hat. Doch eine solche Bedingung kann ich scheinbar nicht schreiben zu können.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz