Prim?rnyckel

Varf?r oss?

L?r dig vad som menas med en prim?rnyckel inom datahantering. Techopedia f?rklarar allt fr?n grunden och ger dig tydliga exempel.

Vad ?r en prim?rnyckel?

En prim?rnyckel ?r en speciell tabellkolumn (eller kombination av kolumner) i en relationsdatabas som ?r avsedd att unikt identifiera varje tabellpost.

En prim?rnyckel anv?nds som en unik identifierare f?r att snabbt analysera data i tabellen. En tabell kan inte ha mer ?n en prim?rnyckel.

En prim?rnyckels viktigaste egenskaper ?r f?ljande:

  • Den m?ste inneh?lla ett unikt v?rde f?r varje datarad.
  • Den kan inte inneh?lla nollv?rden.
  • Varje rad m?ste ha ett prim?rnyckelv?rde.

En prim?rnyckel kan anv?nda ett eller flera f?lt som redan finns i den underliggande datamodellen, eller s? kan ett specifikt extraf?lt skapas f?r att vara prim?rnyckel.

Techopedia f?rklarar prim?rnyckel

Prim?rnyckelkonceptet ?r avg?rande f?r en effektiv relationsdatabas. Utan prim?rnyckeln och de n?rbesl?ktade begreppen f?r fr?mmande nycklar skulle relationsdatabaser inte fungera.

Eftersom en tabell l?tt kan inneh?lla tusentals poster (inklusive dubbletter) ?r en prim?rnyckel n?dv?ndig f?r att s?kerst?lla att en tabellpost alltid kan identifieras p? ett unikt s?tt.

Alla nycklar som kommer fr?n verkliga observationer och attribut kallas naturliga prim?rnycklar, i motsats till surrogatprim?rnycklar som ist?llet tilldelas godtyckligt till varje post.

N?stan alla individer hanterar naturliga prim?rnycklar ofta men omedvetet i vardagen.

Till exempel tilldelas studenter rutinm?ssigt unika identifikationsnummer (ID-nummer), och alla amerikanska medborgare har statligt tilldelade och unikt identifierbara socialf?rs?kringsnummer. Gatuadresser eller k?rkortsnummer ?r exempel p? prim?rnycklar som anv?nds f?r att unikt identifiera (respektive) platser eller bilar.

Ett annat exempel ?r en databas som m?ste inneh?lla alla data som lagras av en aff?rsbank. Tv? av databastabellerna ?r CUSTOMER_MASTER, som lagrar grundl?ggande och statiska kunddata (namn, f?delsedatum, adress, personnummer, m.m.) och ACCOUNTS_MASTER, som lagrar olika bankkontodata (datum d? kontot skapades, kontotyp, uttagsgr?nser eller motsvarande kontoinformation, m.m.).

F?r att unikt identifiera kunder v?ljs en kolumn eller en kombination av kolumner f?r att garantera att tv? kunder aldrig har samma unika v?rde. Vissa kolumner elimineras d?rf?r omedelbart, till exempel efternamn och f?delsedatum.

En bra prim?rnyckelkandidat ?r den kolumn som ?r avsedd f?r personnummer. Vissa kontoinnehavare kanske dock inte har personnummer, s? denna kolumn ?r inte aktuell.

N?sta logiska alternativ ?r att anv?nda en kombination av kolumner, till exempel att l?gga till efternamnet till f?delsedatumet till e-postadressen, vilket resulterar i en l?ng och besv?rlig prim?rnyckel.

Det b?sta alternativet ?r att skapa en separat prim?rnyckel i en ny kolumn med namnet CUSTOMER_ID. D? genererar databasen automatiskt ett unikt nummer varje g?ng en kund l?ggs till, vilket garanterar en unik identifiering.

N?r denna nyckel skapas anges kolumnen som prim?rnyckel i det SQL-skript som skapar tabellen, och alla null-v?rden avvisas automatiskt.

Kontonumret som ?r kopplat till varje CUSTOMER_ID m?jligg?r s?ker hantering av kundfr?gor och snabba s?ktider (som med alla indexerade tabeller.)

En kund kan exempelvis bli ombedd att ange sitt efternamn vid en bankf?rfr?gan. En fr?ga om ett vanligt efternamn (t.ex. Smith) kommer sannolikt att ge flera resultat.

Om du anv?nder funktionen f?r unikhet f?r prim?rnyckeln garanteras ett resultat vid s?kning av data.

Relaterade termer

Margaret Rouse
Technology expert
Margaret Rouse
Teknikexpert

Margaret Rouse ?r en prisbel?nt teknisk skribent och l?rare som ?r k?nd f?r sin f?rm?ga att f?rklara komplexa tekniska ?mnen f?r en icke-teknisk aff?rspublik. Under de senaste tjugo ?ren har hennes f?rklaringar publicerats p? TechTargets webbplatser och hon har citerats som en auktoritet i artiklar av New York Times, Time Magazine, USA Today, ZDNet, PC Magazine och Discovery Magazine.Margarets idé om en rolig dag ?r att hj?lpa IT- och aff?rsproffs att l?ra sig tala varandras h?gt specialiserade spr?k. Om du har ett f?rslag p? en ny definition eller hur man kan f?rb?ttra en teknisk f?rklaring, v?nligen maila Margaret eller kontakta…

',a='';if(l){t=t.replace('data-lazy-','');t=t.replace('loading="lazy"','');t=t.replace(/