365 threads und je 2 posts - wie sind die sortiert in der db

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
hinault

365 threads und je 2 posts - wie sind die sortiert in der db

Beitrag von hinault »

hallo ,

das ist keine scherzfrage. ich wollte mal nachfragen wie die Sortiert sind in den DREI
relevanten Tabellen der Datenbank, also in

topic
posts
post_text


es geht um das Verständniss der Logig, Also gegeben sind : 365 threads und je 2 posts - wie sind die sortiert in der db.
ich brauch die Daten zum verständnis der Datenbank von phpbb2. Wahrscheinlich muss man nun noch dazusagen wie die Postings eingegangen sind. Also das wird vielleicht auch noch wichtig sein!

Also um das Ganze zu verstehen, hier eine FRAGE: Nehmen wir einen Fall eins an:

Sagen wir dass jeder neue Topic an je einem neuen Tag angelegt wurde! und weiterhin;
Jeder neue auf ein frisch angelegtes topic angwortender Post kommt ebenso an je einem neuen tag;

Das wird also in der Post-Tabelle dann wohl so aussehen dass sich ein Topic-Post mit einem antwortenden Post jeweis abwechselt oder !?!? Darin spiegelt sich wahrscheinlich auch eine chronologische Reihenfolge wieder!



Um es ganz zu verstehen mach ich noch ein zweites Beispiel;

Nehmen wir an alle 365 Startpostings, also die Topic-Postings mit den startenden Mails kommen nicht an 365 T agen sondern an einem einzigen Tag: Die darauf ( auf die 365 Topic-Postings) jeweils Antwortenden Postings kommen an den folgenden 365 Tagen.

Dann dürfte die Tabelle Posts sehr anders sortiert sein; in diesem Falle dürfte diese Tabelle
erst die Topic postings speichern und danach kommen dann die darauf antwortenden postings.

Ich glaube dass man das so sagen kann. Im Grunde steckt in der Post - Tabelle eine Reihenfolge, nämlich eine chronologische Reihenfolge drinne!


Neben dieser Reihenfolg gibt es natürllich noch eine zweite Ordnungsstruktur - Diese Ordnungsstruktur bezieht sich auf die Postings und ihre Zurodung zu den jeweiligen Threads.
Aber das mit der Zeitlichen Reihenfolge gilt auf jeden Fall , oder


Stimmt das denn!?!

vielen dank für eure hilfe!


Hinault
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Die Sortierung der Datensätze in der Datenbank ist rein interne Aufgabe der Datenbank und hat mit dem Forum nichts zu tun. Ist übrigens einer der wesentlichen Eigenschaften von Relationen (bzw. Relationalen Datenbanken):
Die Reihenfolge der n-Tupel einer Relation ist ohne Belang, d.h. die Folge bzw. Ordnung der Zeilen spielt keine Rolle
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Wie Du richtig erkannt hast, stehen diese drei Tabellen in einem Zusammenhang.. was das Schreiben von Themen/Beiträgen angeht.
Wobei topics in Verbindung mit posts steht und posts wiederum mit posts_text (so das dann halt auch posts_text sich auf topics bezieht ;))... verbunden über die ID.
Wenn das erste Topic geschrieben wird, wird ´n Eintrag in allen drei Tabellen gemacht. In topics gibt´s den Eintrag mit der topic_id 1 und zusätzlich in posts mit der topic_id 1 ....und in posts gibt´s dann zusätzlich den Eintrag post_id 1, ebenso in posts_text (was also diese beiden Tabellen verbindet). Neues Thema neue topic_id Einträge in topics/posts usw. ...gibt´s jedoch neue Antworten auf Thema 1 (id 1) dann gibt´s nur neuen post_id´s in posts und posts_text..

hmm ..wo war ich stehen geblieben.. ich glaub hier..
Die Reihenfolge der n-Tupel einer Relation ist ohne Belang, d.h. die Folge bzw. Ordnung der Zeilen spielt keine Rolle
:D
hinault - der Rennfahrer

Beitrag von hinault - der Rennfahrer »

hallo Acid und Phillipk,

vielen Dank für die Antworten
Acid hat geschrieben:Wie Du richtig erkannt hast, stehen diese drei Tabellen in einem Zusammenhang.. was das Schreiben von Themen/Beiträgen angeht. Wobei topics in Verbindung mit posts steht und posts wiederum mit posts_text (so das dann halt auch posts_text sich auf topics bezieht ;))... verbunden über die ID.
Wenn das erste Topic geschrieben wird, wird ´n Eintrag in allen drei Tabellen gemacht. In topics gibt´s den Eintrag mit der topic_id 1 und zusätzlich in posts mit der topic_id 1 ....und in posts gibt´s dann zusätzlich den Eintrag post_id 1, ebenso in posts_text (was also diese beiden Tabellen verbindet). Neues Thema neue topic_id Einträge in topics/posts usw. ...gibt´s jedoch neue Antworten auf Thema 1 (id 1) dann gibt´s nur neuen post_id´s in posts und posts_text..

hmm ..wo war ich stehen geblieben.. ich glaub hier..
Die Reihenfolge der n-Tupel einer Relation ist ohne Belang, d.h. die Folge bzw. Ordnung der Zeilen spielt keine Rolle
:D


nochmals - vielen Dank für eure Antworten;

Die Antworten geben Licht ins Dunkel; ich fragte deshalb, weil ich von XForum her komme und das besondere Problem habe dass ich nun die Forendaten migrieren will nach der phpBB-Datenbank! Gut - soweit so gut; Nun ist mein besonderes Problem folgendes;

die XForen-DB ist anders aufgebaut; sie kennt Threads und Postings, mehr nicht:

- Threads: - (die jeweils ersten Postings eines Threads) - dort sind die initial-Postings drinne! also X
- Postings: diese Postings sind alle jene die auf die X antworten

gut das ist in phpBB anders geordent und irgendwie auch logischer. Nun ist meine Frage die: Kann ich die Daten auch irgendwie übertragen so dass ich alle Threads aus dem XForum nehme und ein (!!!)deutig in die topic-Tabelle (und post-Tabelle) von phpBB 2 übertrage!?

Anmerkung; Das Skript von Ashe läuft zwar durch - aber es produziert sehr merkwuerdige Daten! ich glaube dass diese Daten nicht mehr stimmen!!
Deshalb nun meine Frage an Euch - wenn ich tausend Threads aus dem XForum habe, dann sollte ich doch vielleicht auch in der Lage sein diese so einzuspielen dass die Zuordnungen richtig sind, oder!

Die Kernfrage ist die - Wie kann man die Threads - also die Leitpostings aus dem Xforum so übertragen dass alles logisch ist - (und bleibt) Wenn ich euch richtig verstanden habe, dann _müßte es GEHEN!!!


freue mich auf Eure Antworten!!

Hinault.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hinault - der Rennfahrer hat geschrieben: die XForen-DB ist anders aufgebaut; sie kennt Threads und Postings, mehr nicht:

- Threads: - (die jeweils ersten Postings eines Threads) - dort sind die initial-Postings drinne! also X
- Postings: diese Postings sind alle jene die auf die X antworten

gut das ist in phpBB anders geordent und irgendwie auch logischer.
Naja, eigentlich ist es beim phpBB genauso. topics sind die ersten Beiträge, posts die Antworten... nur der Unterschied zum XForum ist beim phpBB halt, das der eigentliche Text der Beiträge/Themen in der posts_text gespeichert wird.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Acid,

ich glaube der Unterschied besteht darin, dass bei XForen-DB der erste Beitrag nicht in der Beitragstabelle sondern nur in der Thementabelle gespeichert wird. Also bei 'nem Thema mit 4 Antworten sind in der Beitragstabelle nur 4 und nicht 5 Einträge wie bei phpBB.

Zur Frage: Konvertieren kann man's vermutlich schon. Nur dürfte es etwas Arbeit sein. Bist du fit mit PHP und SQL?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Hinault der Rennfahrer

Beitrag von Hinault der Rennfahrer »

Hallo Phillip hallo Acid,

danke für die Antworten!

PhilippK hat geschrieben:Acid,

ich glaube der Unterschied besteht darin, dass bei XForen-DB der erste Beitrag nicht in der Beitragstabelle sondern nur in der Thementabelle gespeichert wird. Also bei 'nem Thema mit 4 Antworten sind in der Beitragstabelle nur 4 und nicht 5 Einträge wie bei phpBB.

Zur Frage: Konvertieren kann man's vermutlich schon. Nur dürfte es etwas Arbeit sein. Bist du fit mit PHP und SQL?

Gruß, Philipp
also,

ich sehs auch so - die Unterschiede mit dem X-1 in der Beitragstabelle machen aber bei der Konversion echt zu schaffen. Wäre dies eben alles wie bei phpbb2 dann wäre der Übertrag der Daten ein Leichtes.

Übrigens gibt es ein Konverterskript von ashe http://perso.wanadoo.fr/ashe/phpBB2/ (das kennt ihr vermutlich auch schon! )

Aber ich hatte damit noch nicht so viel Glück. Die Sache ist die. Der Vorgang der Ausführung des Skripts läuft eine halbe Stunde (lokal ) nachdem ich die Skript-Time Outs alle abgeschaltet habe und den Apache in seiner Execution-Zeit bis zum Anschlag gestellt habe. Warum das alles - Weil in der Datenbank mehr als 2500 Threads drin sind und mehr als3000 Postings. Das ist das Problem.

Also das Skript von Ashe nimmt in der halben Stunde Laufzeit schon auch alle Daten aus der XForum - Tabelle raus und schaufelt sie in die phpBB2 Tabelle rein. Aber es sieht eben _ nicht danach aus_ dass das Ergebnis stimmt.

Die Topic - Subjects stimmen z.B. nicht mehr mit dem Thread überein. Und sehr sehr oft fehelen einfach auch Postings im Thread. Dann sind - wenn man in die DB sieht auch irrwitzige Zuordnungen zu finden. Es werden zu Topic 1 z.B. zugeordnet Last Post : 7000.

Ergo Das kann doch nicht sein! Da stimmt doch was nicht! So aber sehen die Daten aus. Also: Gerne würde ich das mit dem Datenübertrag auch manuell machen - und eben dabei die Daten so von Hand sortieren.

@ Phillipp - ich bin schon etwa fit in php und MySQL - aber ein Konversionsskript selber schreiben trau ich mit nicht zu. Wenn ich aber die Logik und die Relationen zwischen den beiden DATENSÄTZEN kapiert habe, dann würde ich viel lieber das alles von Hand machen.

Das gibt mehr Kontrolle.- Was meint ihr denn dazu?
Vielen Dank schon mal für die Antworten! Das ist ein sehr wichtiger Thread. Bestimmt wollen noch einige von dem alten XForum auf phpBB umsteigen.

Bernard der Rennfahrer
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Von der Logik ist es recht einfach:
du fängst mit einem Thema an, erstellst den Eintrag in der phpbb_topics und merkst dir die für den Datensatz vergebene ID. Dann erstellst du in der phpbb_posts den Eintrag für den ersten Beitrag (also den Eröffnungsbeitrag des Themas) mit dem entsprechenden Verweis auf das Thema (topic_id) und merkst dir auch hier die ID. Dann erstellst du in der phpbb_posts_text einen Datensatz mit der gleichen ID wie der Datensatz in der phpbb_posts. Anschließend machst du die Schritte für die phpbb_posts und phpbb_posts_text für jede Antwort auf den Beitrag.

Wenn du das dann für alle 2500 Themen gemacht hast, bist du fast fertig. Du solltest dann noch die entsprechenden Daten synchronisieren, wobei dir ggf. mein DB Maintenance Mod helfen kann.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
hinault - der Rennfahrer

Beitrag von hinault - der Rennfahrer »

Hallo Phillip

danke für die Antwort!
PhilippK hat geschrieben:Von der Logik ist es recht einfach:
du fängst mit einem Thema an, erstellst den Eintrag in der phpbb_topics und merkst dir die für den Datensatz vergebene ID. Dann erstellst du in der phpbb_posts den Eintrag für den ersten Beitrag (also den Eröffnungsbeitrag des Themas) mit dem entsprechenden Verweis auf das Thema (topic_id) und merkst dir auch hier die ID. Dann erstellst du in der phpbb_posts_text einen Datensatz mit der gleichen ID wie der Datensatz in der phpbb_posts. Anschließend machst du die Schritte für die phpbb_posts und phpbb_posts_text für jede Antwort auf den Beitrag.

Wenn du das dann für alle 2500 Themen gemacht hast, bist du fast fertig. Du solltest dann noch die entsprechenden Daten synchronisieren, wobei dir ggf. mein DB Maintenance Mod helfen kann.

Gruß, Philipp
das hört sich alles sehr logisch an - aber es ist so einfach nicht! Man sollte es irgendwie automatisieren. Hast du einen Vorschlag für das ! ? DAS wäre super!

Eine Frage an dich - hast du das Script von Ashe mal angesehen -

http://perso.wanadoo.fr/ashe/phpBB2/

- also es funzt bei mir wie gesagt nicht richtig! Ich habe damit Stress auf gut deutsch!

Auffällig ist eben auch folgendes: Wenn ich, um die Last bei der Konversion zu verrringern z.B. nur noch die Threads in der Datenbank drin lasse, dann ist das mit der Konversion nicht zu machen. Dann schreibt der Konverter mir diese XForum Threads in die phpBB Tabellen:

er schreibt dann (bei angenommenen 1000 XForum-Threads:)

- 1000 phpBB-Topics
- 1000 phpBB_posts
- 1000 phpBB_post_text

- du merkst da stimmt dann später eben die Zählung nicht mehr: Wenn ich in einem zweiten Vorgang der Konversion dann die posts hinterher konvertiere dann macht diese Konversion auch ihren Durchlauf ; ABER DANN Kommt eine wiederrum neue Zählung der Posts und Post_text heraus!

Das Problem ist dann eben - ich kriege zwei DATENSÄTZE, die sich schlecht integieren oder harmonisieren lassen. Das ist das Problem. Hast du schon mal den Konverter von Ashe getestet.

Was meinst du dazu ?

gruss
Hinault
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

hinault - der Rennfahrer hat geschrieben:er schreibt dann (bei angenommenen 1000 XForum-Threads:)

- 1000 phpBB-Topics
- 1000 phpBB_posts
- 1000 phpBB_post_text

- du merkst da stimmt dann später eben die Zählung nicht mehr:
Ich habe mir den Konverter noch nicht angeschaut (und werde es auch jetzt nicht tun), aber zumindest erscheint mir die oben genannten Meldung richtig. Wenn du 1000 Topics hast, müssen in den genannten drei Tabellen je 1000 Datensätze erstellt werden.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“