Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MySql-Abfrage - einfachere Variante gesucht

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 09:05

Hallo Forum,

Vorhanden ist eine Tabelle (ich nenne sie mal „Zeitschriften“) in der werden die Daten von Gartenzeitschriften abgelegt (Preis, Ausgabedatum etc.).
Des Weiteren die URL’s von 10 Bildern aus dem jeweiligem Heft (Komma separated).
Auf diesen Fotos sind eben unterschiedliche Blumen in verschiedenen Farben abgebildet die sich im Heft befinden.

Eine zweite Tabelle beinhaltet die Daten zu Blumenzwiebeln.



So weit so gut, jetzt kommt das Problem:

Ich möchte, beim auslesen der Tabelle „Blumenzwiebeln“ die passenden Fotos aus den Zeitschriften verknüpfen. Also vereinfacht ausgedrückt:
Wenn z.B. Rosen ausgewählt werden, sollte es eine Verknüpfung zu allen Heften geben, in denen ein Rosenfoto vorhanden ist.
Die Fotos mit den Rosen sollen dann (mit einem Link auf das jeweilige Heft) am Bildschirm ausgegeben werden.

Mein Lösungsansatz:

Eine Zwischentabelle „Blumenfotos“.
Darin befinden sich die ID der Blumenzwiebeln, die ID der Fotos und die der Zeitschriften.
Mit einem INNER JOIN kann ich dann die Ausgabe realisieren.

Meine Frage:

Die Arbeit ist mir eigentlich zu umständlich. :wink:
Ich muss bei dieser Lösung ja jedes einzelne Bild einem Heft und einer Pflanzenart zuordnen. Gibt es denn da vielleicht eine einfachere Lösung?

Danke für die Hilfe….

wollbay

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


SISTRIX
PostRank 9
PostRank 9
Beiträge: 1255
Registriert: 01.09.2003, 20:57
Wohnort: Bonn

Beitrag von SISTRIX » 07.05.2008, 09:19

wollbay hat geschrieben:Des Weiteren die URL’s von 10 Bildern aus dem jeweiligem Heft (Komma separated).
https://de.wikipedia.org/wiki/Normalisi ... Datenbank)

Gruß,
Johannes
SISTRIX Suchmaschinen Blog
SEO- und SEM-Tools: [url=httpss://tools.sistrix.de/toolbox/?tid=lnk_foren_abk]SISTRIX Toolbox[/url]
Linktausch für PR9 und 10 gesucht!

xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 09:33

@Johannes

Danke für den Link.

Ich weiß schon, was Normalisierung bedeutet.
In einigen Anwendungsfällen ist es aber auch sinnvoll, auf eine Normalisierung zu verzichten oder Teile der Normalisierung gezielt durch eine Denormalisierung rückgängig zu machen, um

- die Performance (Verarbeitungsgeschwindigkeit) zu erhöhen oder
- Anfragen zu vereinfachen und damit die Fehleranfälligkeit zu verringern.

Ich wollte ja nur wissen, ob es eine andere Möglickeit gibt als die, die ich genannt hatte.

Gruß
wollbay

wettmasta
PostRank 3
PostRank 3
Beiträge: 72
Registriert: 01.08.2006, 14:58

Beitrag von wettmasta » 07.05.2008, 09:44

Anders wirst du es nicht lösen können, denn woher soll man wissen welche blumenzwiebel zu welchem bild gehört. Das hätte man sich eventuell schon beim Datenbankentwurf überlegen sollen....

Gruß
wettmasta

xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 10:02

wettmasta hat geschrieben: Das hätte man sich eventuell schon beim Datenbankentwurf überlegen sollen....
Und wie hätte dann der Entwurf aussehen können?

Gruß, wolbay

Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 07.05.2008, 10:51

Wollbay, da fehlt ganz klar eine Tabelle für die Bild-URLs (+ ggfalls Verbindungstabelle). Johannes hat da schon Recht.

Deine Argumentation bezüglich Denormalisierung ist zwar generell nicht falsch, aber gerade bei kommaseparierten Werten ist sie zu 99,9% nicht anzuwenden. Denn das kostet immer mehr Performance als ein vernünftiger Join. Mal ganz davon abgesehen, dass eine Menge Abfragen damit gar nicht funktioniert und über die Applikationslogik erledigt werden müssten.

xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 11:06

Southmedia hat geschrieben:Wollbay, da fehlt ganz klar eine Tabelle für die Bild-URLs (+ ggfalls Verbindungstabelle). Johannes hat da schon Recht.

Deine Argumentation bezüglich Denormalisierung ist zwar generell nicht falsch, aber gerade bei kommaseparierten Werten ist sie zu 99,9% nicht anzuwenden. Denn das kostet immer mehr Performance als ein vernünftiger Join. Mal ganz davon abgesehen, dass eine Menge Abfragen damit gar nicht funktioniert und über die Applikationslogik erledigt werden müssten.
OK, vielen Dank für Eure Antworten.
Dann werd ich mich mal an die Arbeit machen und eine Tabelle mit den Bild-URL-s erstellen...

wollbay

Troll
PostRank 5
PostRank 5
Beiträge: 274
Registriert: 11.05.2006, 17:51
Wohnort: Schwabenland

Beitrag von Troll » 07.05.2008, 12:38

In einigen Anwendungsfällen ist es aber auch sinnvoll, auf eine Normalisierung zu verzichten oder Teile der Normalisierung gezielt durch eine Denormalisierung rückgängig zu machen, um

- die Performance (Verarbeitungsgeschwindigkeit) zu erhöhen oder
- Anfragen zu vereinfachen und damit die Fehleranfälligkeit zu verringern.
Dieser Satz ist wohl vollkommener Quatsch. Sorry. Eine Normalisierung ist eigentlich Pflicht. Um Performance zu steigern, nutzt man caching Verfahren und nicht eine Denormalisierung. Damit hast Du auch die Vereinfach (Ich denke Du meinst mit Bezug auf Performance) im Griff.

xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 12:44

Troll hat geschrieben:
In einigen Anwendungsfällen ist es aber auch sinnvoll, auf eine Normalisierung zu verzichten oder Teile der Normalisierung gezielt durch eine Denormalisierung rückgängig zu machen, um

- die Performance (Verarbeitungsgeschwindigkeit) zu erhöhen oder
- Anfragen zu vereinfachen und damit die Fehleranfälligkeit zu verringern.
Dieser Satz ist wohl vollkommener Quatsch. Sorry. Eine Normalisierung ist eigentlich Pflicht. Um Performance zu steigern, nutzt man caching Verfahren und nicht eine Denormalisierung. Damit hast Du auch die Vereinfach (Ich denke Du meinst mit Bezug auf Performance) im Griff.
ebenfalls Sorry, aber dieser Satz ist ein Auszug der Wiki...

https://de.wikipedia.org/wiki/Normalisi ... Datenbank)

Und ja, ich habe in Lüneburg Informatik studiert und eine Denormalisierung von Daten kommt serwohl in der Praxis vor.

Gruß, wollbay

Troll
PostRank 5
PostRank 5
Beiträge: 274
Registriert: 11.05.2006, 17:51
Wohnort: Schwabenland

Beitrag von Troll » 07.05.2008, 15:36

Und ja, ich habe in Lüneburg Informatik studiert und eine Denormalisierung von Daten kommt serwohl in der Praxis vor.
Ist doch das gleiche wie globalisieren von Variablen. In der Praxis macht man es, sollte es aber auch vermeiden. Aber einfach mal Global setzen? Na ja , aber Du hast ja studiert... Viel erfolg dann im zweiten Semester 8)

xoni
PostRank 8
PostRank 8
Beiträge: 692
Registriert: 22.08.2007, 12:14

Beitrag von xoni » 07.05.2008, 15:40

Ist doch das gleiche wie globalisieren von Variablen
auweia...
Viel erfolg dann im zweiten Semester
Gott sei Dank schon seit 6 Jahren Fertig :wink:

Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 07.05.2008, 15:58

Troll, Denormalisierung ist ein ganz normaler Vorgang und kann durchaus Sinn machen, ich verstehe nicht wieso du da so grundsätzlich gegen wollbay stänkerst. Dass es in seinem konkreten Beispiel keinen Sinn macht hat er ja eingesehen, aber Denormalisierung generell zu verteufeln ist Müll.

tuempeltaucher
PostRank 2
PostRank 2
Beiträge: 34
Registriert: 26.02.2008, 23:40

Beitrag von tuempeltaucher » 08.05.2008, 07:27

Southmedia hat geschrieben:Troll, Denormalisierung ist ein ganz normaler Vorgang und kann durchaus Sinn machen, ich verstehe nicht wieso du da so grundsätzlich gegen wollbay stänkerst. Dass es in seinem konkreten Beispiel keinen Sinn macht hat er ja eingesehen, aber Denormalisierung generell zu verteufeln ist Müll.
ACK. Mit Normalisierung kann man es auch übertreiben, dass ist wie mit OOP.

Kommt aber immer ganz auf die Anwendung an, wenn gezielt denormalisiert wird (z.B. Verbesserung der Performance) und die Anwendung entsprechendes beachtet ist es doch kein Teufelswerk.

Die Erfahrung zeigt (zumindest bei uns), dass man ein Datenbankdesign (80% Theorie, 20% Queries schreiben) eigentlich generell normalisiert entwirft, wenn man eine einfache Regel beherzigt: keine redundanten Daten

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag