È buona norma (o avrebbe effetti negativi) utilizzare un set di 4 colonne per identificare una riga come unica (una è una chiave foriegn, le altre tre sono tipi di dati float)? Sto tentando di costruire una tabella che (con 4 chiavi collegate) descriva una voce unica nella tabella. Sono curioso di sapere se questo è un buon piano di attacco o se esiste un modo migliore.
A scopo visivo, immagina la tabella seguente. Abbiamo articoli di inventario organizzati come nella seguente tabella: ( [K]
è simbolico della chiave primaria, le linee sono relazioni)
Sheet_Class Sheet_Type Sheet_Size
=========== ========== ==========
[K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size
'---- Sheet_Class '---- Sheet_Type
Length
Width
Thickness
I dati possono presentarsi nel modo seguente, ma per brevità ho escluso il passaggio sulle colonne collegate:
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
Così com'è (e ho mostrato nel mio "schema" sopra), uso una chiave primaria intera (auto-incremento) per le voci nella tabella Sheet_Size . Tuttavia, mi piacerebbe sapere se è meglio utilizzare una combinazione delle colonne Sheet_Type , Lunghezza , Larghezza e Spessore ? Dato che ogni voce in Sheet_Size dovrebbe condividere tutte queste qualità uniche e che un campo a incremento automatico non lo dimostrerebbe abbastanza bene, è questa la strada migliore da prendere?
Se non sto spiegando abbastanza bene la situazione, per favore fatemi sapere. Mi sto trovando nella necessità di dividere queste porzioni (Class vs Type vs. Actual stock size) di un materiale inventario per altri scopi logici, ma sono pronto per qualsiasi altro tipo di feedback.
Qualsiasi consiglio sarebbe apprezzato.
Aggiornamento (08-12-2011)
Dopo le risposte pubblicate, ho deciso di fare una combinazione di risposta di Mark & risposta di X-Zero . Ho deciso che è una buona idea porre un vincolo unico alle colonne di lunghezza, larghezza e spessore, ma mi piace anche l'idea di suddividere le dimensioni del materiale in file uniche e collegarle con una relazione.
Sfortunatamente non posso accettare entrambe le risposte, quindi accetterò X-Zeros per considerare (quello che sento) uno sguardo più critico al problema e offrire un adeguamento dello schema.
Grazie a tutti per le vostre risposte.