Hallo!
erstes Posting
Ich habe insgesamt drei Tabellen:
- Studenten
- Lehrveranstaltungen
- Belegung
In der Tabelle Studenten sind Datensätze von Studenten vorhanden und natürlich ein primary key. In der Tabelle Lehrveranstaltungen sind Datensätze von Lehrveranstaltungen enthalten und ebenfalls ein primary Key.
Ein Student kann mehrere Lehrveranstaltungen belegen und eine Lehrveranstaltung kann natürlich von mehreren Stundenten besucht werden.
Diese n - n Beziehung habe ich mit Hilfe einer Verknüpfungstabelle "Belegung" dargestellt:
In dieser Tabelle befindet sich ein primary Key, ein Fremdschlüssel (primary Key von "Studenten") und ein weiterer Fremdschlüssel (primary Key von "Lehrveranstaltungen")
Soweit zur "Vorgeschichte"
Ich greife auf die Datenbank über eine selbst entwickelte Applikation zu. (Programmiersprache Java)
Wenn ich eine neue Belegung hinzufügen möchte, habe ich einen Studenten und eine Lehrveranstaltung. (Objekte in Java)
Meine Methode bekommt diese Objekte übergeben. Allerdings haben die Studenten- und Lehrveranstaltungsobjekte jeweils nicht den primary Key mit dabei.
Bevor ich nun also einen "Belegungs-Datensatz" hinzufügen kann, muss ich zuerst aus der Tabelle "Studenten" den passenden primary Key das Studenten-Objekt herauslesen, danach den passenden primary Key für das Lehrveranstaltungsobjekt. Erst wenn ich beide primary keys ermittelt habe, kann ich die neue Verknüpfung in die Tabelle "Belegung" hinzufügen.
Das ist natürlich sehr aufwendig.
Nun meine Frage: Gibt es eine Möglichkeit (vielleicht mit Joins) mit einem Datenbankbefehl eine Verknüpfung zu erstellen ohne vorher die primary keys seperat ermitteln zu müssen?
Das gleiche bräuchte ich dann natürlich auch für das Löchen einer Verknüpfung.
Ich habe es jetzt als Provisorium mit diesen drei SQL-Abfragen gelöst, aber sehr elegant scheint mir das nicht!
Für Hilfe bin ich wie immer dankbar
Grüße,
Flasher
erstes Posting
Ich habe insgesamt drei Tabellen:
- Studenten
- Lehrveranstaltungen
- Belegung
In der Tabelle Studenten sind Datensätze von Studenten vorhanden und natürlich ein primary key. In der Tabelle Lehrveranstaltungen sind Datensätze von Lehrveranstaltungen enthalten und ebenfalls ein primary Key.
Ein Student kann mehrere Lehrveranstaltungen belegen und eine Lehrveranstaltung kann natürlich von mehreren Stundenten besucht werden.
Diese n - n Beziehung habe ich mit Hilfe einer Verknüpfungstabelle "Belegung" dargestellt:
In dieser Tabelle befindet sich ein primary Key, ein Fremdschlüssel (primary Key von "Studenten") und ein weiterer Fremdschlüssel (primary Key von "Lehrveranstaltungen")
Soweit zur "Vorgeschichte"
Ich greife auf die Datenbank über eine selbst entwickelte Applikation zu. (Programmiersprache Java)
Wenn ich eine neue Belegung hinzufügen möchte, habe ich einen Studenten und eine Lehrveranstaltung. (Objekte in Java)
Meine Methode bekommt diese Objekte übergeben. Allerdings haben die Studenten- und Lehrveranstaltungsobjekte jeweils nicht den primary Key mit dabei.
Bevor ich nun also einen "Belegungs-Datensatz" hinzufügen kann, muss ich zuerst aus der Tabelle "Studenten" den passenden primary Key das Studenten-Objekt herauslesen, danach den passenden primary Key für das Lehrveranstaltungsobjekt. Erst wenn ich beide primary keys ermittelt habe, kann ich die neue Verknüpfung in die Tabelle "Belegung" hinzufügen.
Das ist natürlich sehr aufwendig.
Nun meine Frage: Gibt es eine Möglichkeit (vielleicht mit Joins) mit einem Datenbankbefehl eine Verknüpfung zu erstellen ohne vorher die primary keys seperat ermitteln zu müssen?
Das gleiche bräuchte ich dann natürlich auch für das Löchen einer Verknüpfung.
Ich habe es jetzt als Provisorium mit diesen drei SQL-Abfragen gelöst, aber sehr elegant scheint mir das nicht!
Für Hilfe bin ich wie immer dankbar
Grüße,
Flasher
Comment