¿Es una buena práctica (o tendría algún efecto adverso) usar un conjunto de 4 columnas para identificar una fila como única (una es una clave extranjera y las otras tres son tipos de datos flotantes)? Estoy intentando crear una tabla que (con 4 teclas vinculadas) describa una entrada única en la tabla. Tengo curiosidad si este es un buen plan de ataque o si hay una mejor manera.
Para fines visuales, imagine la siguiente tabla. Tenemos elementos de inventario que están organizados como la siguiente tabla: ( [K]
es simbólico de la clave primaria, las líneas son relaciones)
Sheet_Class Sheet_Type Sheet_Size
=========== ========== ==========
[K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size
'---- Sheet_Class '---- Sheet_Type
Length
Width
Thickness
Los datos pueden presentarse de la siguiente manera, pero por brevedad he excluido traer las columnas vinculadas:
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
Tal como está (y lo he mostrado en mi "esquema" arriba), utilizo una clave primaria entera (incremento automático) simple para las entradas en la tabla Sheet_Size . Sin embargo, me gustaría saber si es mejor usar una combinación de las columnas Sheet_Type , Length , Width y Thickness . Dado que cada entrada en Sheet_Size debería compartir todas estas cualidades únicas, y que un campo de incremento automático no demostraría esto lo suficientemente bien, ¿es esta la mejor ruta a seguir?
Si no estoy explicando la situación lo suficientemente bien, hágamelo saber. Me encuentro necesitando dividir estas porciones (Clase vs. Tipo vs. Tamaños reales de existencias) de un material inventariado para otros propósitos lógicos, pero estoy preparado para cualquier otro tipo de retroalimentación.
Cualquier orientación sería apreciada.
Actualización (08-12-2011)
Después de las respuestas publicadas, he decidido hacer una combinación de la respuesta de la marca y la respuesta de X-Zero . Decidí que es una buena idea colocar una restricción única en las columnas de longitud, ancho y grosor, pero también me gusta la idea de dividir tamaños de material en filas únicas y vincularlas con una relación.
Desafortunadamente, no puedo aceptar ambas respuestas, por lo que voy a aceptar X-Zeros por considerar (lo que siento) una mirada más crítica al problema y ofrecer un ajuste de esquema.
Gracias a todos por sus respuestas.