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 ;)