Klara

Aus ProgrammingWiki
Archivierte Version vom 2026-02-04T09:45:54+00:00. Aktuelle Version

Bibliotheksverwaltungssystem

Ziel

Die Datenbank dient der effizienten Verwaltung einer Schulbibliothek. Sie ermöglicht die Verwaltung von Büchern und Autoren, Schülermanagement, Ausleihverfolgung sowie automatische Überfälligkeitskontrolle mit Mahngebührenberechnung. Ziel ist die Reduktion administrativen Aufwands, Vermeidung von Doppelverleihen durch Foreign Key Constraints und schnelle Abfrage verfügbarer Bücher. Die Themenwahl Bibliothek ist praxisnah, demonstriert komplexe n:m-Beziehungen und eignet sich hervorragend zur Darstellung von JOIN-Operationen, Aggregationen und Normalisierungsprinzipien in realem Kontext.

ERM

[[Bild:Tante_klala_Erdplus.jpg]] [[Bild:Tante_klala_Erdplu.s.jpg]]

Kardinalitäten

Kardinalitäten im Bibliotheksprojekt: Ein AUTOR schreibt mehrere BÜCHER (1:n-Beziehung), ein SCHÜLER leiht mehrere Bücher aus (1:n), BÜCHER und SCHÜLER stehen über die AUSLEIHE-Tabelle in n:m-Beziehung. Dadurch werden Mehrfachzuordnungen sauber aufgelöst.

Normalform

Normalformen des Projekts: Das System erfüllt 1NF (atomare Werte in allen Spalten), 2NF (vollständige PK-Abhängigkeiten), 3NF (keine transitiven Abhängigkeiten wie "Autor → Nationalität → Geburtsjahr") und BCNF (jeder Determinant ist Kandidatenschlüssel). Dadurch entsteht keine Datenredundanz, Foreign Keys sichern Referenzintegrität, und Abfragen laufen performant.

Reflexion

Das Projekt ist gut gelaufen: Die Tabellen sind sauber normalisiert ohne doppelte Daten, Views zeigen verfügbare Bücher automatisch an, Indizes beschleunigen die Suche und Foreign Keys verhindern Fehler bei Ausleihen. Alle Beispieldaten funktionieren einwandfrei und SQLite ist einfach zu verteilen. Verbessert werden könnte: Jedes Buch kann derzeit nur einmal ausgeliehen werden (keine Exemplare), Schüler haben keine Ausleihlimits, Reservierungen fehlen und überfällige Bücher werden nicht automatisch erkannt. Eine Statistik der beliebtesten Bücher wäre auch sinnvoll.

Quellen

https://erdplus.com/