Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
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] sbel | faecher: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, | * Wir sind ein Zwischenhändler, | ||
* Wir müssen Buch führen über unsere Kunden (Doktoren), unsere Lieferanten, | * Wir müssen Buch führen über unsere Kunden (Doktoren), unsere Lieferanten, | ||
- | * Unser sehr unerfahrene | + | * Unser sehr unerfahrener |
===== 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 | + | * Von **Redundanz** spricht man, wenn Informationen mehrfach gespeichert sind. Redundanzen |
* Von **Anomalie** spricht man, wenn sich beispielsweise Datensätze in ihren Angaben " | * Von **Anomalie** spricht man, wenn sich beispielsweise Datensätze in ihren Angaben " | ||
* 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: | ||
</ | </ | ||
- | ==== 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: | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A2) === | ||
- | |||
- | * Importiere die {{ .: | ||
- | * Überführe die Inhalte der " | ||
- | - 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: | ||
- | * 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 | | ||
- | {{ : | ||
- | ++ | ||
- | |||
- | ++ Ü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, | ||
- | ++ | ||
- | |||
- | ++ Nicht übertragbare Attribute | | ||
- | Das Attribut '' | ||
- | ++ | ||
- | ++++ |