php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2006, 20:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

http://de.wikipedia.org/wiki/Nested_Set
Zitat:
Das Nested Set ist ein Modell zur Abbildung eines Baumes mit Hilfe von Mengen, die ineinander verschachtelt sind. Dabei wird die ‚ist Unterbaum von‘-Beziehung auf eine ‚ist Teilmenge von‘-Beziehung abgebildet.
http://www.klempert.de/nested_sets/

Rekursiv MySQL-Abfragen losschicken ist übrigens keine gute Wahl.
Nested Sets sind genau das was du suchst, nur eben mit einer leicht modifizierten Datensicherungs-Struktur.
Zergling-new ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.11.2006, 20:08  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Ah perfekt. Das ist genau das, was ich gesucht habe. Ich beschäftige mich mal damit und mal sehen was dann rauskommt

Danke

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Alt 03.11.2006, 20:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Das Bild sagt eigentlich schon alles:


Der Ordner "Primaten" hat als -beachte dass wir von einer ist-Teilmenge-Beziehung reden (Wiki)- Spalte LT (Left Tree) 2, als Spalte RT (Right Tree) 7.

id | name | LT | RT
2 | Primaten | 2 | 7

Um alle Unterordner von "Primaten" zu bekommen:
Code:
SELECT * FROM treetable WHERE id BETWEEN 2 AND 7
Ist halt etwas tricky einfach wo mal einen Ordner reinzuschieben, aber die Funktion schreibt man einmal und gut ist:
http://pear.php.net/package/DB_NestedSet
Zergling-new ist offline  
Alt 04.11.2006, 01:23  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nested Sets sind ein faszinierende Methode Strukturen abzubilden. Trotzdem kann ich mich irgendwie nicht damit anfreunden.
Am meisten stört mich die Art der Abbildung: Habe ich für jedes Set nur eine Parent_ID kann ich z.B. in phpmyadmin sofort ersehen, welches Element das Elternelement darstellt. Beim gezeigten Modell bekomme ich schon Probleme, wenn ein paar mehr als 2 Datensätze in einem gemeinsamen Ast existieren. Will ich dann das Elternelement des Affen erkennen (übrigens gut abgestimmt mit deinem Avatar Zergling ) dann muß ich vom Element ausgehend in beide Richtungen stets left und right vergleichen und das Element finden, dass beide in sich vereint.
Als zweites stört mich die Art der Datensatzoperationen, zum Einfügen und Löschen sind stets mehrere Anfragen nötig. Tritt dabei ein Problem auf, gibt es inkonsistente Daten, die schwer zu korrigieren sind.
Rein logisch zeigen left und right manchmal auf Elemente der gleichen hierarchischen Tiefe (oder Menge), manchmal aber auch auf eine andere.

Die Performance des Modells spricht nat. für sich, deshalb ist es für komplexe Strukturen wohl empfehlenswert. Aber für Daten mit niedrigen Verschachtelungstiefen würde ich es nicht anwenden.
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers FireFIghter Datenbanken 3 02.02.2007 17:18
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
mysql_result(): supplied argument is not a valid MySQL PHP Tipps 2005-2 4 25.08.2005 14:44
[Erledigt] MySQL Befehl für MySQL 4.0.24 Datenbanken 2 23.08.2005 17:35
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordnerstruktur mysql, mysql ordnerstruktur, ordnerstruktur in datenbank abbilden, ordnerstruktur in datenbank, php mysql ordnerstruktur, mysql verzeichnisstruktur, verzeichnisstruktur mysql, ordnerstruktur mysql auslesen, ordnerstruktur mit mysql, datenbank ordnerstruktur, ordnerstruktur in mysql, verzeichnisstruktur in mysql, http://www.php.de/php-tipps-2006/42716-ordnerstruktur-aus-mysql-lesen-2.html, ordner aus mysql tabelle erstellen, ordnerstruktur in mysql abbilden, tree struktur per mysql auslesen, verzeichnisstruktur php mysql, datenbank vs ordnerstruktur, ordnerstruktur in datenbank speichern, php verzeichnisstruktur datenbank

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.