Alexandra

Aus ProgrammingWiki
Archivierte Version vom 2026-03-06T19:42:33+00:00. Aktuelle Version

Inhaltsverzeichnis

Das ERM

A Sonnenblumenkern_Screenshot_20260306_173749_Samsung_Notes.jpg


Kardinalitäten erläutern

Klasse – Unterrichtseinheit (1:n)

Eine Klasse kann viele Unterrichtseinheiten haben, da sie im Laufe einer Woche mehrere

Unterrichtsstunden besitzt.

Eine Unterrichtseinheit gehört jedoch immer genau zu einer Klasse.

Beispiel: Die Klasse 7a hat mehrere Unterrichtsstunden in verschiedenen Fächern.


Lehrer – Unterrichtseinheit (1:n)

Ein Lehrer kann viele Unterrichtseinheiten unterrichten.

Eine Unterrichtseinheit wird jedoch immer von genau einem Lehrer gehalten.

Beispiel: Ein Lehrer kann mehrere Stunden Mathematik oder andere Fächer in

verschiedenen Klassen unterrichten.


Fach – Unterrichtseinheit (1:n)

Ein Fach kann in vielen Unterrichtseinheiten vorkommen.

Eine Unterrichtseinheit behandelt jedoch immer genau ein Fach.

Beispiel: Das Fach Mathematik kann mehrmals pro Woche im Stundenplan vorkommen.


Raum – Unterrichtseinheit (1:n)

Ein Raum kann für viele Unterrichtseinheiten genutzt werden.

Eine Unterrichtseinheit findet jedoch immer in genau einem Raum statt.

Beispiel: Ein Computerraum kann für mehrere Informatikstunden verwendet werden.


Datenbank


Aufgaben zur Abfrage

Gib die Lehrertabelle aus
Welche Fächer werden unterrichtet?
Wie viele Unterrichtseinheiten hat jeder Lehrer?
Gib die Raumbelegung aus
Gib den Stundenplan der Klasse 7a aus
Gib den Stundenplan von Laura Müller aus
Gib den Stundenplan für Montag aus

Ziel der Datenbank & Begründung

Die Datenbank dient zur Verwaltung eines Stundenplans. Ziel ist es, Informationen über Klassen, Lehrer, Fächer, Räume

und Unterrichtseinheiten strukturiert zu speichern und miteinander zu verknüpfen.


Durch die Datenbank soll es möglich sein, verschiedene Informationen über den Stundenplan einfach abzurufen.

Zum Beispiel kann ermittelt werden, welcher Lehrer zu einer bestimmten Zeit unterrichtet, welcher Raum belegt ist oder

welchen Unterricht eine Klasse an einem bestimmten Tag hat.


Ich habe das Thema gewählt, da ein Stundenplan ein typisches Beispiel für ein System mit vielen miteinander verbundenen

Daten darstellt und ich fast täglich solch eine Datenbank abfrage.


Relationenmodell

Lehrer

Lehrer(Lehrer_ID, Vorname, Nachname, Kürzel)

PK: Lehrer_ID


Fach

Fach(Fach_ID, Fachname)

PK: Fach_ID


Raum

Raum(Raum_ID, RaumNR)

PK: Raum_ID


Klasse

Klasse(Klassen_ID, Bezeichnung)

PK: Klassen_ID


Unterrichtseinheiten

Unterrichtseinheiten(UE_ID, Wochentag, Stunde, Raum_ID, Klassen_ID, Fach_ID, Lehrer_ID)

PK: UE_ID

FK: Raum_ID → Raum(Raum_ID)

FK: Klassen_ID → Klasse(Klassen_ID)

FK: Fach_ID → Fach(Fach_ID)

FK: Lehrer_ID → Lehrer(Lehrer_ID)


Erläuterung der Normalform

Erste Normalform

Die erste Normalform besagt, dass:

- jedes Attribut atomar sein muss (also nicht weiter zerlegbar)

- keine Mehrfachwerte in einer Spalte vorkommen dürfen

In meiner Datenbank ist diese Bedingung erfüllt, da jedes Feld nur einen einzelnen Wert enthält.

Beispielsweise steht in der Spalte Vorname immer nur ein Vorname und nicht mehrere Namen.


Zweite Normalform

Die zweite Normalform besagt, dass:

- jedes Nicht-Schlüsselattribut vollständig vom Primärschlüssel abhängig ist.

Da in allen Tabellen ein eindeutiger Primärschlüssel existiert (z. B. Lehrer_ID oder

Fach_ID), hängen alle anderen Attribute vollständig von diesem Schlüssel ab.

Beispiel: Der Vorname und Nachname eines Lehrers hängen eindeutig von der Lehrer_ID ab.


Dritte Normalform

Die dritte Normalform fordert, dass:

- keine transitiven Abhängigkeiten zwischen Nicht-Schlüsselattributen bestehen.

Das bedeutet, dass Attribute nicht voneinander abhängig sein dürfen, sondern nur vom Primärschlüssel.

Beispiel: Informationen über Lehrer werden ausschließlich in der Tabelle Lehrer gespeichert

und nicht zusätzlich in der Tabelle Unterrichtseinheiten.

Dadurch werden doppelte Daten vermieden.


Reflexion

Bei der Modellierung der Datenbank habe ich darauf geachtet, dass Daten möglichst

strukturiert und ohne Redundanzen gespeichert werden. Daher habe ich mehrere Tabellen

verwendet, die über Fremdschlüssel miteinander verbunden sind.


Ein Vorteil dieses Modells ist, dass Informationen nur einmal gespeichert werden müssen.

Beispielsweise werden Lehrerinformationen nur in der Tabelle „Lehrer“ gespeichert und nicht

in jeder Unterrichtseinheit erneut eingetragen.


Ein möglicher Nachteil des Modells ist, dass für viele Abfragen mehrere Tabellen miteinander

verbunden werden müssen. Dadurch können SQL-Abfragen komplexer werden.


Eine mögliche Erweiterung der Datenbank wäre beispielsweise die Verwaltung von

Vertretungsstunden, Unterrichtsgruppen oder zusätzlichen Raumtypen.


Quellen und Tools

- Programming Wiki SQL Editor

- Datenbank-Skripte und Beispiele, sowie Wissen aus dem Informatikunterricht