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

In diesem Kurs geht es um die Modellierung einer Datenbank bevor Sie in SQL o. Ä. implementiert werden kann.