Okay, gut. Warte mal, den Screensharing starten.
Wir haben beim, ihr habt mit Jonas das letzte Mal euch angefangen, um relationale Datenbanken
zu kümmern. Als Erinnerung gehen wir nochmal über die alten Slides. Die Idee von relationalen
Datenbanken ist, dass man effizient Daten speichert und zwar in einer persistenten Art, also in einer
Art, die auch noch weiter geht, wenn der Computer ausgefallen oder ausgeschaltet oder so etwas ist.
Wenn wir nur im Hauptspeicher des Computers die Daten haben, sind die dann weg. Und natürlich,
dass man mit riesigen Datenmengen umgeht. Das wird in dieser Vorlesung in den Beispielen nicht das
Problem sein, aber die Datenbanken können das im Prinzip. Und man hat immer wieder Projekte,
in denen man klein anfängt und irgendwann wird es immer immer größer. Also typische Situation und
unser Beispiel in der Vorlesung ist, wir haben irgendwie die Daten einer Bibliothek, da haben
wir verschiedene Bücher drin und so Metadaten, wie in welchem Jahr sie erschienen sind, was der
Verlag ist, wann der Autor geboren und gestorben ist und so weiter und so fort. Das ist so die
typische Organisation von Daten in sogenannten relationalen Datenbanksystemen und das sind die,
auf die wir uns konzentrieren werden in dieser Vorlesung. Wir haben gewisse Spalten. Die Spalten
werden durch einen Spaltennamen identifiziert, der wird hinterher gleich bei den Anfragen wichtig.
Und wir haben Zeilen in der Spalte, die werden auch Records genannt. Das sind letztlich immer
jeweils ein Datensatz. Es gibt verschiedenste Datenbanksysteme. MySQL ist die Standard Open
Source Datenbank. PostgreSQL ist eine andere, die etwas leistungsfähiger ist, aber auch schwieriger
zu administrieren. Und was wir benutzen werden ist SQLite. Gott sei Dank haben alle sozusagen
dasselbe Interface in einer Sprache, die sich SQL nennt. Oder wenn Sie wie Informatiker klingen
wollen, dann sagen Sie SQL. Das ist die Standardized Query Language. Diese Datenbanken kann man mit einer
Shell bedienen, in diesem Fall die SQLite Shell. Und man kann alles, was man machen will, kann man
über diese Shell machen. Da gibt es Kommandos, die verhält sich genauso wie irgendeine andere Shell,
verhält sich im Übrigen auch genauso wie ein Notebook. Man kann Kommandos an die Datenbank
richten. Und wenn man zum Beispiel sowas wie Punkt Tables sagt, dann sagt das einem, was die
Tabellen sind, in diesem Fall die Books Tabelle. Und wenn man sagt, select Stern from Books, was
genau da die Anfragesprache ist, lernen wir die heute. Und dann kriegt man die Daten ausgespuckt.
Man kann sich vorstellen, immer wenn man so etwas in einem Kommandozeilen Interpreter hat, kann man
es auch in einem grafischen Interface machen und das sieht dann sehr hübscher aus. Alle Datenbanken
haben solche Database Browsers und es gibt einen für SQLite. SQLite Studio ist das und den benutze
ich manchmal, weil es einfach hübscher aussieht. Okay, gibt soweit irgendwelche Fragen.
Das nächste, was man verstehen sollte, ist, dass diese SQL, die Structured Query Language,
dass die nichts anderes ist als eine Standardsprache wie HTTP, wie Python und so etwas,
in der man mit Datenbanken sprechen kann. Und alle relationalen Datenbanken implementieren Teile von
SQL. Und das ist sehr gut, denn dann kann man einfach, wenn man eine Wörterwendung hat oder so
etwas, kann man einfach das Datenbanksystem austauschen. Wenn einem MySQL nicht mehr gefällt,
oder SQLite nicht mehr gefällt, kann man irgendwie Postgres nehmen oder Oracle oder IBM DB2 oder was
auch immer und braucht im Wesentlichen das Programm nicht zu ändern. Warum? Weil ihre Web Application
spricht SQL mit der Datenbank und das ist standardisiert. Ja? Ja? Ich habe mich nur begrüßt.
Okay, gut. Hallo. Diese SQL-Sprache hat mehrere Teilsprachen. Die eine ist die Datendefinitionssprache
DL, in der man im Wesentlichen SQL deklariert, was ich für Tabellen haben will. Das macht man mit
Create Table und dann sagt man, wie sehen die Spalten aus und was für Daten erwarte ich da.
Wenn man das gemacht hat, kann man in die Datenbank mit dem Insert-Befehl Dinge eintragen. Ja, in
unserer Bücher-Datenbank Insert into Books. Insert into ist der Befehl, der standardisierte Befehl, dass
man Daten, also eine Zeile eintragen will. Books ist der Teil, und Values sagt, wir geben ein
Tuppel von Werten ein. Der erste kommt in die erste Spalte, der zweite kommt in die zweite Spalte.
Und woher weiß die Datenbank das? Na ja, daher, weil wir mit Create Table gesagt haben, was ist die
erste Spalte, nämlich in diesem Fall der Hausname, dann der Vorname, Year of Birth und so weiter.
Acht Stück glaube ich, 1, 2, 3, 4, 5, 6, 7, 8. Und dann gehen wir hin bei dem Insert-Befehl, geben wir
1, 2, 3, 4, 5, 6, 7, 8 Werte ein, fertig ist die Laube und unsere Datenbank-Tabelle hat eine neue
Presenters
Zugänglich über
Offener Zugang
Dauer
01:30:45 Min
Aufnahmedatum
2020-05-28
Hochgeladen am
2020-05-28 21:56:34
Sprache
de-DE