Ist es eine gute Praxis (oder hätte dies nachteilige Auswirkungen), einen Satz von 4 Spalten zu verwenden, um eine Zeile als eindeutig zu identifizieren (eine ist ein Foriegn-Schlüssel, die anderen drei sind Float-Datentypen)? Ich versuche, eine Tabelle zu erstellen, die (mit 4 verknüpften Schlüsseln) einen eindeutigen Eintrag in der Tabelle beschreibt. Ich bin gespannt, ob dies ein guter Angriffsplan ist oder ob es einen besseren Weg gibt.
Stellen Sie sich zu visuellen Zwecken die folgende Tabelle vor. Wir haben Inventargegenstände, die wie in der folgenden Tabelle organisiert sind: ( [K]
ist ein Symbol für den Primärschlüssel, die Zeilen sind Beziehungen)
Sheet_Class Sheet_Type Sheet_Size
=========== ========== ==========
[K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size
'---- Sheet_Class '---- Sheet_Type
Length
Width
Thickness
Die Daten können sich folgendermaßen darstellen, aber der Kürze halber habe ich ausgeschlossen, die verknüpften Spalten zu übernehmen:
Sheet_Class Sheet_Type Sheet_Size (Tables)
[Sheet_Class] [Sheet_Type] [Length], [Width], [Thickness] (Column Values)
============= ============ ==============================
Aluminum
5052-H32
48, 96, 0.032
48, 96, 0.040
48, 96, 0.063
6061-T6
60, 120,0.032
60, 120,0.040
60, 120,0.063
Steel
1018-CRS
48, 96, 0.018
48, 96, 0.023
48, 96, 0.031
So wie es aussieht (und ich habe es in meinem "Schema" oben gezeigt), verwende ich einen einfachen (automatisch inkrementierten) ganzzahligen Primärschlüssel für Einträge in der Sheet_Size- Tabelle. Ich möchte jedoch wissen, ob es besser ist, stattdessen eine Kombination der Spalten Sheet_Type , Length , Width und Thickness zu verwenden. Angesichts der Tatsache, dass jeder Eintrag in Sheet_Size all diese einzigartigen Eigenschaften aufweisen sollte und dass ein automatisch inkrementierendes Feld dies nicht gut genug demonstrieren würde, ist dies der beste Weg?
Wenn ich die Situation nicht gut genug erkläre, lassen Sie es mich bitte wissen. Ich muss diese Teile (Klasse vs. Typ vs. tatsächliche Lagergröße) eines inventarisierten Materials für andere logische Zwecke aufteilen, bin aber für jede andere Art von Feedback bereit.
Jede Anleitung wäre dankbar.
Update (08-12-2011)
Nachdem die Antworten veröffentlicht wurden, habe ich beschlossen, eine Kombination aus Marks Antwort und X-Zeros Antwort zu erstellen . Ich entschied, dass es eine gute Idee ist, die Spalten Länge, Breite und Dicke eindeutig zu beschränken, aber ich mag auch die Idee, Materialgrößen in eindeutige Zeilen aufzuteilen und sie mit einer Beziehung zu verknüpfen.
Leider kann ich nicht beide Antworten akzeptieren, daher werde ich X-Zeros akzeptieren, um (was ich fühle) das Problem kritischer zu betrachten und eine Schemaanpassung anzubieten.
Vielen Dank an alle für Ihre Antworten.