Ein sehr starker Vorschlag:
Den Primärschlüssel irgendeine Art Verbundzahl und Text wie „LAP001“ nicht sein lassen. Es eine Richtlinie aufstellen, um einen abstrakten Primärschlüssel, ein autonumber, in allen Situationen zu verwenden, es sei denn es ein Betätigen und nachgewiesene eine Geschäftsanforderung gibt, um noch etwas zu benutzen. Ich vorschlagen etwas wie das folgende de:
tblDevice
DeviceID Autonumber Primärschlüssel
DeviceSerialNumber Text-(50) einzigartige erforderliche
DeviceTypeID lang (fremder Schlüssel zum tblDeviceType) erforderte
DeviceDatePurchased Datum/Uhrzeit
usw.
tblDeviceType
DeviceTypeID Autonumber Primärschlüssel
DeviceType Text (50) -- verbindet zum tblDevice
tblUser
Primärschlüssel UserID-Autonumber
Username-Text (50)
usw.
tblDeviceUserHistory
DeviceID Primärschlüssel, fremder Schlüssel (zum tblDevice) -- Oder einen abstrakten Schlüssel gerade für diese Tabelle verwenden, wenn das einfacherer als ein Verbundschlüssel prüft
UserID-Primärschlüssel-fremder Schlüssel (zum tblUser) -- dito
DateUsedFrom Datum/Uhrzeit erforderte -- Sie konnten einen einzigartigen Index betrachten, das DeviceID, UserID, DateUsedFrom kombinieren, wenn Sie beabsichtigen, die gleiche Vorrichtung zum gleichen Benutzer mehrmals issueing
Anmerkungs-Protokoll
usw.
Mir auf diesem vertrauen. Es ist, was ich für ein Leben, Entwurfsdatenbanken tue und dieses auf Jahren des Reparierens der schlechten Entwürfe anderer Leute basiert! Wie sind sie „Schlechtes“? Sie zwingen das Geschäft, um die Datenbank zu passen, die Datenbank das Geschäft nicht unterstützen zu lassen.