MySQL Datenverwaltung

  • Hallo,

    Ich bin gerade dabei eine Internetseite zu erstellen, bei der ich MySQL zum speichern von Benutzerdaten nutze. Da ich aber noch Anfänger bin, weiß ich noch nicht, wie man die Daten eigentlich am besten verwaltet: z.B. ist es am besten, man macht für jeden Benutzer eine eigene Tabelle oder ist das gerade völlig falsch?
    Ich habe zwar reichlich Tutorials für alle möglichen Befehle gefunden, aber ein Tutorial zur richtigen Datenverwaltung und Organisation war nicht dabei.
    Wisst ihr vielleicht ein paar links, in denen dieses Problem erklärt wird oder könnt ihr mir persönliche Erfahrungen erzählen, wie sowas am besten organisiert wird?

  • du machst ne tabelle users. Das reicht. Sieht dann z.B. so aus:

    Code
    name    | passwort      | regDate         | birthday   |
    --------+---------------+-----------------+------------+
    Tobse   | 3ab98c5ca5bd4 | 1000203         | 22.11.1995 |
    --------+---------------+-----------------+------------+
    VARCHAR | VARCHAR (MD5) | INT (TIMESPAMT) | Wie regDate oder ein DATE


    Da kannste dann ncoh alle möglichen infos dazuklatschen.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Ok Danke für die schnelle Antwort.

    Aber wenn ich zum Beispiel Private mails zwischen Benutzern erstellen will, muss ich die doch auch irgendwie in der Datenbank ablegen. Wo speichere ich also komplexere Datensysteme (also z.b. Textnachrichten) dann ab und wie verbinde ich sie mit einem bestimmten Benutzer, damit er sie abrufen kann?

  • Ich hab des alles auch mal gemacht. Im anhang is nen PHPmyAdmin export. Importier des mal in ne leere Datenbank in deinen lokalen phpmyadmin und schaus dir an. Ist teilweise nachteilaf für den fall von vielen daten gemacht, an ein paar stellen must du varchars durch TIMESTAMP-Ints und userid ints ersetzen, wenns perfekt sein soll.

    Dateien

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Danke nochmal.

    Also mache ich praktisch für jede Funktion eine eigene Tabelle, in der aber alle User eingetragen sind, wenn ein User aber z.b. seine Nachrichten öffnet, mache ich aber eine abfrage, die nur Nachrichten anzeigt, die an die betroffene person auch tatsächlich gesendet worden sind.

    Gibt es denn bei diesem System Nachteile, wenn die Tabelle zu groß wird, also falls es mal viele user geben sollte?:-D

  • Nein du hast es nicht verstanden aber wir können dir das hier auch nicht beibringen, MYSQL / PHP Tutorials gibts genug , wir sind kein Tutorial


    mfg

  • Der Nachteil ist, dass diese Tabelle jedesmal den usernamen speichert, sowie HTML-codes für die Zeiten. Dadurch entehen unmengen an überflüssigen, gelichen texten. Das ist natürlich ungewollt. Das macht soweit keinen Stress solange das nicht maher als 10 Nachrichten am tag sind. Wenn du sowas aber auf facebook einsetzt, dann kannst du dir durch optimierung mal 2-3 MB /Tag sparen. die Dazugehörige Seite ist übrigens http://ccforum.bpaced.net/, kannst dich ja mal registreiren und alles testen.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Der Nachteil ist, dass diese Tabelle jedesmal den usernamen speichert, sowie HTML-codes für die Zeiten. Dadurch entehen unmengen an überflüssigen, gelichen texten. Das ist natürlich ungewollt. Das macht soweit keinen Stress solange das nicht maher als 10 Nachrichten am tag sind. Wenn du sowas aber auf facebook einsetzt, dann kannst du dir durch optimierung mal 2-3 MB /Tag sparen. die Dazugehörige Seite ist übrigens http://ccforum.bpaced.net/, kannst dich ja mal registreiren und alles testen.

    Nur 3 MB? ;) Hast du eine Ahnung und mehr als 10 Nachrichten macht da nix ;)

    Von Anfang an richtig machen egal welche Seite

  • Naja, nehmen wir mal an, alle Facebook member zusammen schreiben am tag 70k Nachrichten. Das Macht dann c.a. 61 Zeichen/Nachricht, die man sparen könnte.
    Ich habe also Folgendes PHP-Scripts ausgeführt:


    die Datei foo.txt war 4.07 MB Groß. Wobei 70k warscheinlich untertrieben ist.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!