Ett mycket starkt förslag:
Ha inte det primära nyckel- att vara någon sort av sammansättningen numrerar och textnågot liknande ”LAP001”. Gör det en härska för att använda ett abstrakt primärt stämm, en autonumber, sammanlagt lägen, om inte det finns ett tränga och ett bevisat affärskrav för att använda någonting annat. Jag skulle föreslår något den något liknande efter:
tblDevice
DeviceID primära Autonumber stämm
50) unika Required för DeviceSerialNumber text (
DeviceTypeID (utländskt nyckel- till tblDeviceType) krävde Long
DeviceDatePurchased DateTime
etc.
tblDeviceType
DeviceTypeID primära Autonumber stämm
DeviceType text (50) -- sammanfogar till tblDevicen
tblUser
UserID primära Autonumber stämm
UserName-text (50)
etc.
tblDeviceUserHistory
DeviceID primärt nyckel-, utländskt stämm (till tblDevicen) -- Eller använd ett abstrakt nyckel- för detta bordlägger precis, om ska det bevisar enklare, än ett sammansatt stämm
Primärt nyckel- utländskt för UserID stämm (till tblUser) -- dito
DateUsedFrom DateTime krävde -- Du styrkan betraktar ett unikt index som sammanslutningen DeviceID, UserID, DateUsedFrom, om du förutser issueing av den samma apparaten till den samma användaren mer än en gång
Noterar memoen
etc.
Lita på mig på detta. Det är vad jag gör för ett uppehälle, designdatabaser, och denna baseras på år av att fixa annat folks dåligadesigner! Hur är de ”bjöd”? De tvingar affären till passformen databasen, för att inte ha databasen att hjälpa affären.