Entwicklung eines Sprachübersetzers Englisch * Deutsch

Werbung
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Datenbanken
Inhalt
Datenbanken .............................................................................................................................. 1
Anleitung – Wie gehe ich mit einem Skript um? ....................................................... 3
Materialien ............................................................................................................................. 8
Mit oder ohne Skript weitermachen ...................................................................................... 9
Projekt Vokabeltrainer ............................................................................................................. 10
Modul 1 - Vorüberlegungen zum Projekt – erst Planen, dann loslegen .................................. 13
Modul 2 - Datenbanken ........................................................................................................... 15
Was ist eigentlich eine Datenbank? ..................................................................................... 15
Warum wird so viel Wind darum gemacht? ........................................................................ 15
SQL-Abfragen an die Datenbank .......................................................................................... 16
Modul 3 - Datenbank-Entwurf – ER-Modelle ........................................................................... 18
Modul 4 - Datenbanken – Datensätze einfügen, herausfiltern, ändern und erneut speichern
mittels der Abfragesprache SQL ............................................................................................... 21
Datensätze herausfiltern aus einer Tabelle ..................................................................... 21
Datensätze neu in eine bestehende Tabelle einfügen ..................................................... 22
Datensätze aus einer bestehenden Tabelle löschen ........................................................ 22
Bestehende Datensätze ändern ....................................................................................... 22
Modul 5 Normalisierung von Datenbanken ............................................................................. 25
Erste Normalform ................................................................................................................ 25
Zusatz Zweite Normalform .................................................................................................. 26
Modul 6 - Formulare erstellen – um Daten aufzunehmen ...................................................... 30
Modul 7 - Formulardaten mit PHP verarbeiten ....................................................................... 32
PHP ....................................................................................................................................... 32
Modul 8 SQL Befehle in PHP einbauen und dadurch auf eine Datenbank zugreifen über ein
Webformular ............................................................................................................................ 34
Modul 9 - Zusammenfassung Tipps zum Programmieren ....................................................... 38
Modul 10 - Datenbanken – Sicherheit der Daten im Internet ................................................. 39
A. Kück
Seite 1
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Ziele
1. Begreife, wie man eine dynamische Website erzeugen kann, in der man
a. Daten vom Benutzer aufnehmen kann
b. Daten , die vom Benutzer gespeichert und eventuell geändert wurden, wieder anzeigen kann.
2. Begreife, wie man Daten des Benutzers dauerhaft in einer Datenbank speichern
und aus ihr nach Belieben wieder abrufen (selektieren) kann.
Kompetenzen, die am Ende erreicht sein müssen
Fülle folgenden Fragebogen zu Beginn des Themas und am Ende einmal aus:
Kompetenzen, die du nun erreicht haben solltest
Ich kann eine Aufgabenstellung in eine Modellbeschreibung umformen
Ich kann eine Skizze zu einer Modellvorstellung anfertigen
Ich kenne grundlegende Begriffe zum Thema Datenbanken
1. Client/Server-Modell
2. Formular
3. Tabelle
4. Datensatz
5. Datenbank
6. Zusatz ER-Modelle
7. Zusatz erste und zweite Normalform einer Datenbank
8. Zusatz Primärschlüssel
9. Zusatz Attribut
Ich kann Formulare in HTML oder CSS herstellen, die:
1. Daten in Formularfeldern aufnehmen können
2. Daten per POST oder GET an den Datenbankserver schicken
Ich kann die aus einem Formular verschickten Daten vom Server aus dann
über PHP-Code in einer Datenbank speichern
Ich kann einzelne Datensätze oder auch mehrere aus einer Tabelle einer Datenbank per PHP-Code auslesen
Die aus einer Datenbank-Tabelle ausgelesenen Daten kann ich in einer
Webseite oder einem Formular anzeigen lassen.
A. Kück
+
0
-
Seite 2
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Anleitung – Wie gehe ich mit einem Skript um?

Im Folgenden wird genau beschrieben, wie du mit einem Skript arbeiten kannst und worauf du dabei achten musst. Du kannst dir dies zusätzlich – oder stattdessen – auch in
einem Video erklären lassen:
Schaue dir dazu auf www.youtube.com/alexkueck11 das Video mit dem Namen „Aufbau
eines Skriptes“ an.
Um dir das Thema „Datenbanken“ zu erarbeiten, kannst du grundsätzlich zwei verschiedene Wege gehen:








Weg A – Du bearbeitest eigenständig die Projektaufgabe. Dazu kannst du dir aus
den Materialien raussuchen, was du gebrauchen kannst oder dir auch ganz eigene erklärende Materialien suchen.
Weg B – Du gehst die einzelnen Module Schritt für Schritt durch und erarbeitest dir
so nach und nach die einzelnen Module (hier lernst du sozusagen Stück für Stück, wie
die Projektaufgabe gelöst werden kann. Die Projektaufgabe wurde daher auch in
„kleine Häppchen“ aufgeteilt und am Ende von jedem Modul wird ein Stück der Projektaufgabe gelöst).
Mit beiden Wegen kannst du die geforderten Kompetenzen erwerben. Wenn du schon
einiges über die funktionale Programmierung weist und gerne an etwas knobelst, kannst
du Weg A wählen. Behalte dabei aber immer auch im Auge, was du am Ende der Einheit
können musst.
Wenn du in diesem Bereich aber noch unsicher bist und das Thema lieber Schritt für
Schritt erklärt bekommen möchtest, um es zu begreifen, wähle zunächst lieber Weg B.
Auch hier löst du die Projektaufgabe, aber eben Schritt für Schritt und es wird dir vorgegeben, wie der Lösungsweg aussehen kann.
Wenn du einen der beiden Wege eingeschlagen hast, bedeutet das allerdings nicht, dass
du darauf festgelegt bist! Natürlich kannst du vom Projekt auch wieder auf die Module
umsteigen, zum Beispiel, wenn du bei einer Sache nicht weiterkommst. Ebenso kannst
du auch zur Projektaufgabe wechseln, wenn du nach ein paar Modulen merkst, dass du
jetzt schon gut im Thema drin bist, und versuchen möchtest, eigenständig weiter zu knobeln.
Lege dir eine Mappe an, in der du alle Lösungen und (Zwischen-) Ergebnisse zu den Aufgaben bzw. dem Projektvorhaben festhältst.
Wichtig: Du kannst deine Ergebnisse immer zwischendurch mit dem Lehrer abgleichen, um
zu sehen, ob du auf dem richtigen Weg bist.
Gerade wenn du an dem Projekt arbeitest (aber auch wenn du mit dem Skript eigenverantwortlich durch das Thema gehst), ist es wichtig, dass du festhältst, wie du vorgegangen bist.
Das tust du bitte in einem Blog oder einer Mappe. Dort hältst du fest, in welche Probleme du
gelaufen bist und wie du sie gelöst hast – und vor allem, was du dadurch gelernt hast.
A. Kück
Seite 3
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Wichtige Ergebnisse, Erkenntnisse, Merksätze oder Lösungsstrategien gehören hier ebenfalls hin. Am besten ist es, wenn du das in deinen eigenen Worten oder auch durch eine
Skizze ausdrücken kannst. Selbst wenn das dann nicht ganz richtig ist, ist es besser so, als
etwas Fertiges abzuschreiben. Der Lehrer kann so drauf schauen und dir helfen, wenn du
etwas noch nicht vollständig verstanden hast.
Problemlösestrategien stehen bei diesem Projekt im Vordergrund nicht die Inhalte!
Wenn du nicht genau weißt, was du aufschreiben sollst, lasse es dir vom Lehrer erläutern.
Vorgefertigte Bögen, wo du Hilfestellung zu den Inhalten bekommst, kannst du beim Lehrer
abholen.
Weg A – Bearbeitung der Projektaufgabe:
 Wie du die Projektaufgabe löst, bleibt dir und deiner Kreativität ganz allein überlassen. Du kannst selbst im Internet recherchieren und nachsehen, ob es dort Erklärungen oder Videos gibt, die dir weiterhelfen. Du kannst aber auch die in diesem Skript
angegebenen Materialien weiter hinten verwenden – denn sie passen zu der Projektaufgabe.
 Ein Anhaltspunkt, um dich mit dem Thema auseinanderzusetzen, sind die Begriffe,
die bei den zu erreichenden Kompetenzen am Anfang der Beschreibung angegeben
sind. Damit könntest du z.B. anfangen. Wenn du die Begriffe verstehst und was für
Ideen damit verknüpft sind, bist du meistens schon voll mit dem Thema beschäftigt.
Vielleicht hast du ja auch schon für dich einen Weg gefunden, wie du an neue Projekte herangehst, dann solltest du diesen Weg hier auch gehen.
 Wichtig ist unbedingt, dass du im Auge behältst, was du am Ende der Einheit können
musst. Die Projektaufgaben sind so formuliert, dass du am Ende alles, was gefordert
ist, auch kannst. Aber es gibt ja viele Lösungswege und vielleicht kannst du am Ende
das ein oder andere noch nicht so gut. Dann frage bitte nach zusätzlichen Übungsaufgaben zu dem jeweiligen Thema oder Begriff - bis du das Gefühl hast, es gut genug anwenden zu können.
Weg B – Bearbeitung der Module
 Gehe die Module Schritt für Schritt durch. Um die in jedem Modul angegebenen Aufgaben bearbeiten zu können, musst du vorher lernen, wie das geht. Nicht der Lehrer erklärt dir das, du entscheidest, auf welchem Weg du die Informationen haben möchtest
und musst sie dann selbst so für dich zusammenstellen, dass du die Aufgaben lösen
kannst. In der Regel kannst du wählen zwischen einem erklärenden Text, Webseiten,
auf denen du passende Informationen findest oder erklärenden Videos. Diese kannst
du dir so oft ansehen, wie du es brauchst und magst. Wenn du dennoch weitere Erklärungen benötigst, notiere dir deine Fragen und wende dich damit an deinen Lehrer oder
suche im Internet selbst nach weiteren erklärende Texten oder Videos. Der Lehrer ist
da, um dich in deinem Lernen zu unterstützen, aber du musst aktiv werden und nachfragen, wenn etwas unklar ist.
A. Kück
Seite 4
Kü /Info 10


Skript Datenbanken
SJ 2014/2015
Es ist wichtig, dass du alle neuen Begriffe, die du nicht kennst, klärst und richtig verstehst. Du musst sie in eigenen Worten beschreiben oder sie in einer Skizze darstellen
können.
Gehe bei jedem der Kapitel wie folgt vor:
1. Zu Beginn jedes Kapitels findest du Verweise auf Materialien, die dir helfen sollen,
das Thema zu verstehen, damit du später die dazugehörigen Aufgaben lösen
kannst. Das können zum Beispiel sein:
-
erklärende Videos,
-
Infotexte (parallel zu den Videos),
-
Seiten in einem Schulbuch und
-
Texte in Zeitschriften oder auch
-
Internetseiten
2. Eventuell brauchst du trotz der Materialien eine zusätzliche Erklärung, dann frage
beim Lehrer nach. Eventuell haben andere ja auch diese Frage, dann kannst du
auch einen kurzen Lehrvortag dazu bekommen oder ein zusätzliches erklärendes
Video.
3. Die Videos und Dateien, auf die in diesem Skript verwiesen werden, findest du
a. auf dem YouTube-Kanal: youtube.com/alexkueck11
Die Videos beginnen alle mit „Datenbanken-„
4. Falls du in den Materialien auf unbekannte Begriffe stößt, notiere diese. Das können auch einfache Worte sein. Versuche sie mithilfe der weiteren Materialien oder
durch eigene Recherchen zu klären.
5. Wenn du das Thema verstanden hast und alle darin enthaltenen Fachbegriffe in
deinen eigenen Worten oder mittels einer Skizze erklären kannst, gehst du weiter
zu den Aufgaben:
A. Kück
-
Die Aufgaben fordern dich auf, das Gelernte nun anzuwenden.
-
Gehe die Aufgabe, die im Skript angegeben sind der Reihe nach durch
(die Aufgaben sind logisch aufeinander aufgebaut, daher der Reihe nach
durchgehen).
-
Wenn du eine Aufgabe nicht bearbeiten kannst, gehe noch einmal über die
Materialien oder schaue dir das erklärende Video erneut an. Vielleicht hast
du einen neuen Begriff oder eine neue Idee noch nicht ganz verstanden –
dann hole das nun nach.
-
Wenn das nichts hilft, frage bei Mitschülern oder dem Lehrer nach. Lass
dir aber nicht die ganze Aufgabe lösen. Wichtig ist, dass du eigenständig
an einer Lösung arbeitest – auch wenn sie am Ende vielleicht nicht ganz
richtig ist.
-
Wenn du an deiner Lösung zweifelst, schaue in den Musterlösungen nach
(falls vorhanden) oder frage den Lehrer, ob er sich deine Ergebnisse auch
zwischendurch anschauen kann.
Seite 5
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Falls du bei einer Aufgabe doch noch Schwierigkeiten hast, schaue dir noch einmal die erklärenden Materialien an.
Wichtig ist, dass du selbst an den Lösungen arbeitest und nicht andere das mache lässt.
6. Wenn Aufgaben, die mit einem Zusatz gekennzeichnet sind, brauchst du nicht
bearbeiten. Diese Aufgaben sind schwieriger und gehen über das hinaus, was du
als Minimum erreichen musst, um das Skript erfolgreich abzuschließen. Für eine
abschließende Note im Einser- oder Zweier-Bereich solltest du aber zumindest einige dieser Zusatzaufgaben bearbeiten.
7. Es wird zwischendurch Tests geben, diese werden rechtzeitig angegeben. Auch
welche Kompetenzen in den Tests angefragt werden.
Wichtig:
Wichtig ist, dass du bei der Arbeit mit dem Skript selbst aktiv wirst und deinen eigenen Lernprozess überwachst:
 Liege ich noch gut in der Zeit?
 Habe ich alles verstanden/begriffen oderbrauche ich noch Hilfe oder zusätzliche Erklärungen?
 Wie kann ich Zusammenhänge besser verstehen/begreifen, die noch unklar sind?
 Wer kann mir bei der Bearbeitung der Aufgaben helfen?
Du musst selbst entscheiden, wo du dir weitere Informationen/hilfen holen möchtest und von
dir aus auf deinen Lehrer oder Mitschüler zugehen, um Fragen zu stellen, damit du die
Themen und Begriffe besser verstehst und am Ende die geforderten Zielkompetenzen erreichst!
Es wird am Ende eine Klausur geben, die du bestehst, wenn du alle Aufgaben bearbeitet
und verstanden/begriffen hast und die Kompetenzen erreicht hast.
A. Kück
Seite 6
Kü /Info 10
A. Kück
Skript Datenbanken
SJ 2014/2015
Seite 7
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Materialien
HTML und Formulare:
PHP:
Tutorial PHP und SQL:
dex.php?seite=videoreihen
http://de.selfhtml.org/
http://php.net/manual/de/index.php
http://lukas-scheible.de/Informatik2011/in-
Lösungen zum Skript:
Skript Datenbanken_Vokabeltrainer_Lsg.docx
Anfangsprojekt zu Formularen:
formular_Vokabeln_eingeben.html und
formular_verarbeiten_vokabeln.php
vokabel_trainer_schueler(1).sql
Beispieldatenbank
Videos:
Modul 2-4 und 8 Datenbanken und MySql
http://perm.ly/grundlagen-datenbanken-1
darauf aufbauend:
http://perm.ly/grundlagen-datenbanken-2
http://perm.ly/grundlagen-datenbanken-3
http://perm.ly/grundlagen-datenbanken-4-phpmyadmin
Modul 6 Formulare erstellen
PHP Lernen-Teil 3 - Formular auswerten: www.youtube.com/watch?v=S84kOojitPY
Modul 7 Formulare auswerten
PHP Lernen-Teil 3 - Formular auswerten: www.youtube.com/watch?v=S84kOojitPY
Variablen
„Variablen allgemein” (www.youtube.com/watch?v=WAPbONf7QJI) und
„Variablen und Parameter“ (www.youtube.com/watch?v=H-AiZLUI6mY)
„Informatik und die Welt derEimer“: http://youtu.be/rvBtG8090XU
„Arrays einfach“Programmverzweigungen
„Programm-Verzweigungen“: www.youtube.com/watch?v=I5O9XgnUh2M
Schleifen
Schleifen“ (www.youtube.com/watch?v=UlgG7bqtb6c)
Lokale Serversoftware
InternetXAMPP auf Youtube: http://youtu.be/xHiM5gnA1aY
A. Kück
Seite 8
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Mit oder ohne Skript weitermachen
Vorgehen:
Am Anfang des Skriptes wird dir eine Projektaufgabe gestellt.
1. du wechselst auf das Projekt in dem du nur diese Aufgabe bearbeiten musst (behalte
dabei im Auge, was du am Ende können musst - siehe "Datenbanken Kompetenzen")!
2. In diesem Skript wird das Projekt Stück für Stück erarbeitet und du bekommst detaillierte Erklärungen und einen Weg, wie du vorgehen muss, vorgegeben. Es gibt dir gezielt Hilfestellung mit erklärenden Texten und Videos, um die Projektaufgabe Stück für
Stück zu lösen.
Wenn du unsicher bist, welchen Weg du einschlagen sollst, komme zu mir und wir klären
das.
Wichtig: Du kannst deine Ergebnisse immer zwischendurch mit dem Lehrer abgleichen, um
zu sehen, ob du auf dem richtigen Weg bist, aber du musst in einem Blog oder einer Mappe
dokumentieren, in welche Probleme du gelaufen bist und wie du sie gelöst hast – und vor
allem, was du dadurch gelernt hast. Problemlösestrategien stehen bei diesem Projekt im
Vordergrund nicht die Inhalte!
A. Kück
Seite 9
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Projekt Vokabeltrainer
Häufig musst du in den Fremdsprachen Vokabeln lernen – das wollen wir nun etwas interessanter gestalten! Vor allem das nachhaltige Wiederholen ist bei Vokabeln wichtig – damit du
das nicht vergisst, wollen wir uns ein kleines Trainingsprogramm dafür schreiben.
Aber Vorsicht: Wer noch kann auf die Daten dann zugreifen? Wie sicher sind die Daten dort?
Anschließend solltest du dir ein paar Gedanken über die Sicherheit der Daten machen.
Projektaufgabe
Projektbeschreibung
Du wirst beauftragt einen elektronischen Vokabeltrainer zu entwickeln. Man soll die Möglichkeit haben neue Vokabeln und deren Übersetzung über eine Website „einzufüttern“
und dauerhaft zu speichern. Anschließend muss es auch die Möglichkeit geben, eine Art
„Vokabeltest“ durchzuführen – über eine andere Webseite werden Vokabeln abgefragt
und man muss deren Übersetzung eingeben – man bekommt dann als Rückmeldung angegeben, ob die Eingabe richtig oder falsch war. Das Projekt sollte also eine Art Auswahlmenü haben, in dem man wählen kann, ob man neue Vokabeln eingeben oder lieber einen Vokabeltest durchführen möchte.
Zusätzlich kann ebenfalls über ein Formular ein ausgewählter Datensatz angezeigt und
verändert werden können (wenn die Übersetzung z.B. geändert werden muss).
Ein Datensatz enthält folgende Daten:
1. Vokabel
2. Ausgangssprache
3. Übersetzung
4. Ziel-Sprache (in die übersetzt wird)
Aufgabe 1:
Stelle einige Vorüberlegungen zu dem Projekt an. Was soll erreicht werden? Welche Beziehungen bestehen zwischen Vokabeln, Übersetzungen und der Sprache. Stelle das graphisch dar. Überlege dir, wie du die Eingabe – Verarbeitung und Ausgabe der Daten gestalten willst.
Wichtig: Formuliere alles in eigenen Worten!!!!
Aufgabe 2:
Stelle Formulare zusammen, die die Vokabeln und die Übersetzungen aufnehmen und anschließend an einen Server verschicken können. Aufgenommen werden sollen:
1. Vokabel
2. Sprache der eingegebenen Vokabel
3. Übersetzung
4. Sprache der Übersetzung
5. Zusatz: ein Wort soll auch mehrere Übersetzungsmöglichkeiten haben können
Aufgabe 3:
Verarbeite die Formulardaten auf der Serverseite, indem du sie zunächst in Variablen speicherst und anschließend dauerhaft in einer Datenbank-Tabelle speicherst (zunächst über
XAMPP und PHP-MyAdmin auf dem eigenen Rechner simulieren).
A. Kück
Seite 10
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Zusatz Aufgabe 4:
Ändere deine Datenbankstruktur. Lege alle nötigen Tabellen in einer Datenbank an, um ein
anständiges Datenbankmodell abzubilden - es sollte in der 2ten Normalform vorliegen.
Dazu musst du die Tabelle Vokabeln teilen in Vokabeln, Übersetzungen und Sprachen.
Wenn Du eine Tabelle teilst, muss es zusätzlich eine Tabelle geben, die die beiden Teile in
Relation setzt (siehe ERM).
Du solltest also zumindest folgende Tabellen anlegen:
Vokabeln, Sprachen, Übersetzungen
Und dazu die passenden Relationstabellen
Vokabeln-Übersetzungen, Vokabeln-Sprachen und Übersetzungen-Sprachen
Es ist aber auch möglich, alle Vokabeln und Übersetzungen einfach als Wörter anzusehen,
die in einer gemeinsamen Tabelle stehen. Dazu braucht man dann aber eine Übersetzungstabelle, die die Wortpaare einander zuordnet. Man hätte dann 3 Tabellen:
Vokabeln,
Sprachen und
Übersetzungen (hier werden die Vokabeln der verschiedenen Sprachen zueinander in Beziehung gesetzt).
(die Lösung zu dem Abschlussprojekt orientiert sich an diesem Modell, da es eindeutiger ist
– es sind einfach alles Worte!)
Wähle jeweils einen passenden Primärschlüssel dazu. Zeichne das Projekt in einem dazu
passenden ERM.
Aufgabe 5:
Sorge nun dafür, dass Datensätze auch aus der Datenbanktabelle ausgelesen werden können und anschließend wieder in einem Formular angezeigt werden – um die Vokabeln auch
abfragen zu können. Die Vokabeln sollen dabei zufällig aus der Datenbanktabelle ausgewählt werden und dann angezeigt werden. Ein Formularfeld soll die Eingabe des Schülers
(den Übersetzungsvorschlag) aufnehmen und mit der richtigen Lösung vergleichen und
dann entsprechend Rückmeldung geben.
Erstelle ein Video dazu, in dem du deine Überlegungen und Implementierungen dazu erläuterst. Füge dies deinem Portfolio hinzu.
Zusatz: Zur Übersicht sollte es auch möglich sein, z.B. für eine Vokabel alle möglichen Übersetzungen einer Sprache anzeigen zu lassen.
Aufgabe 6:
Diskutiere die Vor- und Nachteile, persönliche Daten im Internet zu speichern. Wie sicher
sind die Daten? Wie kann man die Sicherheit vielleicht erhöhen?
Wichtig: Formuliere alles in eigenen Worten!!!!
Ein Anfangsprojekt dazu findest du hier:
formular_Vokabeln_eingeben.html und formular_verarbeiten_vokabeln.php
vokabel_trainer_schueler(1).sql
A. Kück
Seite 11
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Was musst du können am Ende des Projektes:
Fülle den Kompetenzbogen ganz am Anfang des Skriptes erneut aus. Wenn du meinst, etwas
noch nicht gut genug zu können, lasse dir weitere Aufgaben geben.
Kompetenzen, die du nun erreicht haben solltest
Ich kann eine Aufgabenstellung in eine Modellbeschreibung umformen
Ich kann eine Skizze zu einer Modellvorstellung anfertigen
Ich kenne grundlegende Begriffe zum Thema Datenbanken
3. Client/Server-Modell
4. Formular
10. Tabelle
11. Datensatz
12. Datenbank
13. Zusatz ER-Modelle
14. Zusatz erste und zweite Normalform einer Datenbank
15. Zusatz Primärschlüssel
16. Zusatz Attribut
Ich kann Formulare in HTML oder CSS herstellen, die:
3. Daten in Formularfeldern aufnehmen können
4. Daten per POST oder GET an den Datenbankserver schicken
Ich kann die aus einem Formular verschickten Daten vom Server aus dann
über PHP-Code in einer Datenbank speichern
Ich kann einzelne Datensätze oder auch mehrere aus einer Tabelle einer Datenbank per PHP-Code auslesen
Die aus einer Datenbank-Tabelle ausgelesenen Daten kann ich in einer
Webseite oder einem Formular anzeigen lassen.
A. Kück
+
0
-
Seite 12
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Skript - Vokabel-Trainer
In diesem Skript soll Schritt für Schritt ein kleiner Vokabeltrainer „gebastelt“ werden. Es soll
möglich ein, neue Vokabeln einzugeben – eventuell einer Sprache oder einem Thema zugeordnet – und anschließend soll man eine Abfrage starten können. Dazu wird immer eine beliebige Vokabel aus der Datenbank ausgewählt, diese wird dargestellt und man muss in einem Formularfeld eine Antwort geben können, die dann mit der richtigen Antwort verglichen wird (in der Datenbank).
So könnte das Ganze aussehen:
Datenbank
Abfrage-Webseite
Modul 1 - Vorüberlegungen zum Projekt – erst Planen, dann
loslegen
Bevor es losgeht mit dem Projekt, sollte man sich ein paar Gedanken machen und planen,
wie das endgültige Projekt denn nun aussehen soll.
Was genau ist die Aufgabe?
Was soll die Anwendung tun können?
In welche Schritte kann ich die Anforderungen gliedern, um das Projekt übersichtlicher zu
gestalten?
Wie kann ich mir die Anforderungen an das Projekt und die Zusammenhänge der Teilkomponenten möglichst anschaulich darstellen, um beim Entwurf den Überblick zu behalten?
 Erklärender Text:
o Text zu Skript Datenbanken -Modelle
Aufgabe
Stelle zu dem Vokabel-Projekt ebenfalls alle nötigen Vorüberlegungen und Skizzen auf.
Halte deine Beschreibungen schriftlich fest und gib sie zusammen mit der Skizze beim Lehrer ab.
Wichtig: Formuliere alles in eigenen Worten!!!!
Tipp: Es gibt den Ansatz: Vokabel - Übersetzung (oder auch mehrere Übersetzungen zulassen) oder man sieht beides einfach als Worte an, die später in Beziehung „übersetzt“
gebracht werden. Beide Konzepte sind hier okay.
A. Kück
Seite 13
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Was musst du können am Ende von Modul 1:
1. Eine Aufgabenstellung in eine Modellbeschreibung umformen können
2. Speziell den Verlauf von Eingaben-Verarbeitung-Ausgaben genau untersuchen können.
3. Eine Skizze zu einer gegebenen Aufgabenstellung anfertigen können, die die wichtigen Zusammenhänge Darstellung.
A. Kück
Seite 14
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 2 - Datenbanken
Zunächst mal solltest du verstehen, was eine Datenbank eigentlich ist – ein großes Wort, für
eine ganz natürlich, wichtige Sache in der Informatik: das Speichern von Informationen –
auch dann, wenn das laufende Programm beendet wurde!
Denn: eine Variable speichert Informationen nur solange das Programm läuft, zu dem sie gehört – was, wenn man die Informationen aber dauerhaft sichern möchte?????
Dann braucht man eine Datenbank!
Was ist eigentlich eine Datenbank?
 Video:
o http://perm.ly/grundlagen-datenbanken-1
darauf aufbauend:
o http://perm.ly/grundlagen-datenbanken-2
o http://perm.ly/grundlagen-datenbanken-3
o http://perm.ly/grundlagen-datenbanken-4-phpmyadmin
Eigentlich einfach eine Datei, oder eine Ansammlung von Dateien, in denen Daten gespeichert werden. Eine Datenbank könnte also im einfachsten Fall so aussehen:
Aufgabe 2.1.
1. Lege eine einfache Datenbank mit einer „Tabelle“ und 5 Datensätzen darin an- gerne in
Excel. Die Struktur darfst du dir selbst aussuchen.
2. Lege nun eine Tabelle an, in der du deine eventuell ausgedachte CD Sammlung auflisten
möchtest. Überlege dir, welche Spaltenüberschriften nötig sind und trage anschließend
ein paar Datensätze ein (ein Datensatz ist hier eine CD mit Titel, Interpret,… alle Spaltenüberschriften sollten nun mit Werten der einen CD gefüllt werden)
Warum wird so viel Wind darum gemacht?
 Text: Text zu Skript Datenbanken -MySqI
Nun lege eine Datenbank mit der Web-Oberfläche PHPMyAdmin an
Aufgabe 2.2.
1. Lege das Vokabel-Projekt mit Hilfe der PHP-My-Admin-Oberfläche in MySQL an.
Lege erst einmal folgende einfache Tabellen-Struktur an:
A. Kück
Seite 15
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Gib jeweils schon mal mindestens 4 passende Datensätze ein.
2. Überlege dir, welche Probleme auftauchen können, wenn es mehr als eine Übersetzung gibt – wie könntest du das lösen? Bitte schriftlich festhalten und beim Lehrerabgeben. Du kannst die Spaltenüberschriften gern ändern oder weitere Tabellen anlegen.
3. Zusatz: Wenn du weitere Übung brauchst, so lege auch dein CD Projekt oder sogar
folgendes Auto-Projekt als Tabellen in MySQL an.
SQL-Abfragen an die Datenbank
 Video: http://perm.ly/grundlagen-datenbanken-2
Der zweite schwierigere Teil sind die Abfragen. Wie bekomme ich Daten aus den Tabellen
wieder heraus? Am Anfang, wenn kaum Datensätze in den Tabellen sind kein Problem, aber
was, wenn dort hunderte von Datensätzen enthalten sind? Wenn man dann alle Schüler mit
dem Namen Müller raussuchen möchte und jeden einzelnen Datensatz durchgehen muss, ist
das schon ganz mühsam. Wäre doch viel schöner, wenn ich der Datenbank sagen kann „gib
mir mal alle Datensätze mit „Müller“ als Nachname aus der Tabelle „Schüler“. Und genauso
geht das auch. Dazu gibt es für die Datenbank eine eigene Abfragesprache, die bestimmte
Datensätze nach den Vorgaben des Benutzers wieder heraussucht (bei uns SQL – Structured
Query Language).
Bsp.:
Zu folgender Tabelle könnte folgende Abfrage gemacht werden:
SELECT Uebersetzungen FROM Uebersicht WHERE Vokabel = “bauen”
Die Antwort wäre dann??? Vielleicht verstehst du das ja sogar ohne Erklärung?
Kann man fast schon so verstehen, auch wenn es eine spezielle Syntax ist, so ist es doch
recht intuitiv zu verstehen – das solltest du also schnell lernen können!
A. Kück
Seite 16
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Aufgabe 2.3.
Video:
http://perm.ly/grundlagen-datenbanken-1
http://perm.ly/grundlagen-datenbanken-2
a)Beschreibe in eigenen Worten, was folgende SQL-Abfragen bedeuten:
1. SELECT * FROM Uebersicht WHERE Vokabel = “Tisch”
2. INSERT INTO Uebersicht (Vokabel, Uebersetzung) VALUES („Tisch”, “table”)
3. DELETE FROM uebersicht WHERE Vokabel=”Tisch”
4. UPDATE Uebersicht SET Uebersetzung = “tablet“ WHERE Vokabel= „Tisch“
b)Bestimme zu den Tabellen, die du in Aufgabe 2.2 angelegt hast, jeweils mindestens eine
Abfrage nach den Beispielen 1-4. Stelle so viele Abfragen, bis du mit der Syntax einigermaßen vertraut bist.
Was musst du können am Ende von Modul 2:
1. Eine Aufgabenstellung in eine Modellbeschreibung umformen können
2. Speziell den Verlauf von Eingaben-Verarbeitung-Ausgaben genau untersuchen können.
3. Eine Skizze zu einer gegebenen Aufgabenstellung anfertigen können, die die wichtigen Zusammenhänge Darstellung.
4. Verstehen, was eine Datenbank ist und wozu man sie gebrauchen kann.
5. Den grundlegenden Aufbau einer Datenbank kennen.
6. Verstehen, wozu man eine Datenbankabfragesprache braucht – hier SQL .
7. Einfache Abfragen an eine Datenbank formulieren können.
A. Kück
Seite 17
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 3 - Datenbank-Entwurf – ER-Modelle
Bevor man jedoch anfängt eine größere Datenbank einfach so Tabellenweise anzulegen und
dann die Datensätze auf die Tabellen verteilt, macht man sich einen Plan, eine Skizze sozusagen, wie die Daten in den Tabellen zusammenhängen. Um eine professionelle Skizze zu machen, zeichnet man ein sogenanntes ER Modell.
Machen wir das mal für ein kleines Schulprojekt.
 Erklärender Text:
o Text zu Skript Datenbanken -ERM
Aufgabe 3.1
1. Kläre was entity, relation und was model genau bedeutet und schreibe es in eigenen Worten auf. Gib das beim Lehrer ab.
2. Überlege dir, welche Entitäten und Relationen bei unserem Vokabel-Projekt beteiligt sind.
3. Stelle ein ERM für das Vokabel-Projekt auf und gib es ebenfalls beim Lehrer zur
Durchsicht kurz ab.
4. Wenn du es bisher noch nicht getan hast, überlege dir, wie man die Sprachen im
Vokabelprojekt mit einbeziehen könnte. Halte deine Überlegungen mit in der
Skizze fest (im ER-Modell).
5. Erstelle ein Video dazu, in dem du deine Überlegungen und Modelle dazu erläuterst. Füge dies deinem Portfolio hinzu.
6. Zusatz: Stelle ein ERM auf, für eine Noten-Datenbank. Lehrer sollen darin ihre Noten für alle Schüler klassenweise speichern können. Also Lehrer Fritz sollte seine
Noten in seinen zwei Fächern für seine Schüler der Klassen, die er unterrichtet eintragen können.
Nach dieser Skizze soll nun die Datenbankstruktur erstellt werden.
Schauen wir uns zunächst die konkreten Tabellen dazu an. Die Datenbank wird anschließend
genau entsprechend dieser Tabellen angelegt. Jede Tabelle (eine eigene Datei in der Datenbank) entspricht einer Entität und jede Spalte der Tabelle entspricht einer Spalte in der Datenbank – also einem Teil eines Datensatzes. Verglichen mit dem ERM entspricht jedes Attribut einer Entität, einer Spalte in der Tabelle. Auch die Relationen selbst werden jeweils in einer eigenen Tabelle dargestellt – wobei die Spalten dieser Relationstabelle mindestens jeweils die beiden Attribute enthalten muss (als eigene Spalten), die die beiden Entitäts-Tabellen verknüpfen.
A. Kück
Seite 18
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Tabellen dazu
Das ERM kann man direkt in Tabellen umsetzen.
Betrachten wir dazu das Schüler-Lehrer-Klassen-Projekt, in dem Schüler (Vorname, Nachname, Geburtstag), Lehrer (Vorname, Nachname) und Klassen (Name) betrachtet werden. Es
soll abgebildet werden, welche Schüler und welche Lehrer Teil einer Klasse sind.
Zu dem Schüler-Lehrer-Klassen-Projekt sieht eine mögliche Tabelle folgendermaßen aus:
Aber auch die Relationen zwischen den Entitäten müssen in einer Tabelle abgebildet werden, da sie ja gerade die Beziehungen zwischen ihnen festhalten sollen. Jede Entität für sich
allein betrachtet ist ja langweilig, erst das Zusammenspiel zwischen den Entitäten macht das
Ganze interessant.
Eine solche Tabelle könnte folgendermaßen aussehen:
Aufgabe 3.2.
1. Schaue dir die Tabellen zu dem gegebenen ERM genau an. Beschreibe in eigenen
Worten, wie genau man ein ERM systematisch in eine Tabellenstruktur umsetzt.
2. Jeder Datensatz muss identifiziert werden. Überlege dir, ob es sinnvoll ist, das über
den Nachnamen zu tun oder ob man das auch durch etwas anderes ersetzen
könnte.
3. Wende das auf das gesamte Klassen-Projekt an und stelle alle nötigen Tabellen zu
dem Projekt mit den Klassen auf. Tue dies zunächst der Einfachheit halber in Excel.
4. Gib deinen Entwurf beim Lehrer ab, bevor du weitermachst.
5. Wende das Gelernte nun auf das Vokabel-Projekt an und halte das ebenfalls
schriftlich fest.
6. Beschreibe, was neu ist bei dem Vokabel-Projekt und wie sich das auf die Tabellenstruktur auswirkt.
A. Kück
Seite 19
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Was musst du können am Ende von Modul 3:
1. Eine Aufgabenstellung in eine Modellbeschreibung umformen können
2. Speziell den Verlauf von Eingaben-Verarbeitung-Ausgaben genau untersuchen können.
3. Eine Skizze zu einer gegebenen Aufgabenstellung anfertigen können, die die wichtigen Zusammenhänge Darstellung.
4. Verstehen, was eine Datenbank ist und wozu man sie gebrauchen kann.
5. Den grundlegenden Aufbau einer Datenbank kennen.
6. Verstehen, wozu man eine Datenbankabfragesprache braucht – hier SQL .
7. Einfache Abfragen an eine Datenbank formulieren können.
8. Wissen, wie man eine Datenbank in einer Tabelle (zunächst unter Excel z.B.) abbilden
kann.
9. Wissen, dass ein Attribut eines Datensatzes einer Spalte einer Tabelle entspricht.
10. Wissen, was ein ERM ist. Auch folgende Begriffe müssen verstanden sein:
a. Entität
b. Attribut
c. Relation
11. Einfache SQL-Abfragen generieren können und diese in PHP einbinden können zum :
a. Herausfiltern
b. Einfügen
c. Löschen
d. Ändern
von Datensätzen.
A. Kück
Seite 20
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 4 - Datenbanken – Datensätze einfügen, herausfiltern, ändern und erneut speichern mittels der Abfragesprache SQL
 Video:
o http://perm.ly/grundlagen-datenbanken-1
darauf aufbauend:
o http://perm.ly/grundlagen-datenbanken-2
o http://perm.ly/grundlagen-datenbanken-3
o “PHP Lernen-Teil 10 - Datenbanken erstellen und benutzen I“: http://www.youtube.com/watch?v=aaS8djf_Xg0
o „PHP Lernen-Teil 11 - Datenbanken erstellen und benutzen II“: http://www.youtube.com/watch?v=S27nvBFDvNk
Du hast dich in Aufgabe 2.3. schon einmal kurz mit der Abfragesprache SQL auseinandergesetzt. Das tun wir hier nun etwas genauer. Eine bestehende Datenbankstruktur sollte es im
Wesentlichen zulassen, dass man Datensätze herausfiltern kann, neue Datensätze eintragen
kann, Datensätze wieder löschen kann oder auch bestehende Datensätze ändern kann. Wie
das mit der Abfragesprache SQL geht, wollen wir uns genau anschauen.
In PHPMyAdmin in der Menüleiste oben „SQL“ auswählen, dann werden schon verschiedene
SQL-Abfragen angeboten. Wähle zunächst „SELECT“
Folgendes Projekt sei dir gegeben: vokabel_trainer_schueler
… oder du verwendest eine eigene Tabellenstruktur, auf die du die folgenden Abfragen generieren kannst.
Datensätze herausfiltern aus einer Tabelle
Der grundlegende Befehl lautet: SELECT.
Aus einer bestimmten Tabelle soll ein oder auch mehrere Attribute (oder alle eines Datensatzes (wird dann mit *gekennzeichnet, anstatt die Attribute einzeln mit Kommata getrennt
aufzuführen) herausgefiltert werden und zwar nur dort, wo ein oder mehrere Bedingungen
erfüllt sind (WHERE…). Das heißt in SQL:
SELECT Vokabel, Uebersetzung FROM uebersicht WHERE Vokabel =`Tisch‘
Aufgabe 4.1.
1. Generiere zum Vokabel-Projekt 3 passende SELECT Abfragen und jeweils passend
dazu, welche Datensätze daraufhin herausgefiltert würden.
2. Zusatz Generiere zu den CD- Tabellen 3 passende SELECT Abfragen und jeweils passend dazu, welche Datensätze daraufhin herausgefiltert würden.
3. Zusatz Generiere zu den Auto-Tabellen 3 passende SELECT Abfragen und jeweils
passend dazu, welche Datensätze daraufhin herausgefiltert würden.
A. Kück
Seite 21
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Datensätze neu in eine bestehende Tabelle einfügen
Der grundlegende Befehl lautet: INSERT.
In eine bestimmte Tabelle soll ein neuer Datensatz eingefügt werden (bzw. nur bestimmte
Attribute des neuen Datensatzes werden mit konkreten Werten belegt. Das heißt in SQL:
INSERT INTO uebersicht (Vokabel, Uebersetzung) VALUES („Tisch“, “table“)
Aufgabe 4.2.
1. Generiere zum Vokabel-Projekt 3 passende INSERT Abfragen und jeweils passend
dazu, welche Datensätze daraufhin erzeugt würden.
2. Zusatz Generiere zu den CD- Tabellen 3 passende INSERT Abfragen und jeweils passend dazu, welche Datensätze daraufhin erzeugt würden.
3. Zusatz Generiere zu den Auto-Tabellen 3 passende INSERT Abfragen und jeweils
passend dazu, welche Datensätze daraufhin erzeugt würden.
Datensätze aus einer bestehenden Tabelle löschen
Der grundlegende Befehl lautet: DELETE.
Aus einer bestimmten Tabelle sollen Datensätze gelöscht werden. Und zwar alle die, auf die
eine Bedingung zutrifft (WHERE…)
Das heißt in SQL:
DELETE FROM uebersicht WHERE Vokabel = "Tisch"
Aufgabe 4.3.
1. Generiere zum Vokabel-Projekt 3 passende DELETE Abfragen und jeweils passend
dazu, welche Datensätze daraufhin gelöscht würden.
2. Zusatz Generiere zu den CD- Tabellen 3 passende DELETE Abfragen und jeweils
passend dazu, welche Datensätze daraufhin gelöscht würden.
3. Zusatz Generiere zu den Auto-Tabellen 3 passende DELETE Abfragen und jeweils
passend dazu, welche Datensätze daraufhin gelöscht würden.
Bestehende Datensätze ändern
Der grundlegende Befehl lautet: UPDATE.
In einer bestimmten Tabelle sollen Datensätze geändert werden. Und zwar alle die, auf die
eine Bedingung zutrifft (WHERE…), das was geändert werden soll, steht unter SET.
Das heißt in SQL:
UPDATE uebersicht SET Uebersetzung = "tables" WHERE Vokabel = „Tisch"
Aufgabe 4.4.
1. Generiere zum Vokabel-Projekt 3 passende UPDATE Abfragen und jeweils passend
dazu, welche Datensätze daraufhin geändert würden und in welchem Umfang.
2. Zusatz Generiere zu den CD- Tabellen 3 passende UPDATE Abfragen und jeweils
passend dazu, welche Datensätze daraufhin geändert würden und in welchem Umfang.
3. Zusatz Generiere zu den Auto-Tabellen 3 passende UPDATE Abfragen und jeweils
passend dazu, welche Datensätze daraufhin geändert würden und in welchem Umfang.
A. Kück
Seite 22
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Zusatz INNER JOIN
Manchmal muss man Abfragen an die Datenbank über mehrere Tabellen hinweg stellen.
Dazu gibt es das Grundelement: JOIN.
Auf Grund der Normalisierung von Tabellen werden diese oft auf mehrere aufgeteilt. Daher
befinden sich die zugehörigen Daten dann in verschiedenen Tabellen. Mittels JOIN werden
die Datensätze sozusagen in einer virtuellen Tabelle wieder zusammengefügt – wenn die
Ausgangs-Tabellen wenigstens ein Attribut (Datenfeld) gemeinsam haben.
Aus mehreren Tabellen sollen Datensätze herausgefiltert werden, die Abfrage wird bezogen
auf bestimmte Attribute dieser Tabellen, welche in Beziehung zueinander stehen müssen getan.
INNER JOIN liefert sozusagen die Schnittmenge aus beiden Grundmengen der beiden (oder
auch mehrere) verbundenen Tabellen.
Das heißt in SQL:
Angenommen es gibt in dem Vokabel-Projekt die Tabellen (ein Datensatz wurde in verschiedene Tabellen aufgeteilt, um die 2te NF zu erfüllen):
…und man möchte nun alle englischen Übersetzungen von Vokabel „Junge“ haben, dann
muss man die Daten aus der Tabelle Vokabel, Sprachen und Uebersetzung wieder zusammensetzen:
SELECT Uebersetzung_id FROM uebersetzung INNER JOIN uebersicht ON uebersicht.ID = uebersetzung.Vokabel_id WHERE uebersicht.Vokabel = „Junge“
Die Anweisung liefert aber nur die ids, der Übersetzten Worte, um daraus wieder echte
Worte zu machen, muss folgende Anweisung angewendet werden:
SELECT Vokabel FROM uebersicht WHERE uebersicht.id = Uebersetzung_id
Zusatz: Es gibt auch noch LEFTJOIN, RIGHTJOIN und FULLJOIN. Informiere dich, was das für einen
Unterschied in der Verknüpfung ausmacht und formuliere das in eigenen Worten schriftlich.
Gib ebenfalls Beispiele dazu an.
A. Kück
Seite 23
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Zusatz Aufgabe 4.5.
1. Generiere zum Vokabel-Projekt 3 passende JOIN Abfragen und jeweils passend
dazu, welche Datensätze daraufhin herausgefiltert würden und in welchem Umfang.
2. Generiere zu den CD- Tabellen 3 passende JOIN Abfragen und jeweils passend
dazu, welche Datensätze daraufhin herausgefiltert würden und in welchem Umfang.
3. Generiere zu den Auto-Tabellen 3 passende JOIN Abfragen und jeweils passend
dazu, welche Datensätze daraufhin herausgefiltert würden und in welchem Umfang.
Zusatz Aufgabe 4.6.
1. In dem MySql-Vokabel-Projekt hast du bereits 4 Datensätze eingegeben. Generiere
nun in SQL folgende Abfragen und beobachte, was sich bei den Datensätzen verändert:
a) Filtere einen einzelnen Datensatz aus einer Tabelle heraus.
b) Filtere so, dass mehrere Datensätze auf die gegebene Bedingung
passen (aus einer Tabelle).
c) Füge über SQL einen neuen Datensatz in eine Tabelle ein.
d) Ändere einen einzelnen Datensatz in mindestens zwei Attributen in
einer Tabelle.
e) Lösche einen einzelnen Datensatz aus einer der Tabellen.
Was musst du können am Ende von Modul 4:
1. Eine Aufgabenstellung in eine Modellbeschreibung umformen können
2. Speziell den Verlauf von Eingaben-Verarbeitung-Ausgaben genau untersuchen können.
3. Eine Skizze zu einer gegebenen Aufgabenstellung anfertigen können, die die wichtigen Zusammenhänge Darstellung.
4. Verstehen, was eine Datenbank ist und wozu man sie gebrauchen kann.
5. Den grundlegenden Aufbau einer Datenbank kennen.
6. Verstehen, wozu man eine Datenbankabfragesprache braucht – hier SQL .
7. Einfache Abfragen an eine Datenbank formulieren können.
8. Wissen, wie man eine Datenbank in einer Tabelle (zunächst unter Excel z.B.) abbilden
kann.
9. Wissen, dass ein Attribut eines Datensatzes einer Spalte einer Tabelle entspricht.
10. Wissen, was ein ERM ist. Auch folgende Begriffe müssen verstanden sein:
a. Entität
b. Attribut
c. Relation
11. Beliebige SQL-Abfragen generieren können und diese in PHP einbinden können zum :
a. Herausfiltern
b. Einfügen
c. Löschen
d. Ändern
von Datensätzen.
A. Kück
Seite 24
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 5 Normalisierung von Datenbanken
 Video:
o „Datenbank Normalisierung“: http://www.youtube.com/watch?v=ktZW7BzqvE
Bisher hast du die Tabellen einfach irgendwie zusammengestellt mit den Daten, die du für
sinnvoll gehalten hast. Nun geht es darum, deinen Entwurf besser zu strukturieren, so dass
du später einfach Veränderungen bzw. Erweiterungen vornehmen kannst und das Suchen,
Einfügen, Löschen und Ändern in den Datensätzen auch funktioniert.
Erste Normalform
 Erklärender Text: Text zu Skript Datenbanken -Normalisierungen (Teil 1)
Bei der ersten Normalform geht es zunächst darum, die Datensätze alle eindeutig zu unterscheiden – z.B. über eine fortlaufende Nummer. Das ist nötig, da z.B. Namen und Nachnamen ja auch mal identisch sein können, man aber trotzdem zwei verschiedene reale Personen damit darstellen möchte – ich muss die zu den Personen gehörenden Datensätze also
unterscheiden können, z.B. mit einer eindeutigen Nummer – diese nenne ich dann Primärschlüssel.
Aufgabe 5.1.
1. Bringe folgende Tabellen in die erste Normalform
2. Erläutere in eigenen Worten, warum die Tabellen so vorteilhafter sind.
Aufgabe 5.2.
1. Schaue auch im Internet nochmal genau nach, was ein Primärschlüssel ist und was
eine ID ist und beschreibe das anschließend schriftlich in eigenen Worten.
A. Kück
Seite 25
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
2. Gib drei Beispiele von Tabellen an und benenne dazu jeweils einen sinnvollen Primärschlüssel (wähle dabei mindestens einen Primärschlüssel, der aus zwei oder
mehr Attributen besteht).
Zusatz Zweite Normalform
 Erklärender Text: Text zu Skript Datenbanken -Normalisierungen (Teil 2)
Man versucht die Datensätze weiter zu strukturieren, so dass spätere Änderungen in der
Struktur der Datenbank möglichst einfach bleiben.
Um diese zweite Normalform zu verstehen, löse zunächst die folgende Aufgabe:
Zusatz-Aufgabe 5.3.
Gegeben sei folgende Tabelle. Der Primärschlüssel besteht aus zwei Spalten: ID und LiedNummer:
1. Überlege dir, ob der Primärschlüssel so korrekt gewählt wurde.
2. Angenommen der Titel der Chris Brown CD wurde falsch eingegeben und muss geändert werden auf „This is up now!“ Was hast du zu tun? Warum ist das zu aufwendig (gerade, wenn du dir vorstellst, dass in der Tabelle 100 Titel oder mehr eingetragen sind) und wie könnte man das ändern (d.h. wie kann man die Tabellenstruktur ändern, damit die Änderungen bei solchen Dingen übersichtlicher werden)?
3. Was könnte es bedeuten, wenn man sagt, dass „Titel-CD“ funktional nur abhängt
von der ID (wenn dich das Wort funktional stört, lass es einfach weg: was bedeutet
die Abhängigkeit?)? Wie könnte man daher die Tabelle sinnvoll in zwei oder auch
mehr Teile aufteilen, so dass jeder Primärschlüssel nur genau einmal auftaucht
(was wichtig für die Konsistenz der Daten ist)? Was würde sich dadurch ändern?
Welche Vorteile/Nachteile entstehen dadurch? Was könnte man tun, um die beiden Tabellen inhaltlich wieder zu verknüpfen?
Tipp: welche Entitäten stecken in der einen Tabelle? Zeichne zur Hilfestellung ein
ERM hierzu!
4. Betrachte folgendes Tabellensystem. Was ist anders als vorher? Benenne Vor- und
Nachteile.
A. Kück
Seite 26
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
5. Was bedeutet es nun, wenn gesagt wird, dass „Titel-CD“ von der ID funktional abhängig ist?
6. Wie könnte man die erste Tabelle nochmal sinnvoll unterteilen und warum?
Schaue dir dazu auch folgende Ergänzung der Tabelle mit zusätzlichen Datensätzen
an:
Wenn du das neue Tabellensystem aufstellst, denke bitte auch daran, dass du jedes Mal, wenn du eine Tabelle auf zwei unterteilst, anschließend dazu auch eine
Verknüpfungstabelle aufstellen musst, damit man weiß, wie die Teile zusammenhängen (dies entspricht jeweils einer „Relationstabelle im ERM“. Sieh dir dazu auch
die 3 Tabellen an, die entstanden sind, als die CD-Tabelle auf zwei aufgeteilt
wurde.
7. Zeichne ein ERM zu der nun entstandenen Tabellenstruktur.
Beachte, dass jede Entität einer Tabelle entspricht und auch jede Relation!
Zusatz-Aufgabe 5.4.
1. Erkläre in eigenen Worten und mit einem eigenen Beispiel (bzw. einem Gegenbeispiel), was die zweite Normalform ist. Gehe dabei speziell auf den Begriff „funktionale Abhängigkeit“ ein und erläutere diesen ausführlich anhand eines Beispiels.
2. Bringe folgende Tabellen in die zweite Normalform. Lege dazu auch einen sinnvollen Primärschlüssel fest, bzw. füge dazu zusätzliche Spalten ein:
A. Kück
Seite 27
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Tipp: Es sollten in den neu entstehenden Tabellen alle Attribute natürlich atomar sein und
jeder Primärschlüssel darf nur einmal vorkommen. Am einfachsten ist es für alles eine ID
als Primärschlüssel einzuführen. Zur Übung ist es aber sinnvoll mal zu überlegen, ob es bei
der ein oder anderen Tabelle auch eine andere Möglichkeit gibt. Probiere gern auch mal
zwei oder mehr Attribute als Primärschlüssel aus.
3. Zeichne zu dem jeweils neuen Tabellensystem in der zweiten Normalform ein passendes ERM.
4. Überprüfe, ob unser Vokabel-Projekt in der 2ten Normalform vorliegt. Wenn nicht
bringe es in die zweite Normalform und zeichne ein passendes ERM dazu.
5. Erstelle ein Video dazu, in dem du deine Überlegungen und Modelle dazu erläuterst. Füge dies deinem Portfolio hinzu.
6. Zusatz: Es gibt wie gesagt noch 3 weitere Normalformen. Schaue dir an, welche das
sind und wie sich das auf die Tabellen auswirkt.
Gute Erklärungen hierzu: http://www.sql-und-xml.de/sql-tutorial/datenbank-grundbegriffe.html
Was musst du können am Ende von Modul 5:
1. Eine Aufgabenstellung in eine Modellbeschreibung umformen können
2. Speziell den Verlauf von Eingaben-Verarbeitung-Ausgaben genau untersuchen können.
3. Eine Skizze zu einer gegebenen Aufgabenstellung anfertigen können, die die wichtigen Zusammenhänge Darstellung.
4. Verstehen, was eine Datenbank ist und wozu man sie gebrauchen kann.
5. Den grundlegenden Aufbau einer Datenbank kennen.
6. Verstehen, wozu man eine Datenbankabfragesprache braucht – hier SQL .
7. Einfache Abfragen an eine Datenbank formulieren können.
8. Wissen, wie man eine Datenbank in einer Tabelle (zunächst unter Excel z.B.) abbilden
kann.
9. Wissen, dass ein Attribut eines Datensatzes einer Spalte einer Tabelle entspricht.
10. Wissen, was ein ERM ist. Auch folgende Begriffe müssen verstanden sein:
a. Entität
b. Attribut
A. Kück
Seite 28
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
c. Relation
11. Beliebige SQL-Abfragen generieren können und diese in PHP einbinden können zum :
a. Herausfiltern
b. Einfügen
c. Löschen
d. Ändern
von Datensätzen.
12. Wissen, was die erste Normalform ist und warum man eine Datenbank dahingehend
umformt.
13. Wissen, was ein Primärschlüssel ist und wie man ihn bei Datenbanken sinnvoll einsetzt und warum er verwendet wird.
A. Kück
Seite 29
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 6 - Formulare erstellen – um Daten aufzunehmen
 Videos:
o Formular auswerten: www.youtube.com/watch?v=S84kOojitPY
Bis jetzt hast du gelernt, wie man eine Datenbank mit PHPMyAdmin erstellt und dort auch
Datensätze eingibt, löscht, ändert, heraussucht. Das jedes Mal per Hand zu tun ist allerdings
zu aufwendig. So richtig effektiv wird eine Datenbank, wenn man auf die Daten von überall
zugreifen kann – z.B. über das Internet.
Das geht im Prinzip über eine Website, die die SQL-Anfrage an die Datenbank schickt und die
Antwort der Datenbank dann in einer weiteren Website darstellt.
Einfaches Beispiel: „google.de“
Ein wenig hast du bzgl. Websiteerstellung ja schon gelernt. Nun gilt es, dies ein wenig zu erweitern. Ein paar neue Tags die zu deiner Sammlung hinzukommen, um Formulare darstellen
zu können.
Wichtig ist auch, dass du verstehst, was mit den Daten passiert, die in ein Formular eingegeben wurden, nachdem der „Button“ gedrückt wurde. Wie du in der folgenden Aufgabe sehen wirst, gibt es zu Beginn des Formulars eine Angabe, an welche Datei die Daten anschließend geschickt werden sollen. Diese Datei befindet sich aber auf dem Server, wo auch die
Website herkommt und in der Regel nicht auf deinem Rechner, wo die Seite angezeigt wird –
es sei denn du probierst es mit einer Website und einem Formular, die auf deinem eigenen
Rechner gespeichert sind – zu Testzwecken also.
Aufgabe 6.1
1. Schaue dir die Website formular_taschenrechner.html genau an und schreibe alle
Tags raus, die etwas mit Formularen zu tun haben (oder auch die, die du nicht
kennst).
Mindestens aber:
<form action="formular_verarbeiten.php" method="post">";
<input type="text" name="zahl1" value="" size = 10>
<input type="submit" name = "button" />
2. Stelle Überlegungen an, was die Tags für eine Bedeutung haben und füge das deinen Notizen hinzu. Wenn du Probleme hast, schaue dir das Video, welches oben
angegeben ist, dazu an, schaue bei „SelfHTML“ nach oder Frage Mitschüler oder
deinen Lehrer. Wichtig ist, dass du die Bedeutung genau verstehst. Wenn du unsicher bist, gib deine Ausarbeitungen beim Lehrer zur Durchsicht ab.
Wichtig: Formuliere alles in eigenen Worten!!!!
3. Beschreibe speziell den Unterschied zwischen POST und GET. Gib Vor- und Nachteile dazu an.
4. Fertige eine Skizze dazu an, welchen Weg die Daten nehmen, die von einem Benutzer eingegeben wurden, nachdem der „Button“ gedrückt wurde.
A. Kück
Seite 30
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
5. Lege nun ein eigenes Formular an, um alle nötigen Daten für das Vokabel-Projekt
aufnehmen zu können. Schaue dir dazu die Projektbeschreibung an, um zu sehen,
welche Daten ein Datensatz enthalten muss.
6. Zusatz: Gestalte das Formular so, dass es hübsch und übersichtlich anzusehen ist.
Was musst du können am Ende von Modul 6:
1. Ein Formular zusammenstellen können, um Daten aus einer Website aufnehmen zu
können.
2. Den Unterschied zwischen POST und GET begriffen haben.
3. Begriffen haben, welchen Weg die Daten nehmen, die in ein Formular vom Benutzer
eingegeben werden.
A. Kück
Seite 31
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 7 - Formulardaten mit PHP verarbeiten
 Video:
o PHP Lernen-Teil 3 - Formular auswerten: www.youtube.com/watch?v=S84kOojitPY
Nachdem die Daten aus dem Formular nun an eine neue Datei (formular_verarbeiten_vokabeln.php) geschickt wurden, müssen sie verarbeitet werden.
Wie du an der Endung schon erkennst, handelt es sich nicht mehr nur um eine HTML Seite,
hier kommt nun PHP ins Spiel.
PHP
Um Formulare auswerten zu können, musst du ein paar wichtige, grundlegende Datenstrukturen in PHP kennen.
Hier findest du dazu ein paar Informationen, die dir diese Dinge näher bringen sollen:
 Videos:
o PHP Lernen-Teil 1 - Einführung-Informatik2011.mp4
o „Variablen allgemein”: www.youtube.com/watch?v=WAPbONf7QJI
o „Variablen und Parameter“: www.youtube.com/watch?v=H-AiZLUI6mY
o „Informatik und die Welt der Eimer: “http://youtu.be/rvBtG8090XU
 Erklärender Text:
o Text zu Skript Datenbanken -Einschub PHP
Weitere Datenstrukturen in PHP
 Videos:
o www.youtube.de/alexkueck11 „Arrays einfach“
o „Schleifen“: www.youtube.com/watch?v=UlgG7bqtb6c
o „Programm-Verzweigungen“: www.youtube.com/watch?v=I5O9XgnUh2M
o #9 - GET und POST Variablen in PHP - PHP Tutorial Deutsch Ge.mp4
o PHP-Tutorial_ GET- und POST-Variablen.mp4
o PHP Lernen-Teil 8 - GET Variante.mp4
Später kommen wir noch dazu, wie man Daten in eine Datenbank schreibt, bzw. aus ihr herausliest (selektiert)
Aufgabe 7.1.
1. Ändere im Formular formular_Vokabeln_eingeben.html das Attribut „POST“ auf
das Attribut „GET“ und beobachte die Statusleiste des Browsers, nachdem du den
Button gedrückt hast.
2. Schaue dir die Datei formular_verarbeiten_vokabeln.php genau an. Halte zu jedem
neuen Symbol genau fest, was es bedeutet – in eigenen Worten!!!
Beispiel:
<?php
A. Kück
Seite 32
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
?>
$vokabel
echo
…Vokabel: " . $vokabel . " </td>
Wenn du es dir nicht selbst erschließen kannst, schaue dir das Video an, schaue im
Internet nach (http://php.net/manual/de/index.php ist eine gute Seite), frage Mitschüler oder den Lehrer.
3. Erweitere die Datei formular_verarbeiten_vokabeln.php so, dass alle Formulardaten des vorhergehenden Formulars in entsprechenden Variablen übernommen
werden und anschließend zu Kontrolle nochmal auf dem Bildschirm angezeigt werden.
4. Schreibe eine eigene php-Seite, in der du die Formulardaten aus dem Taschenrechner übernimmst (formular_taschenrechner.html), das passende Ergebnis berechnest und anschließend die Eingaben und das Ergebnis auf einer Website ausgibst.
5. Zusatz: Man kann in Formular-Feldern auch unsinnige Daten oder sogar zerstörerische Daten eingeben. Daher ist es sinnvoll, die Daten genauer zu untersuchen, bevor man sie in die Datenbank schreibt. Informiere dich, welche Möglichkeiten es
gibt, Formulare sicherer zu gestalten und probiere ein paar einfache Möglichkeiten
mal aus.
Was musst du können am Ende von Mmodul 7:
1. Ein Formular zusammenstellen können, um Daten aus einer Website aufnehmen zu
können.
2. Den Unterschied zwischen POST und GET begriffen haben.
3. Begriffen haben, welchen Weg die Daten nehmen, die in ein Formular vom Benutzer
eingegeben werden.
4. Verstehen, wie die Daten aus einem Formular verarbeitet werden.
5. Einfach PHP Befehle verstehen und anwenden können
a. $_POST – Variablen
b. Code PHP und HTML mixen können
c. PHP Code in Webseiten ausgeben („echo“)
d. Array-Variablen kennen und verstehen, wie man sie bildet.
6. Daten, die von einem Formular geschickt wurden aufnehmen können, etwas damit
tun können und sie anschließend erneut in einer Website ausgeben können.
A. Kück
Seite 33
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 8 SQL Befehle in PHP einbauen und dadurch auf eine
Datenbank zugreifen über ein Webformular
Bevor man über PHP mit einer MYSQL Datenbank kommunizieren kann, muss man den Zugriff zu ihr eröffnen (weil es ja wie gesagt auch gleichzeitige Zugriffe geben könnte, muss
man sich sozusagen bei der Datenbank zum Schreiben in die Datenbank oder zum Lesen von
Daten aus der Datenbank anmelden).
In dem Anfangsprojekt wird das an einer Stelle bereits gemacht. Versuche doch nun mal, ob
du es jetzt schon verstehen kannst, was dort passiert:
Aufgabe 8.1.
Video:
http://perm.ly/grundlagen-datenbanken-1
darauf aufbauend:
http://perm.ly/grundlagen-datenbanken-2
http://perm.ly/grundlagen-datenbanken-3)
1. Schaue dir in dem neuen Formular formular_verarbeiten_vokabeln.php den unteren Teil an und versuche alle neuen PHP Befehle zu interpretieren.
Beschreibe in eigenen Worten, was in jeder Zeile des unteren Teils passiert.
2. Zusatz: Anstatt die Daten der DB direkt in die oberste Zeile einzutragen, arbeitet
man gern mit Variablen – spart Zeit, wenn mal was geändert werden muss:
//Pfad und Name des Servers, der die DB verwaltet, bei uns localhost auf dem eigenen Rechner
$db_host = "localhost";
//Name desjenigen, der sich einloggt - muss bei der DB als okay registriert sein - aus
//Sicherheitsgründen hier als "root" einloggen, um alle Zugriffe auf die DB zu haben
$db_login = "root”;
//Passwort desjenigen, der sich einloggt - muss bei der DB als okay registriert sein – aus
//Sicherheitsgründen
$db_password = "banane01";
//ein Server kann verschiedenen DB-Projekte verwalten, jedes Projekt hat einen eigenen
// Namen und ein eigenes Verzeichnis
$db_database = "vokabel_trainer";
Ändere die Zeile in dem Formular formular_verarbeiten_vokabeln.php entsprechend ab, so dass du nun mit den Variablen arbeiten kannst.
3. Die DB Anfrage zum Herausfiltern von Daten sieht folgendermaßen aus:
Siehe: Datenbankzugriffe.php Abschnitt „Daten herausfiltern“.
Beschreibe in eigenen Worten, was jede einzelne Zeile genau macht. Bei Fragen,
melde dich beim Lehrer.
4. Die DB Anfrage zum Ändern von Daten sieht folgendermaßen aus:
Siehe: Datenbankzugriffe.php Abschnitt „Daten ändern“.
Beschreibe in eigenen Worten, was jede einzelne Zeile genau macht. Bei Fragen,
melde dich beim Lehrer.
5. Die DB Anfrage zum Löschen von Daten sieht folgendermaßen aus:
Siehe: Datenbankzugriffe.php Abschnitt „Daten löschen“.
Beschreibe in eigenen Worten, was jede einzelne Zeile genau macht. Bei Fragen,
melde dich beim Lehrer.
A. Kück
Seite 34
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
In der Datei formular_verarbeiten_vokabeln.php werden neue Daten entsprechend der Eingaben aus dem Formular in die Datenbank eingetragen.
Das waren aber noch nicht viele, bisher wurde nur in eine Tabelle eingetragen. Du hattest
das Formular aber schon erweitert, so dass es mehr Informationen aufnehmen kann. Diese
sollen nun in den richtigen Tabellen, die du in der MySQL Datenbank angelegt hast auch gespeichert werden.
Aufgabe 8.2.
Erweitere die Datei formular_verarbeiten_vokabeln.php so, dass alle Daten aus dem erweiterten Eingabe-Formular in der Datenbank in der jeweils richtigen Tabelle korrekt gespeichert werden.
In der einfachsten Form besteht dein Projekt ja nur aus einer Tabelle „Uebersicht“ und zu
jeder Vokabel wird dort eine Übersetzung abgespeichert.
Erstelle ein Video dazu, in dem du deine Überlegungen und Implementierungen dazu erläuterst. Füge dies deinem Portfolio hinzu.
Tipp, wenn du mit Tabellen in der ersten Normalform arbeitest: Zuerst die Vokabeln
(auch die Übersetzungen werden einfach als Vokabeln behandelt) in der Tabelle uebersicht
speichern. Dann kann man sich über einen SELECT die ids der gerade eingefügten Datensätze holen, um dann in der Tabelle uebersetzung die passenden Relationen einzutragen.
Nun wollen wir das anders herum machen. Man gibt über ein Formular eine Vokabel ein und
bekommt, wenn die Vokabel in der Datenbank vorhanden ist, das Vokabel-Übersetzungspaar, welches in der Tabelle Uebersicht gespeichert wurde, ausgegeben.
Wenn du bisher mit den Zusatzaufgaben gearbeitet hast, solltest du im Formular folgende
Abfrage zulassen:
Nun wollen wir das anders herum machen. Es soll zufällig eine Vokabel aus der Tabelle uebersetzungen ausgewählt werden. Diese wird dann in einem Formular angezeigt. Dazu soll der
Benutzer in ein Formular die Übersetzung eingeben können. Daraufhin soll die Eingabe des
Benutzers mit dem richtigen Eintrag in der Tabelle uebersetzung abgeglichen werden und in
einer neuen HTML Seite soll eine entsprechende Rückmeldung gegeben werden.
Aufgabe 8.3.
1. Lege ein Formular „vokabel_auswaehlen.html“ an, in dem man eine Vokabel eintragen kann. Lege dann eine neue Datei „formular_abfragen_vokabeln.php“ an,
die zu der eingegebenen Vokabel aus der Tabelle Uebersicht die passende Übersetzung auswählt. Anschließend sollen beide als Ergebnis im Browser ausgegeben
werden.
Folgende Probleme tauchen auf:
a) Eine Vokabel hat mehrere Übersetzungen
b) Eine Vokabel kann mit der gleichen Übersetzung beliebig oft eingegeben
werden.
Versuche beides zu lösen….
2. Zusatz: So wie in 1. Ist das noch nicht wirklich ein Vokabeltest. Lege daher eine
neue Datei „formular_abfragen_vokabeln.php“ an, die zufällig eine Vokabel aus
der Tabelle uebersetzungen auswählt und diese in der Tabelle auf der Seite anzeigt.
A. Kück
Seite 35
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Zusätzlich soll es ein Formularfeld zur Eingabe der passenden Übersetzung geben.
Die Eingabe wird dann in einer weiteren Seite „formular_auswerten_vokabeln.php“ mit der Übersetzung , die aus der Tabelle herausgesucht wurde, verglichen und eine entsprechend Meldung wird als Antwort in einem weiteren Formular ausgegeben.
Tipps:
1. Zufallszahlen mit PHP einfach über die Methode mt_rand(0,100); bestimmen,
z.B. $zufall =mt_rand(50,100); wählt eine Zufallszahl zw. 50 und 100 und weist
sie der Variablen $zufall zu.
Zuvor muss der Zufallsgenerator gestartet werden, damit er nicht immer
wieder die gleichen Werte liefert: mt_srand ((double) microtime*1000000);
2. Um zu bestimmen, wie viele Datensätze in einer Tabelle (hier Tabelle uebersicht) sind, verwende folgende Befehle:
$ergebnis = $mysqli->query("SELECT id FROM uebersicht");
$anzahl_ds = mysqli_num_rows($ergebnis);
Aber die ids sind nicht immer von 0 bis $anzahl_ds durchnummeriert, daher
die zufällige id bestimmen über:
$i = 0;
while($zeile = $ergebnis->fetch_object() AND $i < $zufall){
$id = $zeile->id;
$i++;
}
Falls du ein wenig mehr Hilfestellung brauchst, hier ein paar Formulare zum Anfang:
formular_abfragen_vokabeln.php
formular_auswerten_vokabeln.php
Zusatz: Es können auch mehrere richtige Übersetzungen zugelassen werden. Überlege dir,
wie du sicherstellen kannst, dass mit allen möglichen Übersetzungen abgeglichen wurde.
Man könnte auch noch die Sprachen einbeziehen oder bestimmte Kategorien einfügen zu
den Vokabeln und dann nur bestimmte Kategorien abprüfen.
Man könnte auch ein zusätzliches Attribut „falsch“ einfügen, welches solange auf false
bleibt, bis die Vokabel korrekt wieder gegeben wurde – oder einen Zähler, der falsche Antworten zählt und je größer der Zähler oder wenn das Attribut auf false ist, nur dann wird es
bei der Abfrage weiterhin angezeigt.
So kann man den Vokabeltrainer noch weiter verbessern. Vielleicht fallen dir selbst ja auch
noch Verbesserungen ein – die du dann auch umsetzen solltest.
Jetzt kann man also neue Daten in die Tabellen einfügen und auch Daten aus den Tabellen
herausfiltern. Fehlt noch das Ändern von Datensätzen und das Löschen von Datensätzen.
Aufgabe 8.4.
Zusatz:
Lege weitere Formulare an, um Datensätze zu ändern oder zu löschen, die Eingaben sollen
dann natürlich auch auf die Datenbank einwirken und die Ergebnisse der Änderung sollen
anschließend in einer Tabelle dargestellt werden.
A. Kück
Seite 36
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Es wäre auch schön, eine gemeinsame Menüstruktur zu haben, so dass man wählen kann,
ob man Datensätze eingeben, ändern oder löschen möchte oder ob man den VokabelTrainer starten will.
Was musst du können am Ende von Modul 8:
1. Ein Formular zusammenstellen können, um Daten aus einer Website aufnehmen zu
können.
2. Den Unterschied zwischen POST und GET begriffen haben.
3. Begriffen haben, welchen Weg die Daten nehmen, die in ein Formular vom Benutzer
eingegeben werden.
4. Verstehen, wie die Daten aus einem Formular verarbeitet werden.
5. Einfach PHP Befehle verstehen und anwenden können
a. $_POST – Variablen
b. Code PHP und HTML mixen können
c. PHP Code in Webseiten ausgeben („echo“)
d. Array-Variablen kennen und verstehen, wie man sie bildet.
6. Daten, die von einem Formular geschickt wurden aufnehmen können, etwas damit
tun können und sie anschließend erneut in einer Website ausgeben können.
7. Wissen, was eine Datenbank eigentlich ist.
8. MySql und PHP-MyAdmin als Datenbank bzw. Oberfläche zur Datenbankverwaltung
verwenden können.
9. Formulare zum Filtern, Einfügen, Ändern und Löschen erzeugen können, die Abfragen entsprechend an die Datenbank weiterleiten können und die Änderungen anschließend in einem HTML Formular anzeigen können.
A. Kück
Seite 37
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 9 - Zusammenfassung Tipps zum Programmieren
Regel 1 Nicht einfach dumm drauf los „coden“
Mache dir immer erst ein paar Gedanken und Skizzen, was dein Programm tun und können
soll und bringe die einzelnen Teile in Beziehung. Bei Datenbanken stelle unbedingt zuerst ein
ERM auf.
Regel 2 Kommentiere deinen Code
Programmcode muss kommentiert sein. Es kann immer mal sein, dass du ihn später erweitern
willst oder jemand anders das tun möchte, dann sollte man nicht endlos Zeit damit verbringen
müssen, deinen Code zu verstehen und warum welche Zähler was tut etc.
Regel 3 Vergib sinnvolle Namen
Ähnlich wie das Kommentieren macht das deinen Code wesentlich lesbarer und leichter verständlich.
Regel 4 Lernen durch Nachvollziehen und Verstehen
Du musst das Rad nicht immer wieder neu erfinden – es ist völlig okay, sich Teile aus anderen
Programmen zu kopieren – aber eben nur Teile und auch nur dann, wenn du verstanden hast,
was du da kopierst und es sinnvoll und mit Verstehen in deinen Code einbauen kannst.
Regel 5 Rückversichern und Testen
Bevor du ein Programm fertig stellst, musst du es unbedingt testen – und rechen immer mit
einem dummen User, der unmögliche Eingaben macht. Es gibt sogar Entwurfsmodelle, bei
denen man zu jedem kleinen Code-Stück sofort einen Test entwickelt und den Code dagegen
testet.
Regel 6 Weiter lernen
Hier im Skript ist nur ein Anfang gegeben, es gibt eine Menge mehr zu PHP, SQL und Datenbanken allgemein zu lernen und man kann tolle Projekte damit machen. Probiere es doch einfach mal aus – traue dich auch mal allein an neue Sachen ran.
Aufgabe 8.1.
Schaue dein Projekt durch und vergleiche, ob du alle wesentlichen Regeln beachtet hast.
Wenn nicht, passe dein Programm entsprechend an.
A. Kück
Seite 38
Kü /Info 10
Skript Datenbanken
SJ 2014/2015
Modul 10 - Datenbanken – Sicherheit der Daten im Internet
Aufgabe 9.1.
Diskutiere die Vor- und Nachteile, persönliche Daten im Internet zu speichern. Wie sicher
sind die Daten? Wie kann man die Sicherheit vielleicht erhöhen?
Wie werden die Daten an die Datenbank übertragen? Kann man Daten, die an die Datenbank übertragen werden verschlüsseln?
Wichtig: Formuliere alles in eigenen Worten!!!!
A. Kück
Seite 39
Herunterladen