1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Aus zwei Relationen eine many to many Relation genieren?

Dieses Thema im Forum "SQLite" wurde erstellt von Hades85, 30 November 2017.

  1. Hades85

    Hades85 Benutzer

    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 ;-)
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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
    
     
    Hades85 gefällt das.
  3. Hades85

    Hades85 Benutzer

    Wusste nicht dass es ein Kreuzprodukt gibt. Ein Dank für die Horizonterweiterung :)
     
    akretschmer gefällt das.
  4. akretschmer

    akretschmer Datenbank-Guru

    Man lernt nie aus ;-)

    Viele machen einen CROSS JOIN eher aus Versehen - und wundern sich, warum der Server plötzlich eine Kernschmelze durchmacht ...
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden