Verschil tussen primaire sleutel en buitenlandse sleutel

In een relationeel databasebeheersysteem (RDBMS) worden de gegevens opgeslagen in tabellen. Omdat een enorme hoeveelheid gegevens in de tabellen wordt opgeslagen, is er altijd een mogelijkheid dat de gegevens ongeorganiseerd worden of duplicaten bevatten. Ook als we de gegevens volgens onze vereiste uit die enorme gegevens moeten halen, wordt de taak moeilijk. Het concept van Key wordt in de RDBMS gebruikt om records in de tabel te identificeren uit duizenden rijen met gegevens. Het gebruik van Key helpt ook bij het vaststellen van de relatie tussen de tabellen, zodat de gegevens uit verschillende tabellen kunnen worden doorverwezen. Dus de sleutel in het relationele databasebeheersysteem handhaaft de integriteit op tabelniveau en de referentiële integriteit. In dit artikel zullen we het verschil tussen de primaire sleutel versus de externe sleutel in detail onderzoeken.

De primaire sleutel in een tabel identificeert records op unieke wijze en de buitenlandse sleutel verwijst naar de primaire sleutel van een andere tabel. Laten we het voorbeeld van twee tabellen nemen: Werknemer- en Salaristabellen om de primaire en buitenlandse sleutelconcepten te begrijpen. Als de tabel Werknemer de primaire sleutel heeft als Werknemer-ID, moet er een kolom Werknemer-ID aanwezig zijn in de salaristabel omdat deze een relatie moet hebben tussen deze twee tabellen door een externe sleutel in de salaristabel te hebben die kan verwijzen naar de primaire sleutel van de tabel Werknemer.

Head to Head-vergelijking tussen primaire sleutel en buitenlandse sleutel (infographics)

Hieronder staan ​​de top 6 verschillen tussen primaire sleutel en buitenlandse sleutel:

Belangrijkste verschillen tussen primaire sleutel en buitenlandse sleutel

Laten we enkele van de belangrijkste belangrijkste verschillen tussen primaire sleutel en buitenlandse sleutel bespreken:

  • De primaire sleutel identificeert de records in een tabel op unieke wijze, terwijl de buitenlandse sleutel wordt gebruikt om de tabellen te koppelen, dwz dat deze verwijst naar de primaire sleutel van een andere tabel.
  • De kolom Primaire sleutel in een tabel kan geen Null-waarden hebben en moet altijd unieke waarden hebben. Maar de externe sleutel in de tabel kan Null-waarden bevatten en kan ook dubbele waarden bevatten.
  • Een tabel kan slechts één primaire sleutel hebben, terwijl er voor een tabel meer dan één buitenlandse sleutel kan zijn.
  • De index wordt automatisch gemaakt voor de primaire sleutel, terwijl voor de externe sleutel indexen niet automatisch worden gemaakt.
  • Het is eenvoudig om de externe sleutelbeperking te verwijderen, hoewel deze verwijst naar de primaire sleutel. Maar het verwijderen van de primaire sleutelbeperking kan records creëren met onderliggende records zonder ouderrecord.

Vergelijkingstabel van primaire sleutel versus buitenlandse sleutel

De onderstaande tabel geeft een overzicht van de vergelijkingen tussen primaire sleutel en buitenlandse sleutel:

HoofdsleutelVreemde sleutel
De primaire sleutel van een tabel in RDBMS kan een enkele kolom zijn of kan uit meer dan één kolom bestaan ​​die wordt gebruikt om elke rij in een tabel uniek te identificeren. In het geval van de primaire sleutel die uit meer dan één kolom bestaat, worden de gegevens van elke kolom gebruikt om het unieke van een rij te bepalen. Een tabel in RDMBS kan slechts één primaire sleutel hebben.De externe sleutel kan een enkele kolom zijn of kan uit meer dan één kolom in een tabel bestaan ​​die wordt gebruikt om te verwijzen naar de primaire sleutel van een andere tabel. De externe sleutel kan worden gebruikt om de tabellen in RDBMS te koppelen. In tegenstelling tot het kenmerk Primaire sleutel kan een tabel in RDBMS meer dan één externe sleutel hebben.
Er zijn weinig voorwaarden waaraan moet worden voldaan om een ​​kolom een ​​primaire sleutel in een tabel te laten zijn. Een van de voorwaarden is dat de primaire sleutel voor elke record een unieke waarde moet bevatten. Het is dus niet toegestaan ​​dat een tabel in RDBMS dubbele waarden heeft voor twee rijen voor het kenmerk Primaire sleutel.In tegenstelling tot de primaire sleutel van een tabel in RDBMS, kan de externe sleutel dubbele waarden bevatten. Dit maakt dubbele waarden mogelijk voor de rijen van een tabel voor het kenmerk buitenlandse sleutel.
De andere voorwaarde van een kolom die voldoet als primaire sleutel, is dat deze geen nulwaarden mag bevatten.Maar de externe sleutel van een tabel in RDBMS kan Null-waarden bevatten.
Er wordt een primaire sleutel opgegeven tijdens het definiëren van de tabel en het is verplicht om de primaire sleutel te definiëren.In tegenstelling tot de primaire sleutel is er geen specifieke tabeldefinitie voor het aangeven van een sleutel als externe sleutel.
Het is niet mogelijk om de primaire sleutelbeperking uit een ouderentabel te verwijderen met de buitenlandse sleutel van de onderliggende tabel die ernaar verwijst. Dus de onderliggende tabel moet eerst worden verwijderd voordat de ouderentabel wordt verwijderd.Maar als we de externe sleutelbeperking in een tabel moeten verwijderen, kan deze uit de onderliggende tabel worden verwijderd, ook al verwijst deze naar de primaire sleutel van de bovenliggende tabel.

De primaire sleutel wordt automatisch geïndexeerd, d.w.z. de primaire sleutel wordt opgeslagen in een index voor een tabel en deze index helpt bij het beheren van de vereiste uniekheid en daarom kunnen de waarden van de externe sleutel gemakkelijk worden verwezen naar de overeenkomstige primaire sleutelwaarden.In het geval van een externe sleutel worden de indexen niet automatisch gemaakt en meestal definieert de databasebeheerder deze.

Conclusie

De primaire en buitenlandse sleutels implementeren niet alleen verschillende soorten integriteit, maar creëren ook relaties tussen tabellen. De primaire en buitenlandse sleutels zorgen er ook voor dat de kolommen die voor de relatie zijn gemaakt, overeenkomende waarden moeten bevatten en dat unieke records in de tabel worden onderhouden. Het relationele databasebeheersysteem werkt efficiënt vanwege de aanwezigheid van de primaire en de externe sleutel.

De beperking Primaire sleutel helpt bij het automatisch toepassen van de gegevensintegriteit omdat het voorkomt dat dubbele rijen gegevens worden ingevoegd of bijgewerkt. Door de sleutelbeperkingen te gebruiken, wordt ook voorkomen dat de rij uit de primaire sleuteltabel uit de bovenliggende tabel wordt verwijderd, zodat er geen onderliggende records worden gemaakt waarvoor er geen bovenliggende record bestaat. Ook wanneer een rij met verwijzing naar de primaire sleutel wordt verwijderd of bijgewerkt in de bovenliggende tabel, wordt de referentiële integriteit onderhouden door de externe sleutel. De sleutels spelen een cruciale rol bij het tot stand brengen van koppelingen tussen de databasetabellen en ook binnen de tabel.

Aanbevolen artikelen

Dit is een gids voor primaire sleutel versus buitenlandse sleutel. Hier bespreken we de belangrijkste sleutelverschillen versus buitenlandse sleutelverschillen met infographics en vergelijkingstabel. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. WebLogic versus WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD tegen Jenkins
  4. Schuld versus aandelenfinanciering