2012-03-23 5 views
2

Ich arbeite an einem kleinen Projekt, bei dem ein Benutzer einen Artikel an MySQL sendet, und dann sendet PHP den Beitrag an den Bildschirm. So weit, ist es gut. Nun möchte ich es zu einem "zwei Ebenen" -Postsystem erweitern, wo Leute die Artikel kommentieren können. Der Fall ist, ich weiß nicht, wie man das macht.Ist es besser, separate Tabellen für Artikel und Kommentare oder eine Tabelle für beide zu haben?

Die Tabelle i zum Speichern von Artikeln verwenden:

TABELLE: Beiträge

id Benutzer Datum avatar Unterschrift Beitrag

Soll ich einen neuen Reihe namens Kommentare in den Beiträgen Tabelle machen, oder Soll ich die Kommentare in einen separaten Tisch legen? eine für Artikel, eine für Kommentare?

Alle Hilfe wird sehr geschätzt.

+0

Sie machen Design und Verkettung durcheinander. Sie können alles sicher von "Dies ist die Anzeige SQL ..." bis zum Ende der Frage löschen, es ist nicht notwendig und es wirft nur die Frage auf. – TMS

+0

Ich habe es für dich gemacht. Jetzt kann ich Ihre Frage beantworten :) Da es jetzt kürzer ist, werden mehr Leute es lesen. :) – TMS

Antwort

1

Dies ist ein wenig subjektiv, aber ich würde nur eine Eltern/Kind-Beziehung auf Ihre Posts-Tabelle einrichten, eine Parent_id-Spalte, die ein Fremdschlüssel für die ID-Spalte in der gleichen Tabelle ist. für zusätzliches Guthaben, können Sie es eine nested set Beziehung machen, die Ihnen erlaubt, das Elternteil und alle Kinder in einer Frage zu ziehen

2

Hängt davon ab, wie Sie es auf Ihrer Web site benutzen. Sie müssen fragen: "sind meine Artikel und Kommentare im Wesentlichen das gleiche Konzept?" Wenn ja, dann verwenden Sie eine Tabelle, wenn nein, verwenden Sie zwei. Auf den meisten Websites arbeiten Artikel anders, können kategorisiert, bearbeitet usw. werden und benötigen normalerweise andere Felder, die die Kommentartabelle überladen würden ... also sind in diesem Fall zwei Tabellen vernünftiger. Aber wenn Sie zu dem Schluss kommen, dass auf Ihrer Website Artikel und Kommentare im Allgemeinen gleich sind (aber versuchen Sie, zukunftssicher zu denken: Müssten Sie nicht Artikelfunktionen in 2 Monaten hinzufügen?) Dann können Sie sich Artikel auch als Kommentare vorstellen und haben ein Tisch für sie.

Wenn Sie sich entscheiden, die Dinge an einen Tisch zu verschmelzen, und Sie erkennen, dass Sie eine andere Spalte benötigen Typ der Post zu unterscheiden, und dass einige Spalten ungenutzt bleiben für einige Typen ist es ein deutliches Warnsignal Sie sollte zwei Tische haben!

Verwandte Themen