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:2_normalform:start [25.11.2020 18:56] – [Grundsatz: Eine Entität - eine Tabelle] sbel | faecher:informatik:oberstufe:datenbanken:normalisierung:2_normalform:start [04.12.2024 11:39] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 24: | Zeile 24: | ||
- Wenn alle Werte überführt sind, fügst du jeder Tabelle noch eine Feld '' | - Wenn alle Werte überführt sind, fügst du jeder Tabelle noch eine Feld '' | ||
* 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. | * 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 | + | * Fügen nun den Datensatz für Frau Bohrgut aus den [[ faecher: |
Zeile 61: | Zeile 61: | ||
=== (A2) === | === (A2) === | ||
- | Was bei der Normalisierung nun dummerweise verloren gegangen ist, ist die Zuordnung der Bestellungen zu unseren Kunden, den Doktoren - deswegen hatte der Sekretär die Tabelle ja mal angelegt. | + | Was bei der Normalisierung nun dummerweise verloren gegangen ist, ist die Zuordnung der Bestellungen zu unseren Kunden, den Doktoren - deswegen hatte der Sekretär die Tabelle ja mal angelegt. |
Um die Verknüpfung zwischen den Entitäten nun wieder herzustellen, | Um die Verknüpfung zwischen den Entitäten nun wieder herzustellen, | ||
Zeile 71: | Zeile 71: | ||
{{ : | {{ : | ||
- | Die eritte | + | Die dritte |
Um das in unserer bestellungen-Tabelle abzubilden, müssen wir folgendes eintragen: | Um das in unserer bestellungen-Tabelle abzubilden, müssen wir folgendes eintragen: | ||
| id | anzahl | produkt_id | doktor_id | hersteller_id | | | id | anzahl | produkt_id | doktor_id | hersteller_id | | ||
- | | 1 | 3 | 3 | 3 | + | | 1 | 3 | 3 | 3 |
+ | |||
+ | **(i)** Was muss man für die Bestellung in der letzten Zeile der Universaltabelle eintragen? | ||
+ | |||
+ | ++++ Lösung | | ||
+ | < | ||
+ | | id | anzahl | produkt_id | doktor_id | hersteller_id | | ||
+ | | 2 | 2 | 4 | 1 | 3 | | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | **(ii)** Komplettiere die Bestellungstabelle in deiner Übungsdatenbank und führe dann die folgende Abfrage aus: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * FROM hersteller, | ||
+ | WHERE bestellungen.produkt_id = produkte.id | ||
+ | AND bestellungen.doktor_id = doktoren.id | ||
+ | AND bestellungen.hersteller_id = hersteller.id | ||
+ | </ | ||
+ | |||
+ | Erläutere, was bei dieser Abfrage passiert und interpretiere das Ergebnis. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | <WRAP center | ||
+ | Nun befinden sich alle Relationen unserer Datenbank in der 2. Normalform((In unserem speziellen Fall sogar zufällig bereits in der 3.)). | ||
+ | </ | ||
+ | |||
+ | Die normalisierte Datenbank: {{ : | ||
+ |