Hoe een primaire sleutel in een database te kiezen

Een primaire sleutel is een kolom in een relationele database die wordt gebruikt om elk record in een tabel uniek te identificeren. Wanneer u een primaire sleutel selecteert, moet u een kolom kiezen die unieke waarden voor alle rijen bevat. Elke rij moet een waarde hebben in de kolom primaire sleutel en de waarden mogen niet veranderen. Als u geen natuurlijke primaire sleutel kunt vinden die past bij alle regels, kunt u een Surrogate-toets maken. ThisTeaches u Hoe een primaire sleutel voor uw database selecteren.

Stappen

  1. Titel afbeelding Kies een primaire sleutel in een database Stap 1
1. Zorg ervoor dat alle records in de primaire sleutel uniek zijn. Dit betekent dat u een kolom wilt kiezen die een soort unieke identifier bevat die nooit in andere rijen herhaalt. Als een kolom waarden bevat die voor meer dan één rij identiek zijn, zou het moeten niet wees je primaire sleutel.
  • Als u bijvoorbeeld een database van werknemers bouwt en elke medewerker een uniek werknemersnummer heeft, kunt u de kolom gebruiken die het werknemers-ID-nummer bevat als uw primaire sleutel - moet u echter alleen dit doen als er geen kans is op dezelfde ID zal in de toekomst opnieuw worden gebruikt.
  • Mogelijk wilt u overwegen om een ​​composietsleutel te gebruiken, een primaire sleutel die meerdere kolommen gebruikt. Combineren van meer dan één kolom in uw sleutel (E.g., Het combineren van datumOfbirth, countryoforigin en werknemerid) vermindert de kans op dubbele vermeldingen.
  • Titel afbeelding Kies een primaire sleutel in een database Stap 2
    2. Kies een waarde die niet zal veranderen. Zodra u een kolom als de primaire sleutel toewijst, kunt u geen van de waarden in die kolom wijzigen. Kies iets statisch - iets waarvan je weet dat je dat doet nooit moet updaten.
  • In ons medewerker-ID-voorbeeld wilt u bijvoorbeeld alleen de kolom voor werknemers-ID gebruiken als de primaire ID als er geen kans is dat de werknemer ooit een andere werknemer-ID heeft toegewezen.
  • Andere stukjes informatie die kan veranderen zijn de namen van mensen, adressen, telefoonnummers en adressen. Vermijd deze bij het selecteren van een primaire sleutel.
  • Titel afbeelding Kies een primaire sleutel in een database Stap 3
    3. Er kunnen geen nulwaarden in de primaire sleutel zijn. Elke rij moet een identifier hebben - er kan geen null-waarden de primaire toetskolom voor elke rij zijn.
  • Laten we bijvoorbeeld zeggen dat u een database maakt met patiëntinformatie. Omdat burgersnummers uniek zijn en niet veranderen, lijkt een dergelijke kolom misschien een goede kandidaat voor een privésleutel. Je hebt echter een invoer voor sofinummer nodig voor alle Patiënten - Als een patiënt er geen heeft verstrekt, kunt u ze niet aan de tabel toevoegen als die kolom uw primaire sleutel is.
  • Titel afbeelding Kies een primaire sleutel in een database Stap 4
    4. Overweeg met het gebruik van een Surrogate-toets. Een natuurlijke sleutel is een sleutel die echte gegevens bevat, zoals een sofinummer of werknemers-ID-nummer - al onze vorige voorbeelden zijn natuurlijke sleutels. Het kan moeilijk zijn om iets te vinden dat voldoet aan alle bovengenoemde kwalificaties! Als u een kolom niet kunt identificeren die zou werken als een (natuurlijke) primaire sleutel, probeer dan een Surrogate-toets:
  • Een surrogaattoets bevat unieke waarden die worden gegenereerd wanneer nieuwe records worden ingevoerd. Als u een Surrogate-toets wilt gebruiken, moet u een nieuwe kolom maken die geen echte gegevens weerspiegelt, bijvoorbeeld als u een lijst met klanten hebt, kunt u een nieuwe kolom met de naam CustomerID maken die u uitsluitend gebruikt Een unieke database-ID voor elke klant.
  • In het CustomerID-voorbeeld, telkens wanneer u een nieuwe klant invoert in uw database, zou u ze een nieuwe klantid toewijzen die zou dienen als hun permanente unieke identifier. U kunt een cijfergenerator gebruiken of gewoon 1 toevoegen aan de vorige waarde om een ​​unieke nieuwe klant-ID te maken.
  • Deel in het sociale netwerk:
    Vergelijkbaar