CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
21.10.2010, 11:44:57
|
Anfänger
|
|
Registriert seit: Oct 2010
Alter: 58
Beiträge: 19
|
|
NESTED SETS in XML - Verketten mehrer Bäume
Hallo Thomas!
Aufbauend auf: http://www.selfphp.de/forum/showthre...d=1#post138635
Das Ziel: Eine Mindmapstruktur bei welcher verschiedene Bäume miteinander verknüpft werden. Durch Einführen eines start_time bzw end_time Zeitstempel je Element sollte man die Möglichkeit haben den Verlauf des Aufbaues nachzuvollziehen. Auch die Verknüpfung selber sollte den Baum zeitlich steuern können.
Dabei soll die Verknüpfung nicht nur auf die Wurzel des Baumes zeigen sondern kann auch auf einen Teilbaum sich beziehen.
Beispiel:
Code:
Baum 1
A
B C H
D
E F
G
Baum 2
I
J L P
K M
N O
Von E wird zB auf L verknüpft - Ergebnis:
A
B C H
D
E F
| G
L
M
N O
in XML
<A>
<B></B>
<C>
<D>
<E>
<L>
<M>
<N></N><O></O>
</M>
</L>
</E>
<F>
<G></G>
</F>
</D>
</C>
<H></H>
</A>
Den Teilbaum würde ich mit Teilwurzelknoten BETWEEN lft,rgt bzw starttime,endtime einschränken.
Lösungsansatz (Ein-Tabelle)
Die Tabelle mit starttime,endtime,rootid,linkid zu erweitern
Lösungsansatz (Zwei-Tabellen)
Treeabelle mit rootid
Elementabelle mit starttime,endtime
Linktabelle starttime,endtime,linkid
zu erweitern.
Was sagst DU!
|
21.10.2010, 20:14:01
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: NESTED SETS in XML - Verketten mehrer Bäume
Zitat:
Zitat von mr_sol
Was sagst DU!
|
Erst mal nicht so viel. Nach wie vor bin ich der Meinung, dass das Ganze auf rekursives SQL hinaus läuft je komplexer es wird.
Du könntest ja wie ein kleines Tabellen-Beispiel mit Testdaten aufbauen.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
22.10.2010, 08:32:01
|
Anfänger
|
|
Registriert seit: Oct 2010
Alter: 58
Beiträge: 19
|
|
AW: NESTED SETS in XML - Verketten mehrer Bäume
Hallo Thomas!
Ich habe Dir Daten für Lösungsweg 1 zusammengestellt
rootid.........ID des jeweilgen Baumes
start_time...Zeit wann Element erzeugt wurde
end_time....Zeit wann Element gelöscht wurde (2029 ist maximum)
linkid..........ID zeigt auf Startknoten des Unterbaumes
link_time.....Zeit ab wann Unterbaum angezeigt wird
Habe die Tabelle tree1 genannt
Code:
CREATE TABLE IF NOT EXISTS `tree1` (
`id` int(11) NOT NULL,
`tag` varchar(100) NOT NULL,
`lft` int(11) NOT NULL,
`rgt` int(11) NOT NULL,
`description` text NOT NULL,
`start_time` timestamp NOT NULL default CURRENT_TIMESTAMP,
`end_time` timestamp NOT NULL default '2029-01-01 00:00:00',
`linkid` int(11) NOT NULL,
`link_time` timestamp NOT NULL default '0000-00-00 00:00:00',
`rootid` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Daten für Tabelle `tree1`
--
INSERT INTO `tree1` (`id`, `tag`, `lft`, `rgt`, `description`, `start_time`, `end_time`, `linkid`, `link_time`, `rootid`) VALUES
(1, 'A', 1, 16, 'content A', '2010-10-21 08:01:00', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(2, 'B', 2, 3, 'content B', '2010-10-21 08:01:01', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(3, 'C', 4, 13, 'content C', '2010-10-21 08:01:02', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(4, 'D', 5, 12, 'content D', '2010-10-21 08:01:03', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(5, 'E', 6, 7, 'content E', '2010-10-21 08:01:04', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(6, 'F', 8, 11, 'content F', '2010-10-21 08:01:05', '2029-01-01 00:00:00', 12, '2029-01-01 00:00:00', 1),
(7, 'G', 9, 10, 'content G', '2010-10-21 08:01:06', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(8, 'H', 14, 15, 'content H', '2010-10-21 08:01:07', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(9, 'G2', 9, 10, 'content G1', '2010-10-21 08:01:08', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(10, 'G3', 9, 10, 'content G2', '2010-10-21 08:01:09', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(11, 'C1', 4, 13, 'content C1', '2010-10-21 08:01:10', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 1),
(12, 'I', 1, 8, 'content I', '2010-10-22 08:15:26', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 2),
(13, 'J', 2, 7, 'content J', '2010-10-22 08:15:27', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 2),
(14, 'K', 3, 4, 'content K', '2010-10-22 08:16:46', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 2),
(15, 'L', 5, 6, 'content L', '2010-10-22 08:16:47', '2029-01-01 00:00:00', 0, '0000-00-00 00:00:00', 2);
Die "Lebenszeit" eines Elementes sollte einfach zum Umsetzten sein. Die Link_time
liegt immer zwischen Anfangszeit und Endzeit.
grüsse helmut
|
22.10.2010, 09:51:50
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: NESTED SETS in XML - Verketten mehrer Bäume
Zitat:
Zitat von mr_sol
Ich habe Dir Daten für Lösungsweg 1 zusammengestellt
rootid.........ID des jeweilgen Baumes
start_time...Zeit wann Element erzeugt wurde
end_time....Zeit wann Element gelöscht wurde (2029 ist maximum)
linkid..........ID zeigt auf Startknoten des Unterbaumes
link_time.....Zeit ab wann Unterbaum angezeigt wird
Habe die Tabelle tree1 genannt
[CODE]
CREATE TABLE IF NOT EXISTS `tree1` (
`id` int(11) NOT NULL,
`tag` varchar(100) NOT NULL,
`lft` int(11) NOT NULL,
`rgt` int(11) NOT NULL,
`description` text NOT NULL,
`start_time` timestamp NOT NULL default CURRENT_TIMESTAMP,
`end_time` timestamp NOT NULL default '2029-01-01 00:00:00',
`linkid` int(11) NOT NULL,
`link_time` timestamp NOT NULL default '0000-00-00 00:00:00',
`rootid` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
Allgemein würde ich hier keine Defaultwerte ( ..2029.. und ..0000..) vorgeben.
Wenn ein Wert nicht vorhanden ist, dann einfach auch NULL setzen oder NULL belassen. Zudem ist '0000-00-00 00:00:00' ein ungültiges Datum, auch wenn MySQL es erlaubt.
Zitat:
Zitat von mr_sol
Die "Lebenszeit" eines Elementes sollte einfach zum Umsetzten sein. Die Link_time
liegt immer zwischen Anfangszeit und Endzeit.
|
Ich denke, dass sprengt die Möglichkeiten eines freiwilligen und kostenlosen Forums wie diesem hier.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Geändert von thomas_w (22.10.2010 um 10:21:46 Uhr)
Grund: Schreibfehler
|
22.10.2010, 11:38:20
|
Anfänger
|
|
Registriert seit: Oct 2010
Alter: 58
Beiträge: 19
|
|
AW: NESTED SETS in XML - Verketten mehrer Bäume
Hallo Thomas!
Habe Dir diesbezüglich ein Mail gesendet
grüsse helmut
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:27:30 Uhr.
|