Verständnisfrage zum Thema Datenbanken

Hallo an alle Profis!

Ich habe eine Verständnisfrage zum Thema Datenbanken.
Erstmal vorweg: ich bin in dem Punkt absoluter Anfänger und stelle mir eine Datenbank vor wie eine Excel-Tabelle. Deswegen fußt meine Frage eben auch auf diese Vorstellung.
Angenommen, ich würde in PHP eine Lernkartei programmieren wollen, die - sagen wir mal als Beispiel - von 5 Schülern genutzt wird.

Schüler A lernt damit Vokabeln.
Schüler B lernt damit Biologie
Schüler C lernt damit Matheformeln
Schüler D lernt damit Geschichtsdaten
Schüler E lernt damit Politik

Darum stelle ich mir jetzt vor

A = V V V V V
B = B B B B B
C = M M M M M
D = G G G G G
E = P P P P P

(oder von oben nach unten)
Das wäre für mich im Grunde genommen eine Datenbank.
Nun aber entschließt sich Schüler D, neben Geschichte auch - sagen wir mal - Literatur (Autor und Werk) zu lernen.
Kann er dann nur
D = G G G G G L L L L L
?
Oder ginge sogar ein:
A
B
C
D
E
D
?
Oder muss D dafür eine weitere Datenbank eröffnen?

Wäre lieb, wenn mir das jemand für Dummies wie mich erklären kann.

Lieben Gruß und danke im Voraus.
Michael Vogl

Moin, Michael,

stelle mir eine Datenbank vor wie eine Excel-Tabelle.

auch, aber nicht nur. Der Witz bei Datenbanken ist die Struktur: Nicht bloß „flat files“, sondern Beziehungen zwischen den einzelnen Tabellen.

Deine Idee, was die Schüler damit anstellen, ist keine Datenbank, sondern ein Sammelsurium von Tabellen, die lose nebeneinander stehen, deshalb lässt sich die Frage einfach nicht beantworten.

Such mal nach Relationen udn Beziehungen (leider sind mir gerade meine Lesezeichen entschwunden), dann kannst Du gezielt nachfragen.

Gruß Ralf

Hallo Michael und Ralf,

Such mal nach Relationen udn Beziehungen (leider sind mir
gerade meine Lesezeichen entschwunden)

da sich in meinen Lesezeichen was findet, bringe ich hier einfach mal einen Link
http://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:…
ohne zu beanspruchen, daß dies die ultimative Einführung ist.

Viele Grüße
Marvin

Hallo!

Ersteinmal vielen lieben Dank für die Antworten und den Link. Ich habe mir die Seite angeschaut, muss aber gestehen, dass ich nicht so wirklich durchgestiegen bin (jetzt wird man mich bestimmt wegen meiner unendlichen Dummheit schallend auslachen).
Ich werde mal schauen, ob ich evtl. in der Bücherei Material finde, welches so erklärt, dass ein Dummkopf wie ich das versteht.

Trotzdem Danke für Ihre Mühen.
LG
Michael Vogl

So einen Fall würde man in einer Datenbank so aufbauen:

Tabelle 1 enthält die Daten der Schüler
Tabelle 2 enthält die Fächer, die es gibt
Tabelle 3 enthält die Lerninhalte oder jedes Fach bekommt für die Lerninhalte eine eigene Tabelle

Jede Zeile enthält in jeder Tabelle enthält eine eindeutige Nummer oder Buchstaben, aber man nimmt eigentlich Zahlen. z.B.

ID Schüler

1 Klaus
2 Anna
3 Hansi

ID Fach

1 Geschichte
2 Englisch
3 Deutsch
4 Spanisch

ID Wert1 Wert2 FachID

1 yes ja 2
2 no nein 2
3 si ja 4

Die Daten dieser 3 Tabellen kann man anhand der Nummern beliebig verknüpfen. Man könnte in der Tabelle 1 jedem Schüler eine Fachnummer geben oder noch eine zusätzliche Tabelle machen, in der jeder Schüler mehrere Fächer haben kann:

SchülerID FachID
1 1
1 4
2 1
2 2

Wenn Du die Daten in den Tabellen so aufgebaut hast, dann kannst Du mit SQL alle Daten abfragen: Welcher Schüler hat welche Fächer belegt?
Der Schüler kann den Stoff oder nur ausgewählte Teile zu einem bestimmten Fach aufrufen. Man könnte noch eine Tabelle machen: was soll Schüler 1 heute lernen ? Also nur eine Auswahl aus dem gesamten Stoff.

Ich hoffe, dass es einigermassen verständlich ist.

Hallo -Vera-!

danke auch für Ihre Antwort, bei der ich leider sagen muss, dass ich auch diese nicht in meinen dummen Kopf reinbekomme :frowning:
Vielleicht verstehe ich es, wenn ich mich mit der Programmierung von Datenbanken beschäftigen werde, sozusagen learning by doing.

Dennoch danke für die Hilfe.

Lieben Gruß
Michael Vogl