Una sugerencia muy fuerte:
No hacer que la llave primaria sea una cierta clase de número compuesto y de texto como “LAP001”. Hacerle una regla para utilizar una llave primaria abstracta, un autonumber, en todas las situaciones a menos que haya el presionar y un requisito probado del negocio para utilizar algo más. Sugeriría algo como el siguiente:
tblDevice
Llave primaria de DeviceID Autonumber
Required únicos del texto de DeviceSerialNumber 50) (
DeviceTypeID (llave extranjera al tblDeviceType) requirió de largo
Fecha y hora de DeviceDatePurchased
etc
tblDeviceType
Llave primaria de DeviceTypeID Autonumber
Texto de DeviceType (50) -- ensambla al tblDevice
tblUser
Llave primaria del UserID Autonumber
Texto del username (50)
etc
tblDeviceUserHistory
Llave primaria de DeviceID, llave extranjera (al tblDevice) -- O utilizar una llave abstracta apenas para esta tabla, si eso prueba más simple que una llave compuesta
Llave extranjera de la llave primaria del UserID (al tblUser) -- ídem
La fecha y hora de DateUsedFrom requirió -- Usted puede ser que considere un índice único que combina DeviceID, UserID, DateUsedFrom si usted considera el issueing del mismo dispositivo al mismo usuario más de una vez
Nota de las notas
etc
Confiarme en en esto. ¡Es lo que hago para una vida, bases de datos de diseño, y esto se basa el años de fijar los malos diseños de la otra gente! ¿Cómo están “malo”? Fuerzan el negocio para caber la base de datos, para no hacer que la base de datos asista al negocio.