Arrays in ein Datenbankfeld?

14/03/2008 - 17:33 von Andreas Mahub | Report spam
Hi Leute,

ich würde mal gerne eure Vorschlàge hören zum Thema "Mehrere Verweise auf
verschiedene Datensàtze einer anderen Tabelle in einem Datenbankfeld
speichern".

Folgende Beispiel-Situation:
Es gibt eine Datenbank-Tabelle da sind mehrere Datensàtze drin, nenen wir
sie mal "Wunschfarben". In denen steht natürlich nicht nur die jeweilige
Farbe sondern auch noch andere Informationen.

In einer anderen Tabelle, nennen wir sie mal "Bestellungen" sind die
einzelnen Bestellungen. Darunter ein Feld "Wunschfarben".

Ich würde jetzt zum Beispiel in das Feld "Wunschfarben" die einzelnen IDs
aus der Tabelle "Wunschfarben" reinsetzen also z.B. 21;15;109;58 - das wàren
also 4 mögliche Wunschfarben-IDs. In VB.NET würde ich das mit Split den
String zerlegen und dann die einzelnen Datensàtze aus der Tabelle
"Wunschfarben" einlesen.
Ich würde es aber auch nur deshalb machen weil ich keine andere Idee hàtte.

Jetzt meine Frage: Gibt es dafür elegantere Lösungen? Kann man z.B. Arrays
in ein Datenbankfeld ablegen?

Gruß
Andy
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
14/03/2008 - 17:42 | Warnen spam
Hallo Andreas,

"Andreas Mahub" schrieb:

ich würde mal gerne eure Vorschlàge hören zum Thema "Mehrere Verweise auf verschiedene Datensàtze einer anderen Tabelle in einem
Datenbankfeld speichern".



[Bestellungen]
ID -> PK
Name

[Wunschfarben]
ID -> PK
Name

[Bestellungen_Wunschfarben]
Bestellung_ID -> PK (und FK zu Bestellungen.ID)
Wunschfarbe_ID -> PK (und FK zu Wunschfarben.ID)

Es gibt eine Datenbank-Tabelle da sind mehrere Datensàtze drin, nenen wir sie mal "Wunschfarben". In denen steht natürlich nicht
nur die jeweilige Farbe sondern auch noch andere Informationen.

In einer anderen Tabelle, nennen wir sie mal "Bestellungen" sind die einzelnen Bestellungen. Darunter ein Feld "Wunschfarben".



Da würde ich eher wie oben gezeigt eine weitere Tabelle, bspw. mit dem
Namen "Bestellungen_Wunschfarben" aufbauen und dort die ID der Bestellung
und der Wunschfarbe eintragen.

Ich würde jetzt zum Beispiel in das Feld "Wunschfarben" die einzelnen IDs aus der Tabelle "Wunschfarben" reinsetzen also z.B.
21;15;109;58



Das geht zwar auch, datenbanktechnisch ist das aber nicht sinnvoll.
(Anwendungstechnisch kommts drauf an, was Du hinterher mit den
Werten machen willst)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen