In diesem Kurs geht es um die Modellierung einer Datenbank bevor Sie in SQL o. Ä. implementiert werden kann.
Oberstufe (Q2)
Datenbanksysteme gehören zu den wichtigsten Anwendungsgebieten von Computern in unserer Gesellschaft. Im Hinblick auf die nahezu weltweite Vernetzung und den damit verbundenen Zugriff auf eine immense Datenfülle rücken Organisation dieser Daten und darauf wirkende Operationen in den Mittelpunkt. In Datenbanken werden Texte, multimediale Elemente sowie weitere Daten unterschiedlichster Art in digitaler Form gespeichert. Daher ist es von großer Bedeutung, die Möglichkeiten von Datenbanksystemen zu verstehen und deren Strukturen zu durchschauen, um einen kompetenten Umgang damit zu erreichen.
Für die Realisierung einer relationalen Datenbank ist die Modellierung eine grundlegende Voraussetzung. Ausgehend von der Analyse einer Problembeschreibung führen wir eine Modellierung durch, d.h. eine Reduktion auf relevante Objekte und Beziehungen sowie eine Abstraktion von unwesentlichen Details. Mit Entitäts- und Beziehungstypen repräsentieren sie nicht nur die Datenstruktur, sondern auch deren Semantik, wobei zur Dar-stellung ER- oder UML-Klassendiagramme dienen. Das aus dem erstellten Diagramm abgeleitete Relationenmodell setzen wir in Tabellen um. Um Operationen auf den Daten durchzuführen, verwenden wir interaktiv die Datenbankabfragesprache SQL (engl. Structured Query Language). Dabei analysieren wir die Select-Anweisung mit ihren vielfältigen Möglichkeiten und verwenden sie, um gezielt Daten aus einer oder mehreren Tabellen abzufragen.
Da der Umgang mit internetbasierten Datenbanken im Erfahrungsbereich der Lernenden liegt, eignet sich ein Webdatenbankprojekt in besonderer Weise für den Unterricht. Hierbei wenden wir die neu erarbeiteten Modelle, Konzepte und Verfahren an und stellen diese mit den Themenfeldern der Einführungsphase und dem Kurshalbjahr Q1 in einen gemeinsamen Kontext. Die Lernenden erhalten somit einen Einblick in die Wirkprinzipien datenbankbasierter Client-Server-Systeme mit dynamischen Webinhalten.
Im Leistungskurs würden wir uns darüber hinaus mit Anomalien beschäftigen und eine Normalisierung durchführen, um im Datenbankschema vorhandene Redundanzen weitgehend zu beseitigen.
Datenschutz basiert auf dem Recht auf informationelle Selbstbestimmung, nach dem jeder Mensch grundsätzlich selbst über die Verwendung seiner persönlichen Daten entscheiden kann. Die Lernenden setzen sich diskursiv mit dem Recht auf informationelle Selbstbestimmung und mit Risiken auseinander, die sich aus der Datenspeicherung in Datenbanken ergeben. Dazu begründen und bewerten wir auf Basis der Datenschutzprinzipien und Datenschutzgesetze Fallbeispiele, reflektieren ihren eigenen Umgang mit persönlichen Daten und passen Datenschutz- sowie Datensicherheitseinstellungen in von ihnen verwendeten Informatiksystemen an. Zudem diskutieren wir Gefahren mangelnder Datensicherheit und technisch-organisatorische Maßnahmen zur Herstellung von Datensicherheit.
Die Relationenalgebra begegnet uns als theoretische Grundlage für Abfrage-sprachen in relationalen Datenbanken. Ausgehend von dem Begriff Relation als Teilmenge des kartesischen Produkts lassen sich die datenbankspezifischen Operationen Projektion, Selektion und Join mit Relationen gut erklären.
Q2.1 ER- und Relationenmodell
grundlegendes Niveau (Grundkurs und Leistungskurs)
- ER-Modell:
- Entität
- Entitätstyp
- Attribut
- Beziehung
- Kardinalität
- Optionalität
- Relationenmodell:
- Schlüssel
- Umsetzung in Relationen
- Datenbanktabellen
erhöhtes Niveau (Leistungskurs)
- Normalisierung:
- Anomalien
- erste, zweite, dritte Normalform
Q2.2 SQL
grundlegendes Niveau (Grundkurs und Leistungskurs)
- grundlegende Select-Abfragen:
- Projektion
- Selektion
- Aggregatfunktionen
- Join
- Sortierung
- Gruppierung
erhöhtes Niveau (Leistungskurs)
- weiterführende Select-Abfragen:
- Unterabfragen
- Abfragen über rekursive Beziehungen
- weitere SQL-Sprachbereiche:
- Datenbearbeitung mit der DML
- Datendefinition mit der DDL
- Datenberechtigungen mit der DCL
Q2.3 Webdatenbankprojekt
grundlegendes Niveau (Grundkurs und Leistungskurs)
- HTML-Formulare:
- GUI-Elemente
- Parameterübergabe
- get- versus post-Methode
- Ausführung von SQL-Anweisungen:
- Datenbankverbindung
- Aufbereitung von SQL-Anweisungen
- Ausführen von SQL-Anweisungen mit und ohne Rückgabemenge
- dynamische Webseiten:
- Zugriff auf einzelne Datensätze des Ergebnisses einer Abfrage
- Darstellung der Ergebnismenge einer Abfrage in einem HTML-Dokument
erhöhtes Niveau (Leistungskurs)
- Datensicherheit:
- Benutzerverwaltung und Zugriffsberechtigungen
Q2.4 Datenschutz und Datensicherheit
grundlegendes Niveau (Grundkurs und Leistungskurs)
- Datenschutz:
- Recht auf informationelle Selbstbestimmung
- Datenschutzprinzipien
- Datenschutzgesetze
- Datensicherheit:
- Vertraulichkeit
- Integrität und Verfügbarkeit
- Datensicherheitsgebote (Zutrittskontrolle, Zugangskontrolle, Zugriffskontrolle)
- Sicherheit bei der Internetnutzung
Q2.5 Relationenalgebra
grundlegendes Niveau (Grundkurs und Leistungskurs)
- Operatoren:
- kartesisches Produkt
- Selektion
- Projektion
- Join
- Terme:
- Angabe einfacher Terme mit Bedingungen
- Konstruktion geschachtelter Terme
- Bestimmung der Ergebnismenge eines Abfrageterms
- Entwicklung eines Abfrageterms für eine gegebene Problemstellung
- Abbildung eines Terms in SQL
erhöhtes Niveau (Leistungskurs)
- Operatoren:
- Vereinigung
- Schnitt
- Differenz
- Umbenennung
- Terme:
- Konstruktion geschachtelter Terme