Lernfeld 10 Klassenarbeit Vorbereitung

Alles, was du für deine Lernfeld 10 -Klassenarbeit wissen musst

Transitive und Funktionale Abhängigkeiten

Funktionale Abhängigkeit

Eine funktionale Abhängigkeit beschreibt eine Beziehung zwischen zwei Attributen in einer Datenbanktabelle, bei der ein Attribut eindeutig ein anderes bestimmt. Wenn ein Attribut A ein Attribut B funktional bestimmt, bedeutet dies, dass jeder Wert von A nur einem Wert von B zugeordnet ist.

Beispiel: In einer Tabelle „Studenten“ bestimmt die Matrikelnummer (A) den Namen (B). Das heißt, jede Matrikelnummer ist eindeutig einem Namen zugeordnet.

Transitive Abhängigkeit

Eine transitive Abhängigkeit liegt vor, wenn ein Nicht-Schlüsselattribut von einem anderen Nicht-Schlüsselattribut abhängig ist, das wiederum von einem Schlüsselattribut abhängt. Dies führt zu Redundanzen und Anomalien in der Datenbank.

Beispiel: In einer Tabelle „Bestellungen“ bestimmt die Bestellnummer (A) das Kunden-ID (B), und die Kunden-ID bestimmt die Kundenadresse (C). Somit ist die Kundenadresse transitiv von der Bestellnummer abhängig.

Entity-Relationship-Modell (ERM)

Kardinalitäten: Min-Max-Notation

Kardinalitäten geben an, wie viele Entitäten einer Menge mit Entitäten einer anderen Menge in Beziehung stehen können. Die Min-Max-Notation spezifiziert die minimalen und maximalen Anzahl von Beziehungen.

Beispiel: Eine Person kann mindestens 0 und maximal viele Autos besitzen (0..*).

Chen-Notation und Crow's Foot-Notation

Die Chen-Notation verwendet Rauten für Beziehungstypen und Ellipsen für Attribute. Die Kardinalitäten werden durch Linien mit Symbolen dargestellt. Die Crow's Foot-Notation ist eine populäre Alternative, die eine weniger symbolische und klarere Darstellung bietet.

Beispiel: In der Crow's Foot-Notation zeigt ein "Fledermausfuß" (Crow's Foot) eine "viele" Beziehung an, während eine Linie ohne Symbol eine "eins" Beziehung darstellt.

Normalisierung von Datenbanken

Erste Normalform (1NF)

Eine Tabelle befindet sich in der ersten Normalform, wenn alle Attribute atomar sind, d.h., sie enthalten keine mehrfachen oder zusammengesetzten Werte. Jeder Wert in einem Attribut muss unteilbar sein und es dürfen keine Wiederholungsgruppen in den Zeilen vorhanden sein.

Tabelle nicht in 1NF:

BestNr Datum ArtNr Beschreibung Anz Preis
001 01.10.2024 {1, 2} {Fowler - NoSQL Distilled, Adams - Hitchhiker‘s Guide} {1, 42} 61,90

Tabelle in 1NF:

BestNr Datum ArtNr Autor Titel Anz Preis
001 01.10.2024 1 Fowler NoSQL Distilled 1 19,90

Schwächen von 1NF:

  • Redundanz aufgrund wiederholter Datenanteile
  • Update-Anomalien
  • Inkonsistente Attributwerte
  • Unvollständiges Einfügen
  • Löschen mit Informationsverlust

Zweite Normalform (2NF)

Eine Tabelle befindet sich in der zweiten Normalform, wenn sie sich in der ersten Normalform befindet und alle nicht-schlüssel Attribute vollständig funktional vom gesamten Schlüssel abhängen. Das bedeutet, es darf keine partiellen Abhängigkeiten geben: jedes nicht-schlüssel Attribut muss von der gesamten Kombination von Schlüsseln abhängen und nicht nur von einem Teil davon.

Umwandlung von 1NF in 2NF:

  1. Bilde alle nicht-leeren Teilmengen des Primärschlüssels.
  2. Definiere für jede dieser Teilmengen eine neue Relation mit der Teilmenge als Primärschlüssel.
  3. Füge jedes Nicht-Schlüsselattribut der ursprünglichen Relation zu derjenigen Relation hinzu, von deren gesamtem Primärschlüssel es abhängt.
  4. Lösche die alte Relation sowie alle Relationen, die keine Nicht-Schlüsselattribute besitzen.

Tabelle in 2NF:

BestNr Datum
001 01.10.2024
ArtNr Autor Titel Preis
1 Fowler NoSQL Distilled 19,90
BestNr ArtNr Anz
001 1 1

Beispiel: Die Artikel-Tabelle wurde getrennt von der Bestellungen-Tabelle, um Redundanzen zu vermeiden und partielle Abhängigkeiten zu eliminieren.

Übungen zur Normalisierung

Übung 1: Identifizieren der Normalform

Gegeben ist die folgende Tabelle:

StudentID Name Kurs Dozent
101 Anna Müller Mathe Dr. Schmidt
102 Peter Lange Physik Dr. Becker
101 Anna Müller Physik Dr. Becker

Bestimmen Sie, in welcher Normalform sich diese Tabelle befindet und erläutern Sie, welche Änderungen zur nächsten Normalform erforderlich wären.

Übung 2: Umwandlung in 3NF

Transformieren Sie die folgende Tabelle in die dritte Normalform:

BestNr Datum ArtNr Autor Titel Preis
001 01.10.2024 1 Fowler NoSQL Distilled 19,90

SQL-Erklärungen und Übungen

Grundlegende SQL-Statements

SQL (Structured Query Language) ist eine standardisierte Sprache zur Verwaltung und Manipulation von relationalen Datenbanken. Hier sind einige grundlegende SQL-Statements:

Projektion

Die Projektion selektiert bestimmte Spalten aus einer Tabelle.

Beispiel: Ermittle Vor- und Nachnamen sowie die E-Mail-Adressen aller Kunden:

SELECT Vorname, Nachname, Email
FROM Kunden;

Selektion

Die Selektion filtert Zeilen basierend auf bestimmten Bedingungen.

Beispiel: Ermittle alle Adressdaten aus dem Distrikt "Ohio":

SELECT *
FROM Adressen
WHERE Distrikt = 'Ohio';

Einfaches Verbinden von Tabellen

Durch das Verbinden von Tabellen (JOIN) können Daten aus mehreren Tabellen basierend auf verwandten Spalten kombiniert werden.

Beispiel: Verbinde die Tabellen Kunden und Bestellungen über die Kunden-ID:

SELECT Kunden.Vorname, Kunden.Nachname, Bestellungen.BestNr, Bestellungen.Datum
FROM Kunden
JOIN Bestellungen ON Kunden.KundenID = Bestellungen.KundenID;

Übungen zu SQL

Übung 1: Projektion

Ermittle die Vor- und Nachnamen sowie die E-Mail-Adressen aller Kunden aus der Tabelle Kunden.

-- Deine SQL-Abfrage hier

Übung 2: Selektion

Zeige alle Distrikte aus der Tabelle Adressen, eliminiere dabei Duplikate.

-- Deine SQL-Abfrage hier

Übung 3: Join

Verbinde die Tabellen Kunden und Bestellungen, um die Vor- und Nachnamen der Kunden sowie deren Bestellnummern und -daten anzuzeigen.

-- Deine SQL-Abfrage hier