berdn: Datenbank in einer Textdatei simulieren

Hallo liebes Forum,

für einen kleinen Kunden wollen wir ein kleines PHP-Redaktionssystem einrichten. Bisher haben wir Daten in einer MySQL Datenbank vorgehalten.
Pro Seite gab es 14 Datenbankfelder (z.B. Titel, erster Inhalt, zweiter Inhalt, Image Pfad etc.)
Nun hat der Kunde keine Datenbank und unsere Überlegung ist die Daten in  Textdateien vorzuhalten.

Nun bin ich mir sehr unsicher was ein "guter Weg" ist.

Die ganze Site wird aus etwa max. 8 Seiten bestehen. Meine este Überlegung wäre:

  • Ich lege für jede Seite eine eigene Textdatei an.
  • Jedes "Feld" ist eine Zeile in der Textdatei, eine Zeile kann dann ggf. mit 500 Wörtern gefüllt sein.

Für Anregungungen, Kritik dankbar,

Berdn

  1. hmm ich weis nicht ob das ne gute idee ist aber wiso
    legst du nicht einfach für jede Tabelle einen Ordner an und in diesem Ordner legst du nun für jedes feld eine eigene Text Datei ab allso etwa so

    [Tabelle (Ordner)]
    [Name][Vorname][Harfarbe][Augenfarbe][Geschlecht] <- 5 Text dateien
    Tomas  meier    grünn     blau        Mänlich
    Philip Schub    Blond     Braun       Mänlich

    Hoffe du hast das jetzt verstanden allso 5 Tabellen = 5 Ordner
    5 Atribute = 5Textfiles
    1 Datenbank = 1 Ordner

    So solte es möglich sein das ganze Datenbank zeugs zu simulieren.

    Naja sag mir bitte ob dir das geholfen hatt würd mich wirklich seer interesieren ^^

    Gruss ChiefTequila

    1. Hallo ChiefTequila,

      hmmmmH es ist nur eine Tabelle, aber ob es gut ist für jedes Feld eine Textdatei anzulegen und die Records Zeile für Zeile zu schreiben.

      D.h. z.B. der record mit dem PrimärKey ID 36 wäre dann in fünf verschiedenen Textfile in Zeile 20.

      Da sich die Tabellenstruktur nicht mehr ändern wird halte ich glaube meinen Idee im Momnet noch für besser. Ich denkmal darüber nach.

      Grüße,

      Bernd

      1. Du must es wisen ist dein Projekt auf jeden fall
        viel spass beim scripten und hoffe das ich dir trozdem ein bischen helfen konnte :-P

        Gruss ChiefTequila

        1. Hallo ChiefTequila,

          jeder qualifizierte und auch oft nicht qualifizierte Vorschläge können einen weiterbringen.

          Bernd

          1. Hi,

            jeder qualifizierte und auch oft nicht qualifizierte Vorschläge können einen weiterbringen.

            stimmt. ;-)
            Daher noch einer von mir, der nur funktioniert, wenn Du auf Dateien nicht nur sequenziell zugreifen kannst, sondern auch auf bestimmte Positionen. Ich verwende hierbei gerne eigene, speziell auf die Anwendung zugeschnittene Datenformate. Hierbei speichere ich die Daten zwar sequenziell in einer Datei, lege aber zusätzlich eine index-Datei mit Zeigern auf die einzelnen Datensätze und ggfls. (bei variablen Feldlängen) auf die Felder selbst.

            freundliche Grüße
            Ingo

      2. Hallo berdn,

        Das ist keine gute Idee. Wenn Du die Datensätze zeilenweise in eine Datei schreibst, musst Du die Datei schon im Durchschnitt bis zur Hälfte lesen, um einen Datensatz zu finden. Wenn Du dann für jede Spalte eine Datei anlegst, musst Du das auch noch mit mehreren Dateien tun, was das höchstens noch langsamer macht (außer Du hast Spalten mit sehr viel Daten, die Du aber fast nie brauchst)
        Wenn Du nur mit einem Schlüssel zugreifen willst, kannst Du für jeden Datensatz eine entsprechend benannte Datei anlegen.

        Wenn Dir das nicht genügt, würde ich Dir empfehlen Berkely DB Dateien zu verwenden:
        http://www.sleepycat.com/

        Grüße

        Daniel

        1. 你好 Daniel,

          Wenn Dir das nicht genügt, würde ich Dir empfehlen Berkely DB Dateien zu
          verwenden:
          http://www.sleepycat.com/

          Und fuer alle anderen Faelle gibt es ja auch noch SQLite. Hat Perl, PHP,
          Python und TCL-Bindings (wahrscheinlich noch ein paar mehr, kA). Fuer Perl
          gibt es sogar ein schoenes DBD::SQLite

          再见,
           CK

          --
          To define recursion, we must first define recursion.
          http://wwwtech.de/
          1. Tausend Dank für die Antworten,

            ich habe auch noch das im Netz gefunden, mal testen, wird aber auch eher träge sein ...

            http://www.c-worker.ch/txtdbapi/index.php

            Ansonsten werde ich für jede Seite eine komma/tabgetrennte 1 zeilige Textdatei anlegen, was dann hoffentlich schnell genug ist.

            Ich selber hatte mir das etwas einfacher vorgestellt, abe rDAtenbanken haben ja Ihre Berechtigungen.

            Die beiden Links den "einfachen" Datenbanken habe ich mir interessiert angeschaut, bin mir aber nicht sicher ob ich die ohne Rechte auf den Webserver zum laufen kriege ...

            Mal schauen,

            Allen einen schönen Dienstag,

            Bernd