2013-03-18 7 views
5

enter image description hereNormalisierungs h/w

Mir wurde gesagt, dass setzen in UNF/1NF/2NF/3NF, ist das richtig?

Zeigen Sie die obigen Daten als eine Beziehung in UNF (nicht normalisierte Daten).

Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Telefon, Bundesland, Postleitzahl, Menge, Artikelnummer, Beschreibung, Stückpreis, Total, Teilsumme, Versand, Steuer, Datum, OrderNo.))

Zeigen Sie die Daten als eine Beziehung/s in 1NF. (Geben Sie eine beliebige Taste.)

Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Staat, Telefon, Bundesland, Postleitzahl) Produkt (Artikelnummer, Menge, Beschreibung, Preis pro Artikel, insgesamt, Zwischensumme, Versand, Steuersatz (s), CustomerID (FK).) Order (Best-Nr, Datum, Artikelnummer (FK).)

zeigt die Daten als eine Beziehung/s in 2NF. (Geben Sie eine beliebige Taste.)

Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Telefon, Bundesland, Postleitzahl) Produkt (Artikelnummer, Menge, Beschreibung, Einzelpreis, CustomerID (FK), Total (FK).) Order (Best-Nr, Datum, CustomerID (FK), Artikelnummer (FK).) Total (Total, Zwischensumme, Versand, Steuersätze, Artikelnummer (FK), CustomerID (FK))

zeigen die Daten als eine Beziehung/s in 3NF. (Geben Sie eine beliebige Taste.)

Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Telefon, Bundesland, Postleitzahl) Produkt (Artikelnummer, Beschreibung, Preis je Einheit. CustomerID (FK), Total (FK)) Bestellung (BestellNr, Datum, Kundennummer (FK) .ProduktNr (FK)) Summe (Summe, Zwischensumme, Artikelnummer (FK), Kundennummer (FK)) Versand (Versandkosten, Steuersätze, Summe (FK), BestellNr (FK)) Menge (QtyID, Menge, Artikelnummer (FK), OrderNo (FK).)

Antwort

0

zeigen die obigen Daten als eine Beziehung in UNF (nicht normalisierte Daten).

Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Telefon, Bundesland, Postleitzahl, Menge, Artikelnummer, Beschreibung, Stückpreis, Total, Teilsumme, Versand, Steuer, Datum, OrderNo.))

Nein, das stimmt nicht. Es scheint keine Kundennummer auf der Rechnung zu geben.Bei der Normalisierung werden keine neuen Attribute eingeführt. Als nicht normalisierte Sammlung von Attributen ist es zu früh, diese Liste als "Kunde" zu kennzeichnen.

Zeigen Sie die Daten als eine Beziehung/s in 1NF. (Geben Sie eine beliebige Taste.)

  • Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Staat, Telefon, Bundesland, Postleitzahl)
  • Produkt (Artikelnummer, Menge, Beschreibung, Preis pro Artikel, insgesamt, Zwischensumme , Versand, Steuersatz (s), CustomerID (FK).)
  • Order (Best-Nr, Datum, Artikelnummer (FK).)

Tropfen CustomerID. (Siehe oben.) Ich vermute, dass einer der Kandidatenschlüssel für die Tabelle "Product" "ProductNo" ist. Wenn das der Fall ist, warum enthält diese Tabelle "CustomerID"?

Zeigen Sie die Daten als eine Beziehung/s in 2NF. (Geben Sie eine beliebige Taste.)

  • Kunde (CustomerID, Vorname, Nachname, Adresse, Stadt, Telefon, Bundesland, Postleitzahl)
  • Produkt (Artikelnummer, Menge, Beschreibung, Einzelpreis, CustomerID (FK), Total (FK).)
  • Order (Best-Nr, Datum, CustomerID (FK), Artikelnummer (FK).)
  • Total (Total, Zwischensumme, Versand, Steuersätze, Artikelnummer (FK), CustomerID (FK))

2NF muss mit Witz zu tun haben h Entfernen partieller Schlüsselabhängigkeiten. Welche partielle Schlüsselabhängigkeit haben Sie bei der Erstellung der Tabelle "Total" gefunden? (Hinweis: Dafür gibt es keine Rechtfertigung.) Machen Sie dieses Gedankenexperiment (oder bauen Sie es in SQL auf): Wenn "Total" der Primärschlüssel für die Tabelle "Total" ist, was tun Sie, wenn zwei Bestellungen in der gleiche Summe?

Ich werde hier für jetzt aufhören, denn Sie haben wirklich auf dem falschen Fuß bekommen. Sie müssen starten mit einer Liste aller Attribute, dann identifizieren Sie die möglichen Schlüssel und funktionalen Abhängigkeiten. Ohne dort zu starten, ist es unwahrscheinlich, dass Sie 3NF finden.

+0

Sorry, ich vergaß zu unserem Lehrer sagte uns, um customerID in die Informationen einfügen – Herk

+0

Ich bin gerade erst lernen, wie Datenbanken zu normalisieren (noch nicht mit SQL begonnen haben) so Ich habe ein paar Probleme mit diesen, nicht wirklich sicher, was ich mit insgesamt – Herk

+0

Vertrauen müssen; "Total" ist * nicht * dein Problem. Kandidatenschlüssel und funktionale Abhängigkeiten sind dein Problem. –

4

Es scheint mir gut, aber Sie vermissen ein entscheidendes Stück des Entwurfs. Sie haben keine Primärschlüssel in Ihren Tabellen definiert, obwohl Sie die Fremdschlüssel identifiziert haben (verwenden Sie die Fremdschlüssel, die Sie für die Primärschlüssel auf jeder der Tabellen ausarbeiten müssen :)).

+0

Ah, das ist mein schlecht war, ich habe sie in Wort unterstrichen, nur nicht hier – Herk

+0

@MatthewCorvi haben Kopieren Sie dann Ihr Design ist :) – mattytommo

+0

feinen http://imgur.com/N2hKMtQ, das ist die richtige Version (Ich denke) – Herk

0

Eine interessante Sache über Rechnungen .... J Frompton bestellt einen Rake heute, aber irgendwann in der Zukunft wird sich der Preis ändern. Das ändert jedoch nicht den Preis, den Frompton heute gezahlt hat.

Sobald Rechnungen erfüllt sind, sollten sie wirklich in eine Tabelle mit 1NF verschoben werden.

+0

Frage ist rein Theorie, und ist nur dieser Teil – Herk

Verwandte Themen