Verschil tussen Primary Key en Foreign Key
Beide primaire sleutels en vreemde sleutels worden gebruikt in relationele databasebeheersystemen (RDBMS), waarbij de primaire sleutel een uniek geïdentificeerd veld is dat kan worden gebruikt als een referentie voor het relateren van de tabellen in het database systeem. Anderzijds is de “Foreign key” geen uniek veld, en wordt deze gebruikt om een verbinding te maken met de primaire sleutel van een andere tabel in dezelfde database. In tegenstelling tot een primaire sleutel, kan een foreign key veld NULL waarden bevatten.
Vergelijking tussen Primary Key vs Foreign Key (Infographics)
Hieronder staan de top 6 verschillen tussen Primary Key vs Foreign Key:
Start je gratis cursus Software Ontwikkeling
Web ontwikkeling, programmeertalen, Software testen & anderen
Sleutelverschillen tussen Primary Key vs Foreign Key
Laten we enkele van de belangrijkste sleutelverschillen tussen Primary Key vs Foreign Key bespreken:
- De Primary Key identificeert de records in een tabel op unieke wijze, terwijl de Foreign Key wordt gebruikt om de tabellen te koppelen, d.w.z.e., de Primary Key van een andere tabel.
- De Primary Key kolom in een tabel kan geen Null waarden hebben en moet altijd unieke waarden hebben. Maar de Foreign Key in de tabel kan Null waarden bevatten en kan ook dubbele waarden hebben.
- Een tabel kan slechts één Primary Key hebben, terwijl er meer dan één Foreign Key voor een tabel kan zijn.
- De index wordt voor de Primary Key automatisch aangemaakt, terwijl voor de Foreign Key geen indexen automatisch worden aangemaakt.
- Het is eenvoudig om de Foreign Key constraint te verwijderen, hoewel deze naar de Primary Key verwijst. Maar het verwijderen van de Primary key constraint kan records opleveren met kindrecords die geen parent record hebben.
Primary Key vs Foreign Key Vergelijkingstabel
De tabel hieronder geeft een samenvatting van de vergelijkingen tussen Primary Key vs Foreign Key:
Primary Key | Foreign Key |
De Primary Key van een tabel in RDBMS kan een enkele kolom zijn of kan uit meer dan een kolom bestaan, die wordt gebruikt om elke rij in een tabel op unieke wijze te identificeren. In het geval dat de Primary Key uit meer dan één kolom bestaat, worden de gegevens van elke kolom gebruikt om de uniciteit van een rij te bepalen. Een tabel in RDMBS kan slechts één Primary Key hebben. | De Foreign Key kan een enkele kolom zijn of kan bestaan uit meer dan één kolom in een tabel die wordt gebruikt om te verwijzen naar de Primary Key van een andere tabel. De Foreign Key kan worden gebruikt om de tabellen in RDBMS te koppelen. In tegenstelling tot het Primary Key attribuut kan een tabel in RDBMS meer dan één Foreign Key hebben. |
Er zijn een paar voorwaarden waaraan moet worden voldaan wil een kolom een Primary Key in een tabel zijn. Een van de voorwaarden is dat de Primary Key een unieke waarde moet bevatten voor elk record. Dus een tabel in RDBMS mag geen dubbele waarden hebben voor twee rijen voor het Primary Key attribuut. | In tegenstelling tot de Primary Key van een tabel in RDBMS, kan de Foreign Key wel dubbele waarden bevatten. Dit maakt het mogelijk om dubbele waarden te hebben voor de rijen van een tabel voor het foreign key attribuut. |
De andere voorwaarde voor een kolom die voldoet om een Primary Key te zijn, is dat deze geen Null waarden mag bevatten. | Maar de Foreign Key van een tabel in RDBMS kan Null waarden bevatten. |
Een Primary Key wordt gespecificeerd bij het definiëren van de tabel, en het is verplicht om de Primary Key te definiëren. | In tegenstelling tot de Primary Key is er geen specifieke tabeldefinitie om een Key als Foreign Key aan te duiden. |
Het is niet mogelijk om de Primary Key constraint van een Parent Table te verwijderen met de Foreign Key van de Child Table die er naar verwijst. Dus de Kindertabel moet eerst worden verwijderd voordat de Oudertabel wordt verwijderd. | Maar als we de Foreign Key constraint in een tabel moeten verwijderen, kan deze wel uit de Kindertabel worden verwijderd, ook al verwijst deze naar de Primary Key van de Oudertabel. |
De Primary Key wordt automatisch geïndexeerd, d.w.z. de Primary Key wordt opgeslagen in een index voor een tabel, en deze index helpt bij het administreren van de eis van uniciteit, en daardoor kunnen de foreign key waarden gemakkelijk worden verwezen naar de corresponderende Primary Key waarden. | In een Foreign Key geval worden de indexen niet automatisch aangemaakt en meestal; de Database Administrator definieert ze. |
Conclusie
De Primaire en Vreemde sleutels implementeren niet alleen verschillende soorten integriteit, maar creëren ook relaties tussen tabellen. De Primaire en Vreemde sleutels zorgen er ook voor dat de kolommen van de relatie overeenkomende waarden moeten bevatten, en dat unieke records in de tabel worden bijgehouden. Het Relationele Database Management Systeem werkt efficiënt door de aanwezigheid van de Primary en de Foreign Key.
De Primary Key constraint helpt bij het automatisch toepassen van de data-integriteit omdat het voorkomt dat een dubbele rij gegevens wordt ingevoegd of bijgewerkt. Het gebruik van de sleutel constraints voorkomt het verwijderen van de rij van de primaire sleutel tabel uit de ouder tabel, zodat er geen kind records worden gemaakt waarvoor er geen ouder record is. Ook wanneer een rij met verwijzing naar de primaire sleutel wordt verwijderd of bijgewerkt in de bovenliggende tabel, wordt de referentiële integriteit gehandhaafd door de Foreign Key. De sleutels hebben een vitale rol in het leggen van links tussen de database tabellen en ook binnen de tabel.
Aanbevolen Artikelen
Dit is een gids voor Primary Key vs Foreign Key. Hier bespreken we de Primary Key vs Foreign Key sleutel verschillen met infographics en vergelijkingstabel. U kunt ook onze andere aanbevolen artikelen doornemen om meer te leren –
- WebLogic vs WebSphere
- ROLAP vs MOLAP vs HOLAP
- SQL Keys
- Travis vs Jenkins