Step 08 - MySQL / MariaDB

 

Eine Datenbank - Was ist das?

Eine Datenbank ist - einfach ausgedrückt - eine Art Schnittstelle, die Daten speichert, mehr oder weniger eigenständig verwaltet und Zugriffe auf diese Daten regelt.
Spezielle Schutzmechanismen in der Datenbank sorgen für die Datensicherheit (=Sicherheit vor Datenverlust) und eine Nutzerverwaltung sorgt für den Datenschutz(=Schutz vor unberechtigtem Zugriff). Sie sind konzipiert um sehr große Datenmengen zu managen, auf welche sehr vielen Personen gleichzeitig Zugriff haben können (Begriff: Paralleler Zugriff). Mit Datenbanken kann langfristig sichergestellt werden, dass die Daten sicher gespeichert sind (und nicht verloren gehen). Es können eine Vielzahl von Programmiersprachen verwendet werden um auf die Daten der Datenbank zuzugreifen. Um letztenendes schnell Daten in der Datenbank direkt zu manipulieren oder abzurufen verwendet man in der Regel SQL (Struktured Query Language), welche von Datenbank-Hersteller zu Datenbank-Hersteller einen unterschiedlichen Dialekt haben kann. Auch die Datenbank-Version kann Einschränkungen oder neue Befehle mit sich bringen.
Soweit die Ersten Fakten zu Datenbanken. Aber nun erst mal noch ...

Etwas aus meiner Vergangenheit:

In der 9. Klasse hat mich eine Bekannte mal gefragt, ob ich nicht das ganze Karteisystem der Schulbücherei digitalisieren könnte. Sie haben gerade einen Computer bekommen, aber kein anständiges Programm, um die Bücher und Besitzer korrekt zu verwalten. Hätte ich damals das Wissen über die Mächtigkeit der echten Datenbanken und von SQL gehabt hätte, wäre mir sicher sehr viel Extraarbeit erspart geblieben. Aber ich konnte ja Delphi und wusste, wie man selbst typisierte Dateien erstellt, in einem Array nach Daten sucht, und so war für mich die Sache schon genug geregelt.
Ich machte mir also darüber Gedanken, was das Programm alles können sollte:
Es soll...
  • ...eine Liste aller Bücher (Autor, Buchtitel, Freigegeben ab Klasse, Leihstatus...) beinhalten
  • ...eine Liste aller Schüler, die etwas ausgeliehen haben, beinhalten.
  • ...zeigen, welche Bücher heute zurückgegeben werden müssen.
  • ...durch Passwort und Benutzername gesichert sein.
Wenn man viele Informationen zu einer Sache (in meinem Fall, einem Buch) darstellen möchte, dann empfiehlt sich meistens ein einfaches TStringGrid - eine Tabelle. Damit alle Funktionen übersichtlich dargestellt werden, habe ich auch noch ein Hauptmenü verwendet:
 
 
Und hier noch der Anmeldebildschirm - oder Besser: die Anmelde-Konsole!
 
 
 
Um hier erstmal abzuschließen: Ein Programm zu entwickeln ist ein Ständiger Prozesss. Es gibt immer wieder etwas anzupassen, oder etwas hinzuzufügen, oder Zeiten ändern sich und man muss es an das Neue System anpassen... Genauso war es hier. Am Anfang musste man z.B. noch Benutzername und Passwort eingeben, aber dann haben die Mädels mir gesagt, dass sie sich untereinanger genug vertrauen, sodass man hier Zeit sparen kann, indem man sich nur noch durch den Namen identifizieren muss. Das ist zwar gegen jede Datenschutzbestimmung, da somit wirklich jeder Zugriff darauf hatte, aber wie man es so sagt: früher war alles einfacher.
 

Und nun Action: Download und erste Schritte von Maria DB

Um das hier einfach zu halten und ein gutes Beispiel auch voran zu bringen, werden wir ein "Programmpaket" namens XAMPP herunterladen, das uns nicht nur die Installation spielend einfach erledigen lässt, sondern auch für die Entwicklungsbelange genügen kann.
Achtung: Später, falls wir tatsächlich damit "in die Welt" gehen möchten, benötigt es viel tiefere Verständnisse von Datenbank-Management-Systemen (DMS) wie Maria DB oder MySQL sie darstellen, weshalb ich hier ausdrücklich darauf hinweisen möchte, dass ich weder auf die IT-Sicherheitsrelevanten Themen noch die Datenschutzrechtlichen Themen hier eingehen werde - Was z.B. SQLInjections sind und was man dagegen tun kann, darf an anderer Stelle recherchiert werden.
 

 
Dieser Part gehört zu den 20 %, die nicht vor "GO LIVE" der Responsive-Site angepasst wurde.
Um hier aber dennoch weitere Inhalte anbieten zu können, verlinke ich den "historischen" Part des MySQL-Inhalts - selbstverständlich ohne Gewähr, dass da heute noch alles funktioniert ;)
Es bleibt zur Überarbeitung als Todo offen - es kann auch sein, dass in Github erstmal ein Inhalt hierzu erstellt wird, bevor ich mit dem Abschnitt hier online gehe. Daher, auch mal ab und an bei Github vorbeischauen ;)