- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-06-2005, 09:50
delle
 Newbie
Links : Onlinestatus : delle ist offline
Registriert seit: Jun 2005
Beiträge: 4
delle ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Funktion] Datensätze sortieren

Hallo,

dieses Problem betrifft indirekt PHP, ich hoffe dennoch das ihr mir weiterhelft, denn dies ist eine Problematik die jeder mal hatte (denke ich mir so).

Ich habe eine Tabelle (Auto) mit Fahrzeugdaten. User können Datensätze anlegen und beliebige Atrribute auswählen. Diese Autrribute werden aus eine anderen Tabelle (Listen) ausgelesen und in Form von Select Felder zur verfügung gestellt.

Wird jetzt ein neuer Datensatz in Auto angelegt so werden die Attribute die der User ausgeählt hat im Klartext in die Felder geschrieben und nicht etwa die ID des Eintrage von der Listen Tabelle.

Das ist natürlich nicht so schön weil es ja diese Normalform Regeln gibt. Ich habe dies gemacht, damit ich die Datensätze der Auto Tabelle nach bestimmten Kriterien sortieren lassen kann (z.B. Hubraum, PS, Gewicht, usw.)

Würde in der Auto Tabelle statt den Klartext Attributen die ID's der Atrributwerte der Listentabelle stehen könnte ich die Tabelle nicht mehr sortieren.

Wie macht man das in so einem Falle? Ich habe das Gefühlt, dass es ganz einfach ist, aber ich könnte im Forum nicht das Problem finden.

Mit SQL Joins müsste das machbar sein, aber diese wollte ich nach Möglichkeit nicht benutzen. Geht das auch anders mit PHP?

Danke fürs Lesen
Mit Zitat antworten
  #2 (permalink)  
Alt 11-06-2005, 10:55
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich sehe dein Problem nicht.
Du hast in den Attributen, nach denen du sortieren willst, nur Werte aus der Tabelle Listen. Dann sortiere doch einfach.

Oder willst du unbedingt korrekt und vollständig normalisierte Relationen? Dann brauchst du entweder eine Zuordnung Listen-Wert -> ID, die die Sortierreihenfolge erhält oder du joinst.

Was spricht denn bitte gegen JOIN?
Mit Zitat antworten
  #3 (permalink)  
Alt 11-06-2005, 10:56
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

warum solltest du dann nicht mehr sortieren können?

Naja, das stimmt in soweit, als dass du keine joins verwenden willst.

Trotzdem würde ich dir empfehlen, mit vernünftiger Normalisierung und joins zu arbeiten.

Gibt schliesslich gute Gründe, wieso es Normalisierung gibt.
(vermeidung von Redundanz, Datenkonsistenz, etc. )

Oder willst du dir die DB unnötig aufpumpen?
Performance-Mässig bringt dir das im endeffekt dann auch nichts mehr.
Mit Zitat antworten
  #4 (permalink)  
Alt 11-06-2005, 11:22
delle
 Newbie
Links : Onlinestatus : delle ist offline
Registriert seit: Jun 2005
Beiträge: 4
delle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo zusammen,

ich finde joins unübersichtlich und sie liegen mir ehrlich gesagt auch nicht so sehr. Dachte das es eventuell auch anders geht.

Schöner ist es natürlich die Datenbank zu normalisieren und dann in solchen Fällen mit Joins zu arbeiten.

Dann werde ich das mal machen.

Danke für euere Antworten.

mfg

Delle
Mit Zitat antworten
  #5 (permalink)  
Alt 11-06-2005, 11:44
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

hmm... Joins sind irgendwie Brot und Butter für DB-Entwickler...
Mit Zitat antworten
  #6 (permalink)  
Alt 11-06-2005, 11:49
delle
 Newbie
Links : Onlinestatus : delle ist offline
Registriert seit: Jun 2005
Beiträge: 4
delle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mag ja sein, aber dafür sind sie resourcenfressender, als wenn man z.B. 2 separate sql abfragen macht OHNE joins.

hätte ich auch nicht gedacht, ist aber so.
Mit Zitat antworten
  #7 (permalink)  
Alt 11-06-2005, 13:24
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Bei MySQL mag das so sein. Die großen Datenbanksysteme gestatten Optimierung (Clustering). Dabei wird der JOIN quasi vorab ausgeführt und die fertig gejointen Tupel auf die Platte geschrieben.
Effekt: JOIN = 1 sequential read von x Blöcken; 2 Queries = 2 reads von x Blöcken.
Mit Zitat antworten
  #8 (permalink)  
Alt 11-06-2005, 13:53
delle
 Newbie
Links : Onlinestatus : delle ist offline
Registriert seit: Jun 2005
Beiträge: 4
delle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aha, ok.

ihr habt mich überzeugt, dann werde ich mir mal schnell vernünftiges DB Design und vernünftige DB Abfragen lernen

mfg

delle
__________________
http://www.karting-zone.de
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:57 Uhr.