CAS-SD RDB Content ================== Generated: Fri, 2022-10-07 09:51:35 Day 1 ----- Page 1: Kursziele, Relationale Datenbanken (RDB) Page 2: Kursinhalt, Relationale Datenbanken (RDB) Page 3: Tag 1 Inhaltsverzeichnis Page 4: Literaturverzeichnis Page 5: Wieso eine Datenbank? Page 6: Datenabstraktion, Ebenen Page 7: Datenbank, Schema und Ausprägung Page 8: DBMS Architektur Page 9: Neue Anwendungsfelder Page 10: Datenmodelle Page 11: Das Entity-Relationship Modell Grundprinzip Page 12: Das ER-Modell, Überblick Page 13: Das ER-Modell, Entitäts- und Beziehungstypen Page 14: Das ER-Modell, Entitäts- und Beziehungsinstanzen Page 15: Das ER-Modell, Attribute Page 16: Das ER-Modell, Kardinalität (1) Page 17: Das ER-Modell, Kardinalität (2) Page 18: Das ER-Modell Kardinalität (3) Notation Page 19: Das ER-Modell, Umgang mit der Rekursion Page 20: Das ER-Modell, Umgang mit der Generalisierung Page 21: Das ER-Modell, Vorgehen für die Diagrammentwicklung Page 22: Übung 1 Software-Firma ER-Modellierung Page 23: Übung 2 Software-Werkzeuge schon installiert? Page 24: Übung 3 ER-Modell Ihrer CD-Sammlung Day 2 ----- Page 1: Tag 2 Inhaltsverzeichnis Page 2: Das relationale Modell, Beispiel Page 3: Das relationale Modell, Pro und Kontra Page 4: Das relationale Modell, Relation Page 5: Das relationale Modell, Primär- und Fremdschlüssel Page 6: Das relationale Modell, Schema Definition Page 7: Umsetzung ER-Modell in rel. Schema, Entitäten Page 8: Umsetzung ER-Modell in rel. Schema, Beziehungen (1) Page 9: Umsetzung ER-Modell in rel. Schema, Beziehungen (2) Page 10: Umsetzung ER-Modell in rel. Schema, Verfeinerung (1) Page 11: Umsetzung ER-Modell in rel. Schema, Verfeinerung (2) Page 12: Abfragesprachen Page 13: SQL, Das Ziel Page 14: SQL, Die Geschichte Page 15: (My)SQL, Datentypen Page 16: SQL, Alle Befehle Page 17: Eine DB auswählen, MySQL vs. MariaDB Page 18: MySQL, Tabellentypen Page 19: (My)SQL Admin, Client-Programme Page 20: AutorBuch: DB erstellen und ausfüllen Page 21: AutorBuch DB kreieren (1) Page 22: AutorBuch DB kreieren (2) Page 23: AutorBuch DB Schema anlegen (1) Empfehlungen Page 24: AutorBuch DB Schema anlegen (2) Tabelle Autor kreieren Page 25: AutorBuch DB Schema anlegen (3) Page 26: AutorBuch DB Schema anlegen (4) Tabelle AutorBuch kreieren Page 27: AutorBuch DB mit Daten ausfüllen (1) Page 28: AutorBuch DB mit Daten ausfüllen (2) Tabelle Autor anzeigen Page 29: AutorBuch DB Tabelle Autor ändern (1) Page 30: AutorBuch DB Tabelle Autor ändern und löschen Page 31: Übungen Day 3 ----- Page 1: Tag 3 Inhaltsverzeichnis Page 2: SQL Select-Anweisung (Grundbild) Page 3: Daten filtern Gleichheitsbedingung (1) Page 4: Daten filtern Gleichheitsbedingung (2) Page 5: Daten filtern Wertebereichsbedingung Page 6: Daten filtern Mitgliedschaftbedingung Page 7: Daten filtern Wildcards Page 8: Daten filtern Null ist nicht null Page 9: Komplexe Abfragen strukturieren, Der WITH-Statement Page 10: Mehrere Tabellen abfragen (Joins) Erster Versuch Page 11: Mehrere Tabellen abfragen (Joins) Lösung "von Hand" Page 12: Join-Typen Page 13: Mehrere Tabellen abfragen (Joins) Lösung "mit INNER JOIN" (1) Page 14: Mehrere Tabellen abfragen (Joins) Lösung "mit INNER JOIN" (2) Page 15: Mehrere Tabellen abfragen (Joins) Left Join Page 16: Arbeiten mit Strings Datentypen Page 17: Arbeiten mit Datum/Zeit Datentypen Page 18: Arbeiten mit Datum/Zeit Beispiele Page 19: MySQL build-in Funktionen Page 20: Referenzielle Integrität Problematik der DB Integrität Page 21: Referenzielle Integrität, Konsistenz der Fremdschlüssel Page 22: Referenzielle Integrität FK Namenskonvention Page 23: Referenzielle Integrität Regel erstellen Page 24: Referenzielle Integrität, Regel anzeigen Page 25: Referenzielle Integrität Regel prüfen Page 26: Referenzielle Integrität Prinzipien Page 27: Referenzielle Integrität, Leichen mit Unterabfrage suchen Page 28: Daten gruppieren Page 29: Daten gruppieren, Referenzielle Integrität PK-Prüfung Page 30: Daten aggregieren Page 31: Daten aggregieren, count(*) != count('Spalte') Page 32: Daten gruppieren UND aggregieren Page 33: Übungen Day 4 ----- Page 1: Tag 4 Inhaltsverzeichnis Page 2: Normalformen, Problematik Page 3: Normalformen 1_NF, vorher Page 4: Normalformen, 1_NF, zwischen Resultat Page 5: Normalformen, 1_NF, nachher Page 6: Normalformen 2_NF, vorher Page 7: Normalformen 2_NF, nachher Page 8: Normalformen 3_NF, vorher Page 9: Normalformen 3_NF, nachher Page 10: Normalformen 4_NF, vorher Page 11: Normalformen 4_NF, nachher Page 12: Normalformen, Weitere Formen Page 13: Transaktionen, Definition Page 14: Transaktionen, Synchronisationsprobleme Page 15: Transaktionen, Beispiel "Verlorene Updates" Page 16: Transaktionen, Beispiel "Schreib-Lese-Konflikt" Page 17: Transaktionen, Beispiel "Nichtwiederholbares Lesen" Page 18: Transaktionen, Phantomproblem Page 19: Transaktionen, Überblick Page 20: Transaktionen, Autocommit Page 21: Transaktionen, Locking, Beispiel (1) Page 22: Transaktionen, Locking, Beispiel (2) Page 23: Transaktionen, Locking (READ) Page 24: Transaktionen, Locking (WRITE) Page 25: MySQL Transaktionen, Locking für MyISAM Page 26: Transaktionen, Locks and Deadlocks Page 27: Transaktionen, Savepoints Page 28: Transaktionen, Isolation Levels Page 29: Übungen Day 5 ----- Page 1: Tag 5 Inhaltsverzeichnis Page 2: ODBC / JDBC Prinzipien Page 3: JDBC, "Two-tier" Architektur für Datenzugriff Page 4: JDBC, "Three-tier" Architektur für Datenzugriff Page 5: JDBC, Komponenten Page 6: JDBC Treiber Typen Page 7: JDBC Connection Pool Page 8: JDBC Installation, Treiber für MySQL Page 9: JDBC, erstes Beispiel, Main Programm Page 10: JDBC, erstes Beispiel, Abfrageresultate anzeigen Page 11: JDBC, erstes Beispiel, Welcher Port? Page 12: JDBC, erstes Beispiel, Installationsprobleme mit IntelliJ Page 13: JDBC, erstes Beispiel, Verbindungsprobleme Page 14: Java, JDBC und MySQL Typen (1) Page 15: Java, JDBC und MySQL Typen (2) Page 16: JDBC Grundlagen, ExecuteQuery Page 17: JDBC Grundlagen, ExecuteUpdate Page 18: JDBC Grundlagen, Werte aus einem ResultSet extrahieren Page 19: JDBC Grundlagen, AUTO_INCREMENT Werte finden Page 20: JDBC Grundlagen, Metadaten Page 21: JDBC Grundlagen, 0, null und NULL Page 22: JDBC Grundlagen, Navigation im ResultSet Page 23: JDBC Grundlagen, PreparedStatement (1) Page 24: JDBC Grundlagen, PreparedStatement (2) Page 25: JDBC Grundlagen, Transaktionen Page 26: JDBC Grundlagen, Batches Page 27: JDBC Grundlagen, Batches und Transaktionen Page 28: JDBC Grundlagen, Mit BLOBs arbeiten Page 29: JavaDB, Was ist das? Page 30: JPA / ORM, Was ist das? Page 31: Datenbank-Migration, Flyway Page 32: Übungen Page 33: Das Programm JdbcPlayer, UML Klassendiagramm Page 34: Das Programm JdbcPlayer, Anwendungsbeispiel Day 6 ----- Page 1: Tag 6 Inhaltsverzeichnis Page 2: Zwei einfache Sperrverfahren / Problem wenn keine Synchronisation Page 3: Zwei einfache Sperrverfahren / Pessimistic Locking Page 4: Pessimistic Locking / Einfache Implementation mit JDBC Page 5: Zwei einfache Sperrverfahren / Optimistic Locking Page 6: Optimistic Locking / Einfache Implementation mit JDBC Page 7: Pessimistic und Optimistic Locking / Anwendungsfälle Page 8: Performance, Das Pareto-Prinzip (80-zu-20-Regel) Page 9: System Performance, Hardware und Betriebssystem Page 10: DB Performance, Indexierung Page 11: DB Performance, Indextypen Page 12: DB Performance (2), Weitere DB-Aspekte Page 13: DB Performance, Indexeinschränkungen Page 14: DB Performance, SQL Indexbefehle Page 15: Applikation Performance, Ein paar Aspekte Page 16: Applikation Performance, MySQL Monitoring Page 17: DB Zugriffsberechtigungen SQL GRANT Page 18: DB Zugriffsberechtigungen SQL REVOKE Page 19: MySQL Zugriffsberechtigungen SQL SHOW GRANTS Page 20: SQL Injection, Gefahr und Gegenmassnahmen Page 21: Metadaten, Anwendung in DB Page 22: MySQL Metadaten und Grenzen Page 23: Views, Was ist das? Page 24: Views, Was bringt das? Page 25: Views, Einschränkungen Page 26: Views Anwendungen Page 27: Stored Programs, Prinzipien (1) Page 28: Stored Programs, Prinzipien (2) Page 29: Stored Programs, Triggers, was ist das? Page 30: Die Wikipedia Architecture, Datenbankperspektive Page 31: Übungen Day 7 ----- Page 1: Tag 7 Inhaltsverzeichnis Page 2: SQL-Optimierungen, Problematik Page 3: SQL-Optimierungen, Datentypen Page 4: SQL-Optimierungen, Index- und Datenfragmentierung Page 5: SQL-Optimierungen, MySQL Abfragebearbeitung Page 6: SQL-Optimierungen, MySQL Client/Server Protokoll Page 7: SQL-Optimierungen, MySQL Abfrage Cache Page 8: SQL-Optimierungen, Oracle / MySQL Abfrage Optimierer Page 9: SQL-Optimierungen, MySQL Nested-Loop-Join's Page 10: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (1) Page 11: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (2) Page 12: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (3) Page 13: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (4) Page 14: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (6) Page 15: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (7) Page 16: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (8) Page 17: SQL-Optimierungen, MySQL Ausführungspläne vergleichen (9) Page 18: SQL-Optimierungen, MySQL Ausführungspläne Zusammenfassung Page 19: RDB vs. NoSQL, Die Problematik (1) Page 20: RDB vs. NoSQL, Wahl einer DB (2) Page 21: BigData Ausblick (1), Die Begriffe Page 22: BigData Ausblick (2), Die Begriffe Page 23: BigData Ausblick (3), Das SBB DMD Beispiel Page 24: BigData Ausblick (4), Das SBB DMD-Beispiel Page 25: BigData Ausblick (5), Das Hadoop Ecosystem Page 26: BigData Ausblick (5), Die Hadoop und YARN Architektur Page 27: BigData Ausblick (5), Das HDFS Page 28: BigData Ausblick (5), Map / Reduce Page 29: Übungen