Uma sugestão muito forte:
Não mandar a chave preliminar ser algum tipo do número composto e do texto como “LAP001”. Fazer-lhe uma régua para usar uma chave preliminar abstrata, um autonumber, em todas as situações a menos que houver uma pressão e uma exigência provada do negócio para usar mais algo. Eu sugeriria algo como o seguinte:
tblDevice
Chave preliminar de DeviceID Autonumber
Required originais do texto de DeviceSerialNumber 50) (
DeviceTypeID por muito tempo (chave extrangeira ao tblDeviceType) exigiu
DateTime de DeviceDatePurchased
etc.
tblDeviceType
Chave preliminar de DeviceTypeID Autonumber
Texto de DeviceType (50) -- junta-se ao tblDevice
tblUser
Chave preliminar do UserID Autonumber
Texto do username (50)
etc.
tblDeviceUserHistory
Chave preliminar de DeviceID, chave extrangeira (ao tblDevice) -- Ou usar uma chave abstrata apenas para esta tabela, se isso provará mais simples do que uma chave composta
Chave extrangeira da chave preliminar do UserID (ao tblUser) -- ditto
O DateTime de DateUsedFrom exigiu -- Você pôde considerar um índice original que combina DeviceID, UserID, DateUsedFrom se você prevê issueing o mesmo dispositivo ao mesmo usuário mais de uma vez
Memorando das notas
etc.
Confiar-me nisto. É o que eu faço para uma vida, bases de dados de projeto, e este é baseado em anos de reparar projetos maus do outro pessoa! Como são “mau”? Forçam o negócio para caber a base de dados, para não mandar a base de dados ajudar ao negócio.