Aus zwei Relationen eine many to many Relation genieren?

Hades85

Benutzer
Beiträge
8
Hallo zusammen,

folgendes Konstrukt:

Tabelle 1 Kurse
ID Name
0...x
1....y
2...z

Tabelle 2 Studenten
ID Name
0.....a
1......b
2......c
3......d
4......e

Die aus beiden erzeugte View oder ähnliches als many to many
ID......Kurs_ID(FK)......Studenten_ID(FK)
0........0...........................0
1........0...........................1
2........0...........................2
3........0...........................3
4........0...........................4
5........1...........................0
6........1...........................1
7........1...........................2


Sobald ich einen neuen Studenten anlege per INSERT will ich dass der automatisch mit allen Kurse die vorhanden sind(Aus der Tabelle Kurse) in der View angelegt wird.

Kann ich das überhaupt mit einer View oder muss ich das Triggern? Bisher habe ich das im Code, also in meiner Anwendung gemacht, möchte das aber auslagern.

P.S. Generieren ;-)
 
Werbung:
Ja, via VIEW und CROSS JOIN.

Code:
test=# create table kurse (id int primary key, name text);
CREATE TABLE
test=# create table studenten(id int primary key, name text);
CREATE TABLE
test=# create view ks as select k.name as kurs, s.name as student from kurse k cross join studenten s;
CREATE VIEW
 
Werbung:
Man lernt nie aus ;-)

Viele machen einen CROSS JOIN eher aus Versehen - und wundern sich, warum der Server plötzlich eine Kernschmelze durchmacht ...
 
Zurück
Oben