faecher:informatik:oberstufe:datenbanken:normalisierung:vorueberlegungen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:normalisierung:vorueberlegungen:start [25.11.2020 14:44] – [Grundsatz: Eine Entität - eine Tabelle] sbelfaecher:informatik:oberstufe:datenbanken:normalisierung:vorueberlegungen:start [23.11.2023 12:46] (aktuell) – [Vorüberlegungen] Svenja Müller
Zeile 5: Zeile 5:
   * Wir sind ein Zwischenhändler, der Zahnärzte mit allem ausstattet, was die brauchen, um ihre Patienten zu foltern.   * Wir sind ein Zwischenhändler, der Zahnärzte mit allem ausstattet, was die brauchen, um ihre Patienten zu foltern.
   * Wir müssen Buch führen über unsere Kunden (Doktoren), unsere Lieferanten, angebotene Produkte und unsere Bestellungen.   * Wir müssen Buch führen über unsere Kunden (Doktoren), unsere Lieferanten, angebotene Produkte und unsere Bestellungen.
-  * Unser sehr unerfahrene Sekretär hat mal was von mysql gehört und die derzeit bekannten Daten in eine Tabelle geschrieben. +  * Unser sehr unerfahrener Sekretär hat mal was von mysql gehört und die derzeit bekannten Daten in eine Tabelle geschrieben. 
  
 ===== Die Ausgangslage ===== ===== Die Ausgangslage =====
Zeile 30: Zeile 30:
 Hinter diesen Begriffen verbirgt sich alles, was den logischen Aufbau unserer Datenbank gefährden könnte. Hinter diesen Begriffen verbirgt sich alles, was den logischen Aufbau unserer Datenbank gefährden könnte.
  
-  * Von **Redundanz** spricht man, wenn Informationen mehrfach gespeichert sind. Rdundanzen führen zu einem höheren Speicherplatzbedarf und gefährden die Konsistenz der Informationen, da Änderungen häufig mehrfach vorgenommen werden müssen.+  * Von **Redundanz** spricht man, wenn Informationen mehrfach gespeichert sind. Redundanzen führen zu einem höheren Speicherplatzbedarf und gefährden die Konsistenz der Informationen, da Änderungen häufig mehrfach vorgenommen werden müssen.
   * Von **Anomalie** spricht man, wenn sich beispielsweise Datensätze in ihren Angaben "unregelmäßig" unterscheiden. Es gibt drei Arten von Anomalien:    * Von **Anomalie** spricht man, wenn sich beispielsweise Datensätze in ihren Angaben "unregelmäßig" unterscheiden. Es gibt drei Arten von Anomalien: 
     * Bei der **Einfüge-Anomalie** kann es passieren, dass Daten gar nicht in die Datenbank übernommen werden, wenn zum Beispiel der Primärschlüssel keinen Wert erhalten hat, oder eine unvollständigen Eingabe von Daten zu Inkonsistenzen führt.     * Bei der **Einfüge-Anomalie** kann es passieren, dass Daten gar nicht in die Datenbank übernommen werden, wenn zum Beispiel der Primärschlüssel keinen Wert erhalten hat, oder eine unvollständigen Eingabe von Daten zu Inkonsistenzen führt.
Zeile 58: Zeile 58:
 </WRAP> </WRAP>
  
-==== Grundsatz: Eine Entität - eine Tabelle ==== 
  
-Ein **Grundsatz** ohne Name, den unser Sekretär mit seinem an die Tabellenkalkulation angelehnten Vorgehen bereits verletzt hat, den wir aber eigentlich kennen, lautet: **Jede Entität bekommt ihre eigene Relation, die Attribute sind die Tabellenspalten**((Erinnerung: Relation ist nur ein anderer Name für Tabelle...). Wenn man sich daran hält, muss man sich nur noch Gedanken und sinnvolle Attribute und die Möglichkeiten der Verknüpfung machen. 
- 
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (A2) === 
- 
-  * Importiere die {{ .:zahnarztbedarf.zip |Universaltabelle}} in deine Übungsdatenbank. 
-  * Überführe die Inhalte der "Universaltabelle" in drei Tabellen: ''doktoren'', ''hersteller'', ''produkte''. Verteile die vorhandenen Attribute auf die Tabellen der Entitäten, **verändere die Attribute nicht**, bennene Sie auch nicht um. Gehe wie folgt vor: 
-     - Lege die drei Tabellen mit den entsprechenden Attributen an 
-     - Überführe die Inhalte aus der Universaltabelle in die jeweilige Tabelle, indem du das Ergebnis einer Abfrage direkt an eine INSERT INTO Statement weitergibst: ''INSERT INTO doktoren SELECT doktor, telefon_fax, adresse FROM `zahnarztbedarf` ''. Du musst auf die Reihenfolge der Attribute bei der Abfrage achten! 
-  * Zwei Tabellenspalten der Universaltabelle können den Entitätstabellen nicht sinnvoll zugeordet werden - bei einer geht keine wesentliche Information verloren, wenn man sie weglässt, bei der anderen schon. Welche Attribute sind das? Lasse beide Attribute vorerst einfach aus - wir kommen später darauf zurück. 
-  * Fügen nun den Datensatz für Frau Bohrgut ein - du siehst, nun ist ganz klar, welche Informationen in welche Tabelle eingefügt werden müssen. 
- 
-++++ Lösungshinweise| 
- 
-++ Tabellenstrukturen | 
-{{ :faecher:informatik:oberstufe:datenbanken:normalisiserung:vorueberlegungen:struktur01.png |}} 
-++ 
- 
-++ Überführungsabfragen |\\ 
-INSERT INTO produkte SELECT produkt, preis, nummer FROM `zahnarztbedarf`\\ 
-INSERT INTO hersteller SELECT hersteller FROM `zahnarztbedarf`\\ 
-INSERT INTO doktoren SELECT doktor, telefon_fax, adresse FROM `zahnarztbedarf` 
-++ 
- 
-++ Nicht übertragbare Attribute | 
-Das Attribut ''id'' ist weitgehend sinnfrei, da überhaupt nicht klar ist, was diese ID eigentlich identifizieren sollte, das kann weggelassen werden. Das Attribut ''anzahl'' bezieht sich auf die Produkt-Bestellungen der Zahnärzte, das passt zu keiner unserer Tabellen, weil es gewissermaßen zu ''doktoren'' und zu ''produkte'' gehört.  
-++ 
-++++ 
  • faecher/informatik/oberstufe/datenbanken/normalisierung/vorueberlegungen/start.1606315470.txt.gz
  • Zuletzt geändert: 25.11.2020 14:44
  • von sbel