Filmdatenbank als Wiki

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Filmdatenbank als Wiki

    Hallo,

    ich hatte die Überlegung eine Datenbank zu erstellen, die der User a la Wiki bearbeiten und erweitern kann. Jedoch sollte das ganze über mehrere Datenbank Tabellen aufgeteilt werden. Als Beispiel hab ich hier jetzt mal eine Filmdatenbank genommen, weil man das ambesten an diesem Beispiel erklären kann, was ich vorhabe.

    Also es gibt folgende Tabellen:

    ---------------------------
    tab_film
    ---------------------------
    - id
    - name
    - beschreibung
    ---------------------------

    ---------------------------
    tab_schauspieler
    ---------------------------
    - id
    - vorname
    - nachname
    - geburtstag
    - geburtsort
    - biografie
    ---------------------------

    ---------------------------
    tab_film_hat_schauspieler
    ---------------------------
    - film_id
    - schaupieler_id
    ---------------------------

    Das sollte fürs erste reichen. Nun sollte es möglich sein über ein Formular dem Film Schauspieler hinzuzufügen und zu entfernen. Aber wie speichere ich den vorherigen Zustand ambesten ab ohne zu viel Datenmüll zu erzeugen?

    Als Überlegung hatte ich, dass beim Speichern (Bearbeiten) eines Films eine XML-Datei auf dem Server gespeichert wird

    z.B. 2008-15-02_12-59-01_film1.xml

    mir einer Struktur die so aussehen könnte:

    Code:
    <movie>
        <id>1</id>
        <name>film1</name>
        <beschreibung>irgendein text</beschreibung>
        <schauspieler>
            <id>1</id>
            <id>2</id>
            <id>3</id>
        </schauspieler>
    </movie>
    und für die Schauspieler könnte man auch eine solche Struktur anlegen:


    Code:
    <schauspieler>
        <id>1</id>
        <vorname>Quentin</vorname>
        <nachname>Tarantino</nachname>
        ...
    </schauspieler>
    Das ganze hat zwar den Vorteil, dass die Datenbank entlastet wird, aber der Server zugemüllt wird.

    Gibt es da irgendeine bessere Möglichkeit das zu machen, ohne alles in einer Tabellenspalte abzuspeichern, wie es bei den meisten Wikis gemacht wird?

    Würde mich freuen, wenn jemand was dazu posten könnte.

    Danke

  • #2
    Re: Filmdatenbank als Wiki

    Original geschrieben von napsio
    Gibt es da irgendeine bessere Möglichkeit das zu machen, ohne alles in einer Tabellenspalte abzuspeichern, wie es bei den meisten Wikis gemacht wird?
    Ohne jetzt wirklich ganz verstanden zu haben was dein Problem ist - nein.
    Es ist immer besser etwas in der Datenbank zu speichern, als als Text-Dateien auf dem Server - außer es wird definitiv und ganz sicher niemals wieder in irgendeinem anderen Format benötigt. Aber ich denke mal nicht, dass du die History nur speicherst, damit du dem User XML-Dateien an den Kopf werfen kannst, demnach... Datenbank.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Re: Re: Filmdatenbank als Wiki

      Es geht ja nicht darum dem User XML-Datei an den Kopf zu werfen. Diese würden bei der Ansicht der Histroy natürlich geparst werden. Es geht einfach darum was der effektivste Weg wäre um die History abzuspeichern. XML-Dateien waren jetzt nur ein Beispiel dafür, weil dadurch die Datenbank entlastet wird.

      Natürlich habe ich auch darüber nachgedacht es in der Datenbank zu speichern. So, dass ich quasi (nur als Beispiel) in jede Datenbanktabelle eine Spalte mit einem "timestamp" erstelle. Somit habe ich die gesammte History in einer Tabelle.

      Ich könnte natürlich auch den Weg gehen und mir eine tab_film_history erstelle, in der immer die älteren Einträge gespeichert werden und in der tab_film steht dann nur der aktuelle Eintrag. Die tab_film_history würde somit prinzipiell den gleichen Effekt haben wie die XML-Dateien, da ja da die gleichen Daten weggespeichert würden, bloß dass in diesem Fall das Parsen der XML-Datei wegfallen würde.

      Aber welches davon wäre der beste Weg? Am schönsten wäre es natürlich, wenn auch nur die geänderten Inhalte weggespeichert werden und nicht das gesammte. Aber das ist ersteinmal zweitrangig.

      Nochmal die 3 Möglichkeiten die ich gepostet hatte zusammen gefasst:

      1) XML-Datei
      - Die aktuellen Inhalte stehen in der Datenbank, die History in der XML-Datei

      2) Eine Tabelle für alles
      - Alle Inhalte stehen in der selben Datenbanktabelle und der aktuellste hat den aktuellsten "timestamp". Der Rest ist History.

      3) 2 Tabellen
      - Eine Datenbanktabelle (tab_film) für die Aktuellen Inhalte und eine andere (tab_film_history, gleiche Struktur wir tab_film, bloß mit timestamp) für die History.

      Kommentar


      • #4
        Re: Re: Re: Filmdatenbank als Wiki

        Original geschrieben von napsio
        Es geht ja nicht darum dem User XML-Datei an den Kopf zu werfen. Diese würden bei der Ansicht der Histroy natürlich geparst werden. Es geht einfach darum was der effektivste Weg wäre um die History abzuspeichern. XML-Dateien waren jetzt nur ein Beispiel dafür, weil dadurch die Datenbank entlastet wird.
        Ja, hab ich schon verstanden.

        Ich könnte natürlich auch den Weg gehen und mir eine tab_film_history erstelle, in der immer die älteren Einträge gespeichert werden und in der tab_film steht dann nur der aktuelle Eintrag. Die tab_film_history würde somit prinzipiell den gleichen Effekt haben wie die XML-Dateien, da ja da die gleichen Daten weggespeichert würden, bloß dass in diesem Fall das Parsen der XML-Datei wegfallen würde.
        Ich würde zwei Tabellen verwenden.

        XML-Dateien erachte ich zur Archivierung von Daten allgemein erstmal als schlechte Idee.
        Und zwei Tabellen ziehe ich vor der Ordnung und Geschwindigkeit halber.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Re: Re: Re: Re: Filmdatenbank als Wiki

          Ja, damit hast Du vollkommen recht. Ich werde höchstwahrscheinlich auf die Methode mit den 2 Tabellen zurückgreifen. aber ich warte ersteinmal noch was ab, da vielleicht noch jemand einen anderen Vorschlag hat.

          Ich danke Dir schonmal...=)

          Kommentar

          Lädt...
          X