Datenbanken (SQL) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Zwei Tabellen Problem

Link zur Antwort auf "Zwei Tabellen Problem" von Florian Weiss Florian Weiss, am Sonntag den 20.04.2008 um 06:27:07

Hi

Problem:

Ich habe bei meiner Gallerie eine Tabelle mit den Bildern (1 Zeile pro Bild) in einer weiteren Tabelle habe ich Personen die in den Bildern zu sehen sind (1 Person pro Zeile pro Bild). Wenn also eine Person auf mehreren Bildern ist sind mehrere Zeilen mit dem selben Namen vorhanden.

Die Frage:

Was ist die eleganteste Lösung alle Bilder aus der Tabelle mit den Bildern auszuwählen auf denen eine bestimmte Person zusehen ist?


Bitte um hilfe

MfG Florian


David Danier
Beiträge: 1709

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Zwei Tabellen Problem" von David Danier David Danier, am Sonntag den 20.04.2008 um 09:19:40

Würde da eine m:n-Beziehung dazwischen setzen an deiner Stelle..

Aber ich versuchs mal mit deiner derzeitigen, nicht-normalisierten Datenbankstruktur:
SELECT b.* FROM bilder as b LEFT JOIN personen AS p ON b.id = p.bild_id WHERE p.id = $personen_id

Statt b.* solltest du natürlich die einzelnen Felder auflisten, aber ich weiß nicht, wie die heißen, weshalb ich das nicht kann. Gleiches gilt für alle anderen Tabellen/-Feldnamen, die passen natürlich nicht zu deinen Tabellen. Solle aber selbsterklärend sein, was was ist.

Link zur Antwort auf "Zwei Tabellen Problem" von Simon Bethke Simon Bethke, am Sonntag den 20.04.2008 um 09:32:08

Ich würde da fast zu einer Hilfstabelle tendieren, die dann je Zeile ne 1zu1 Beziehung beinhaltet und diese mit irgend nem Key zu Gruppen zusammenfasst.

Die Lösung von David klingt zwar recht Nerdig und kompliziert, redurziert meines Erachtens nach aber die Wartbarkeit.


David Danier
Beiträge: 1709

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Zwei Tabellen Problem" von David Danier David Danier, am Sonntag den 20.04.2008 um 09:37:28
Zitat von: Simon Bethke

Ich würde da fast zu einer Hilfstabelle tendieren, die dann je Zeile ne 1zu1 Beziehung beinhaltet und diese mit irgend nem Key zu Gruppen zusammenfasst.

Sprich eine m:n-Beziehung? ;-)
(Bilder <-> Relationstabelle aka "Hilfstabelle" <-> Personen)

Zitat von: Simon Bethke

Die Lösung von David klingt zwar recht Nerdig und kompliziert, redurziert meines Erachtens nach aber die Wartbarkeit.

Der Query ändert sich - bei bekannter Personen-ID - auch bei einer m:n-Beziehung nicht. Was daran jetzt nerdig/kompliziert oder schlecht wartbar sein soll hätt ich gerne erklärt.

Schlecht wartbar ist allerdings die bisherige Tabellenstruktur, in der jede Person zig-mal gelistet wird. Genau deswegen rate ich ja zu einer m:n-Beziehung.

Link zur Antwort auf "Zwei Tabellen Problem" von Florian Weiss Florian Weiss, am Sonntag den 20.04.2008 um 18:13:28

Hi

Vielen dank für die antworten. Arbeite zwar schon etwas länger mit Datenbanken habe das mit den JOINS aber noch nicht so durschaut.

m:n beziehung wäre doch wenn ich eine Tabelle mit den Bildern eine Tabelle mit den Personen und eine Tabelle mit den verlinkten Personen in einem Bild.Oder verstehe ich das falsch?

Wen es interessiert für was das ganze ist: http://floripan.de/index.php?site=bilder&cat=82

MfG Florian


podthepunk
Beiträge: 76

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Zwei Tabellen Problem" von podthepunk podthepunk, am Sonntag den 20.04.2008 um 18:21:55
Zitat von: Florian Weiss

Hi

Vielen dank für die antworten. Arbeite zwar schon etwas länger mit Datenbanken habe das mit den JOINS aber noch nicht so durschaut.

Für Joins kann ich dir diesen Link empfehlen: http://www.w3schools.com/Sql/sql_join.asp da ist es so gut erklärt, dass sogar ich die Sache versteh ;)

mfg
pod

Link zur Antwort auf "Zwei Tabellen Problem" von Florian Weiss Florian Weiss, am Sonntag den 20.04.2008 um 20:46:12
Zitat von: Sven Podivinsky

Für Joins kann ich dir diesen Link empfehlen: http://www.w3schools.com/Sql/sql_join.asp da ist es so gut erklärt, dass sogar ich die Sache versteh ;)

mfg
pod

vielen dank für den Tipp. Ist wirklich gut beschrieben.

MfG Florian

Insgesamt 1 mal bearbeitet, zuletzt am 22.04.2008 um 15:48:35