2017-01-04 4 views
-1

angesichts dieser Beziehung was wäre der Primärschlüssel und zwei Kandidatenschlüssel?Was ist der Primärschlüssel und der Kandidatenschlüssel in dieser Beziehung?

Computer-Chirurgie: {Name des Kunden (Kunden-Vorname, Kunde-Nachname), Kunde-Email, Kunden-Tel, Kunden-Adresse (Haus-Nr/Name, PLZ, Ort, Land, Land) , Kunden-Alter, Kunden-Feedback, Kunden-Feedback-Score, Kundentyp, Anfrage-Datum/Uhrzeit, Autorisiert-durch, Mitarbeitername (Mitarbeiter-Vorname, Mitarbeiter-Nachname), Mitarbeiter-Email, {Mitarbeiter-Qualifikationen }, Service-Typ, Service-Beschreibung, Service-Name, Service-Preis, Discount, Served-Preis, Served-Location, Served-Datum/Uhrzeit, Gesamt-Preis}

Service-Name ist ein Kurzname für Ihre Service Antivirus installieren Servicebeschreibung ist eine vollständige Beschreibung Ihres Dienstes ex. Das Installieren von Antivirenprogrammen umfasst das Scannen Ihres Computers und das Entfernen von Viren und stellen Sie sicher, dass es sauber ist und das Antivirenprogramm einwandfrei funktioniert. Service-Typ könnte Hardware, Software, Wartung, etc ... Service-Preis ist der Preis auf Ihrem Service-Tisch gegen Ihre Dienstleistungen; Dies könnte jederzeit geändert werden. Der Preis ist der Preis, den Sie mit einem Kunden vereinbart haben, dies sollte nicht geändert werden.

Vielen Dank im Voraus!

+0

Ist das ein Hausaufgabenproblem? – jabs

+0

Nein, ich lese es durch, ich weiß, dass es so klingt, aber es ist nicht – jdoggg

+0

nichts über diese Daten wissen, ein guter Kandidat wäre E-Mail, da E-Mail ist einzigartig. Wenn Sie nicht mehr als einen Kunden pro E-Mail haben, müssen Sie eine weitere Spalte hinzufügen, z. B. den Namen. Einige DBs erlauben mehrspaltige PKs (Composite), andere nicht. Gibt es eine Möglichkeit, eine neue Spalte mit einer Zahlenfolge hinzuzufügen und diese als PK zu verwenden? – jabs

Antwort

0

Erstens, dies ist eindeutig keine Hausaufgabenfrage, da ich vertraue, dass niemand mit so einem schlechten Entwurf für eine Hausaufgabenfrage kommen würde. Es kann 1NF sein, aber ist eindeutig nicht 2NF, da Sie viele Daten abhängig von Teilen der Kandidatenschlüssel haben. Da dies eine Software ist, ist der erste Hinweis, diese Beziehung auf mindestens 3NF zu normalisieren.

Ich denke, dass Ihr Primärschlüssel (customer_email, staff_email, service_type, served_datetime) sein muss. Ich sehe keine anderen Kandidatenschlüssel. Und das sollte in mindestens vier Tabellen aufgeteilt werden.

Verwandte Themen