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
Ankündigung
Einklappen
Keine Ankündigung bisher.
Daten mehrerer User einpflegen?
Einklappen
Neue Werbung 2019
Einklappen
X
-
Daten mehrerer User einpflegen?
Stichworte: -
-
Ein Gast antworteteRuhig 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.
-
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)
Einen Kommentar schreiben:
Einen Kommentar schreiben: