Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten mehrerer User einpflegen?

Einklappen

Neue Werbung 2019

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

  • Daten mehrerer User einpflegen?

    Hallo!

    Bin noch immer relativ frisch im Bereich der Web-Entwicklung.
    Nun ist es mir zwar möglich, Daten über PHP in eine MySQL-
    Datenbank zu Schreiben und diese ausgeben zu lassen,
    aber die folgende Frage stelle ich mir dennoch seit längerer Zeit.

    Wie erstellt man im Groben eine Datenbank,
    wenn man mehrere User verwalten möchte?

    Beispiel:
    Mehrere Nutzer haben Zugriff auf folgende Daten:
    "Gehalt, Einnahmen, Ausgaben, und so weiter..."

    Natürlich sollen die jeweiligen User nur ihre eigenen Daten einsehen können.
    Es ist somit schonmal nicht möglich, nur einen Datensatz zu erzeugen,
    da jeder User mehrere bis 100te Ausgaben haben kann.

    Stelle man es sich in etwa vor, wie eine Art Haushaltsbuch online.
    Möchte dies zwar jetzt nicht direkt umsetzen aber mich würde mal
    grob interessieren, wie man allgemein vorgehen kann/muss, um
    dieses Vorhaben zu realisieren.

    Wer kann mir dazu ggf. mal schreiben oder mir Websites dbzgl. empfehlen?

    Gruß, David


  • #2
    Der Begriff der "Normalisierung" sollte dir beim Durchdenken einer Datenbankstruktur stets im Hinterkopf liegen, denn darauf basiert im engeren Sinne jede sinnvolle Datenbankstruktur.
    • Da der Gehalt meist stetig ist, würde ich diesen Aspekt mit in die Benutzertabelle nehmen.
    • Da es mehrere Einnahmen und Ausgaben pro Benutzer gibt, sollte laut Normalisierung dafür je eine Tabelle mit Relation zur Benutzertabelle erstellt werden.
    • Wichtig ist nun jedoch auch, dass du Relationen zwischen den Tabellen erstellst, sodass alle verbundenen Tabelle gleich gehandhabt werden (Bei DELETE und UPDATE).


    Code:
    +---------------+------------+
    | Tables_in_php | Table_type |
    +---------------+------------+
    | ausgaben      | BASE TABLE |
    | benutzer      | BASE TABLE |
    | einnahmen     | BASE TABLE |
    +---------------+------------+
    3 rows in set (0.00 sec)
    Code:
    +--------+------------------+------+-----+---------+----------------+
    | Field  | Type             | Null | Key | Default | Extra          |
    +--------+------------------+------+-----+---------+----------------+
    | bID    | int(11)          | NO   | PRI | NULL    | auto_increment |
    | name   | varchar(80)      | NO   |     | NULL    |                |
    | gehalt | int(11) unsigned | NO   |     | NULL    |                |
    +--------+------------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    
    +----------+---------+------+-----+---------+----------------+
    | Field    | Type    | Null | Key | Default | Extra          |
    +----------+---------+------+-----+---------+----------------+
    | eID      | int(11) | NO   | PRI | NULL    | auto_increment |
    | bID      | int(11) | NO   | MUL | NULL    |                |
    | einnahme | int(11) | NO   |     | NULL    |                |
    +----------+---------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    
    +---------+---------+------+-----+---------+----------------+
    | Field   | Type    | Null | Key | Default | Extra          |
    +---------+---------+------+-----+---------+----------------+
    | aID     | int(11) | NO   | PRI | NULL    | auto_increment |
    | bID     | int(11) | NO   | MUL | NULL    |                |
    | ausgabe | int(11) | NO   |     | NULL    |                |
    +---------+---------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)

    Kommentar


    • #3
      Ruhig mit den jungen Pferden, wir wollen doch nicht B vor A machen, zumal ich glaube, dass er noch bestimmt keine grundlegenden Konzepte, wie ACID verinnerlicht hat.
      Meine Empfehlung: Grundlagensammlung für Anfänger. Ansonsten findest du Bücher, oder Tutorials im Netz haufenweise.

      Kommentar

      Lädt...
      X