Objekte eindeutig identifizieren (unique key bei view aus mehreren Tabellen?)
Hallo,
ich habe folgendes Problem:
5 Tabellen:
Person (mit: ID, Name)
Verein (mit: ID, Name)
Sportart (mit: ID, Name)
und die n:m Tabellen:
Person_Verein (mit: ID, Person_FK, Verein_FK)
Verein_Sportart (mit: ID, Verein_FK, Sportart_FK)
In den Fremdschlüsseln steht jeweils die ID aus Person, Verein und Sportart.
Nun programmiere ich gerade etwas, bei dem ich alle Kombinationen benutze. Diese werden in einem GUI-Element angezeit (TreeView in c# falls das hilft).
Dieses nimmt zwei Werte auf: Name und angezeigter Text (jeweils strings).
Nun möchte ich eine vom Benutzer ausgewählte Kombination identifizieren, habe aber keinen eindeutigen Schlüssel.
Mein Ideen:
1. Einen View der 3 Tabellen erzeugen und diesem einen eindeutigen Schlüssel verpassen. Primärschlüssel bei Views gibt es aber meines Wissens nach nicht...
2. Ich erstelle ein Array aus Instanzen der Klasse "Kombinationen". Diese Instanzen haben eindeutige Schlüssel. Problem: solch ein Array ist aufwändig zu durchsuchen und nicht sehr performant. Auch das Suchen von z.B. allen "Kombinationen" mit einer bestimmten Sportart wäre doch recht umständlich. Dafür gibt es ja die Datenbanken...
3. Ich speichere im Namen des Steuerelemente alle IDs (aus Person, Sportart und Verein) und würde diesen String nachher in die Bestandteile zerlegen. Geht, aber nicht sehr schön =)
Hat jemand eine bessere Idee? Besten Dank schon mal!
Gruß,
bill
Geändert von bill26 (03.06.2009 um 23:34:16 Uhr)
|