online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon Xeno vom 13.10.2022, 20:14 Options

"Best Practice" bei n:m-Beziehung

Hallo,

ich versuche mich gerade an meiner ersten Web-Anwendung mit PHP und MySQL und würde gerne wissen, wie man bei der Datenabfrage "am Besten" vorgeht. Dazu ein (vereinfachtes) Beispiel:

Ich habe in der Datenbank drei Tabellen, die eine n:m-Beziehung abbilden:
Tabelle A: Vorlesungen (ID, Bezeichung, Uhrzeit, Raum, etc.)
Tabelle B: Studenten (ID, Name, Vorname, etc.)
Tabelle C (Beziehungstabelle): Belegung (VorlesungsID, StudentenID)

Nun möchte ich zu einer bestimmten Vorlesung jeweils deren Daten als auch die dazugehörigen Studenten abfragen. Wie geht man hier "üblicherweise" vor?
Ist es besser anhand der Vorlesungs-ID zunächst Uhrzeit, Raum, usw. abzufragen und dann in einer zweiten Abfrage die entsprechenden Studenten. ODER: Ruft man in einer einzigen Abfrage mit Hilfe von Joins alle Daten ab.

Bei der ersten Methode hat man ja zwei Zugriffe auf die Datenbank. Die zweite Methode braucht nur einen Zugriff, aber dafür hat man redundante Daten im Ergebnis (da sich ja die Daten für die Vorlesung pro Student in jedem Datensatz wiederholen).

Ich hoffe ich konnte meine beiden Ansätze verständlich erklären und würde nun gerne wissen, welcher von beiden der bessere ist? (Gerade auch im Hinblick auf komplexere Beispiele in denen mit großen Datenmengen gearbeitet wird.) Oder kann man diese Frage gar nicht so pauschal beantworten?

Ich wäre auch dankbar für Hinweise, falls es eventuell noch andere Ansätze gibt, die ich grad übersehe.


Gruß,
Xeno


Antwort schreiben

Antwort 1 von Xeno vom 13.10.2022, 21:15 Options

Hallo Fabian.

Danke erstmal für die schnelle Antwort.

Hmm, an Indizes habe ich noch gar nicht gedacht. Ich wüßte jetzt aber auch (noch) nicht wo ich am besten einen erstelle. Vermutlich auf einen der Primary Keys - aber das übersteigt zur Zeit noch mein Wissen. Ich schätze da muss ich noch einiges nachlesen/ausprobieren.

Nun ja, ich werde dann mal so oder so der großen Join nehmen.


Gruß,
Xeno

Ähnliche Themen

Datensicherung bei System-Ausfall
diitz  02.04.2009 - 173 Hits - 3 Antworten

Fehlermeldung: Word konnte keine DDE Verbindung zu Microsoft Exel herstellen.
lighthouse  07.04.2009 - 474 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026