Mehrere Tabellen + CSV import

Brew

Grünschnabel
Hey Leute!
Ich habe die Woche eine Projektarbeit und hätte da vielleicht die eine oder andere Frage.
Grundsätzlich will ich natürlich nicht, dass ihr die Arbeit für mich macht^^
Also, das Projekt sieht so aus, dass man ein Websystem für die Notenausgabe machen soll.
In dem System sollen sich Schüler, Lehrer, sowie Admin anmelden können.
Einloggen hab ich mittels Sessions schon fertig.
Schüler sollen die eigenen Noten ausgegeben bekommen, Lehrer sollen Schüler oder ganze Klassen benoten.

Also wo ich genau die Frage habe ist:
Es gibt 3 Tabellen Benutzerdaten, Benutzerzugang, Beurteilungsdaten
Benutzerdaten: ID, Vorname, Nachname, Klasse
Benutzerzugang: ID, Username, Passwort, Berechtigung
Beurteilungsdaten: ID, Gegenstand, Einzelnote, Notenstand


Wie soll ich die Tabellen miteinander Verknüpfen, dass ich mich einloggen kann und dann die eigene Benotung ausgeben kann?
Die allgeläufigen Sachen mit Primary Key, etc verwirren mich ebenfalls.
Da ich schon ewig kein MySQL mehr gesehen hab, bin ich ziemlich hilflos.
Als Admin soll ich noch zusätzlich ein CSV File importieren um erstmalig Benutzerdaten einfacher zu erstellen. Das Hochladen der CSV Datei funktioniert bereits, soll ich für das Auslesen fgetcsv() verwenden?
 
Hi und willkommen,

ich verstehe nicht so ganz warum du zwei verschiedene Tabellen machst (Benutzerdaten u. Benutzerzugang). Denn die IDs sind ja die selben, oder? Warum machst du nicht einfach nur

Benutzerdaten : ID, Vorname, Nachname, Klasse, Username, Passwort, Berechtigung

und fehlt bei Beurteilungsdaten nicht noch eine Spalte für die User ID?

Ich würde überall einen INDEX= PRIMARY mit AUTO_INCREMENT geben, ist glaube ich das sinnvollste.

Zum Thema CSV: Ich hab noch nie eine CSV datei eingelesen, hab da also keine Ahnung, aber fgetcsv() scheint die richtige Lösung zu sein. Vielleicht hilft das noch:http://www.tutorials.de/php/269057-csv-datei-einlesen.html
 
Ja, in ner gemeinsamen Tabelle wärs besser, hatte ich wohl einen Denkfehler.
Bei Beurteilungsdaten ist doch bereits eine Spalte für ID...meinst du damit dass ich zusätzlich noch eine andere ID benötige?

Also alle IDs auf Primary Key und Auto Increment.?
Danke!
 
Naja, ich denke bei Beurteilungsdaten sollte eine UserID drinne seinen, warum ist klar, und eine normale ID, um eine Beurteilung identifizieren zu können und zusätzlich die Performance zu erhöhen, also ungefähr so:

Beurteilungsdaten: ID, Gegenstand, Einzelnote, Notenstand, Nutzerid

ja, auf ausschließlich IDs Primary Key und Auto Increment, also nicht auf Nutzerid
 
Zurück