Kü / Info Skript Datenbanken – MySql Sj. 2013/2014 Warum sind Datenbanken ein so großes Thema in der Informatik? 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 Das, was es komplex macht, sind die Zusammenhänge zwischen den Daten in den Dateien bzw. den Tabellen und auch wie man die Daten sicher speichern kann. Stell dir vor, es geht um die Konten aller Bankkunden einer Bank (die werden auch in Datenbanken gespeichert!!), da sollte möglichst keine Überweisung, kein eingezahlter Betrag etc. verloren gehen! Da es sich bei Datenbanken oft um Dateien handelt, die zentral gelagert werden und auf die man von mehreren Stellen gleichzeitig zugreifen kann, können Probleme entstehen. Was z.B. wenn der Bankangestellte eine Überweisung bei dem Datensatz eines Kunden eingibt und der Direktor der Bank gleichzeitig eine andere Eintragung vornimmt? Wie kann man sicherstellen, dass keine der beiden Einträge bzw. Änderungen verloren gehen??? Das macht das Datenbankmanagement-System DBMS (bei uns MySql) für uns, denn dass stellt die Datenbank an sich zur Verfügung (also die Tabellen und sorgt dafür, dass die Daten dort sicher gespeichert sind). Es gibt verschiedene Kategorien von DBMS: - hierarchische - relationale - objektorientierte Am meisten verbreiten sind die relationalen DBMS – zu welchen auch MySQL gehört. Es heißt relational, da die Daten in verschiedenen Tabellen gehalten werden, die über bestimmte Schlüssel (Attribute, Spalten mit einem konkreten Namen) logisch (als Relation) verbunden sind. D.h. ein langer Datensatz wird in der Regel nicht in eine lange Tabelle gepackt sondern auf verschiedene kleinere Tabellen verteilt. Die aber logisch miteinander verbunden sind, so dass man über konkrete Abfragen (SQL) den Datensatz auch wieder zusammensetzen kann. Dies wird getan, um Redundanz zu vermeiden – aber dazu später mehr. MySQL Datenbanken Mit Excel war das ja recht einfach, die Tabellen aufzustellen, bei MySQL ist das etwas komplexer. Die Tabellen lassen sich zwar recht einfach über eine Web-Oberfläche genannt „PhpMyAdmin“ anlegen, aber man muss dazu einen Server starten – Wieso? MySQL ist eine typische Client-Server-Anwendung. Die PHP-MyAdmin Oberfläche ist die Clientseite, mit deren Hilfe man Tabelle anlegen und ändern kann. Auch Datensätze kann Kü / Info Skript Datenbanken – MySql Sj. 2013/2014 man hier direkt eingeben. Die eigentliche Datenbank MySQL ist eine Serveranwendung und läuft in der Regel auf einem Server im Internet. So könntest du dir das vorstellen: Da wir hier nicht für jeden einen solchen Server im Internet zur Verfügung stellen können, simulieren wir den Internetserver auf dem jeweils eigenen Rechner. Das macht das Programm XAMPP für uns. XAMPP ist eine Server-Software, die man einfach auf dem eigenen Rechner laufen lassen kann und die dann so tut, als ob sie ein Server ist an die z.B. PHP-MyAdmin die Daten schicken kann, die man im Browser eingegeben hat. Nur darf man im Browser nun keine Internetadresse mehr eingeben, denn man geht ja gar nicht mehr wirklich ins Internet. Man regelt das sozusagen intern. Daher gibt man folgendes in die URL – Zeile im Browser ein: localhost/phpMyadmin/index.php. Das sieht dann in etwa so aus: Kü / Info Skript Datenbanken – MySql Sj. 2013/2014