1. Ein Baumarkt bestellt regelmäßig die von ihm vertriebenen Produkte bei diversen Lieferanten. Er ordnet seine Bestellungen nach fortlaufend vergebenen Bestellnum- mern und identifiziert seine Produkte durch Artikelcodes (das sind hier Codes des Baumarkts, nicht der Lieferanten). Jede durch eine Bestellnummer identifizierte Be- stellung richtet sich an einen bestimmten Lieferanten, wird aber in der Regel meh- rere Artikel umfassen.
Entwickeln Sie eine hierarchische Datenstruktur (Baumstruktur) für die folgenden Attribute, mit denen der Baumarkt seine Bestellungen in einer Datenbank verwalten soll:
• Bestellnummer
• Bestelldatum
• Lieferantencode
• Lieferantenname
• Lieferdatum
• Bestellbetrag [Summe aller Gesamtbeträge der bestellten Artikel]
Weitere Attribute werden in einer Bestellung in der Regel mehrfach vorkommen:
• Artikelcode
• Artikelbezeichnung
• Anzahl [...des bestellten Artikels]
• Bestellpreis
• Artikelbetrag [Anzahl * Bestellpreis]
Es kommen sicherlich noch andere Attribute in Betracht, mit denen die Datenstruk- tur komplettiert werden könnte (z.B. Lieferantenadresse, Rechnungsdatum, Zahlda- tum, ggf. die Verwaltung von Teillieferungen und Teilzahlungen usw.). Beschränken Sie sich jedoch bei der Bearbeitung auf die vorgegebenen Attribute.
2.
Erstellen Sie nun mit den in Aufgabe 1 aufgeführten Attributen den Entwurf einer relationalen Datenbank, indem Sie zunächst alle erforderlichen (!) Attribute in einer Tabelle zusammenfassen, die der ersten Normalform entspricht. Legen Sie auch ei- nen eindeutigen Primärschlüssel fest.
Entwickeln Sie sodann aus dieser Ausgangstabelle die zweite und dritte Normal- form, die Sie ebenfalls jeweils tabellarisch darstellen. Es ist ggf. hilfreich, nicht nur die Struktur der Tabellen anzulegen, sondern auch ein oder mehrere Datensätze bei- spielhaft einzutragen.
Begründen Sie jeweils Ihr Vorgehen und erläutern Sie insbesondere die Regeln, nach denen die Anforderungen an die jeweilige Normalform umgesetzt werden.
Hinweis:
Nach Durchführung der drei Normalisierungsschritte liegen vier Tabellen (Relatio- nen) vor.
Stellen Sie die in Aufgabe 2 entwickelte Datenbankstruktur als Entity-Relationship- Diagramm dar. Geben Sie in den Rauten, die die Beziehungen anzeigen, jeweils kurz an, um welche Art von Beziehung es sich handelt.
Mit welchem Befehl können Sie im MySQL Query Browser alle verfügbaren Daten- banken auflisten lassen? Welche (vorinstallierten) Datenbanken werden angezeigt?
Hinweis: Einen Befehl geben Sie in der weißen Eingabefläche oben ein und führen ihn mit einem Mausklick auf den grünen Knopf mit dem Blitzsymbol rechts daneben aus.