Verschil tussen buitenlandse sleutel en primaire sleutel

Inhoudsopgave:

Verschil tussen buitenlandse sleutel en primaire sleutel
Verschil tussen buitenlandse sleutel en primaire sleutel

Video: Verschil tussen buitenlandse sleutel en primaire sleutel

Video: Verschil tussen buitenlandse sleutel en primaire sleutel
Video: Primary & Foreign Keys 2024, November
Anonim

Het belangrijkste verschil tussen externe sleutel en primaire sleutel is dat externe sleutel een kolom of een reeks kolommen is die verwijzen naar een primaire sleutel of een kandidaatsleutel van een andere tabel, terwijl de primaire sleutel een kolom of een reeks kolommen is die kan worden gebruikt om een rij in een tabel uniek te identificeren.

Een kolom of een reeks kolommen die kan worden gebruikt om een rij of een reeks rijen in een database te identificeren of te openen, wordt een sleutel genoemd. Een primaire sleutel in een relationele database is een combinatie van kolommen in een tabel die op unieke wijze een rij van de tabel identificeren. Foreign key in een relationele database is een veld in een tabel dat overeenkomt met de primaire sleutel van een andere tabel. De externe sleutel wordt gebruikt om naar tabellen te verwijzen.

Verschil tussen buitenlandse sleutel en primaire sleutel - Vergelijkingsoverzicht
Verschil tussen buitenlandse sleutel en primaire sleutel - Vergelijkingsoverzicht
Verschil tussen buitenlandse sleutel en primaire sleutel - Vergelijkingsoverzicht
Verschil tussen buitenlandse sleutel en primaire sleutel - Vergelijkingsoverzicht

Wat is een buitenlandse sleutel?

Foreign key is een referentiële beperking tussen twee tabellen. Het identificeert een kolom of een reeks kolommen in een tabel, de referentietabel genoemd die verwijst naar een reeks kolommen in een andere tabel, de tabel waarnaar wordt verwezen. De refererende sleutel of de kolommen in de verwijzingstabel moeten de primaire sleutel of een kandidaatsleutel (een sleutel die als primaire sleutel kan worden gebruikt) in de tabel waarnaar wordt verwezen zijn. Bovendien maken externe sleutels het mogelijk om gegevens over meerdere tabellen te koppelen. Daarom kan de refererende sleutel geen waarden bevatten die niet voorkomen in de tabel waarnaar deze verwijst. Dan helpt de referentie die door de externe sleutel wordt geleverd om informatie in verschillende tabellen te koppelen en dit zou essentieel worden bij genormaliseerde databases. Meerdere rijen in de referentietabel kunnen verwijzen naar een enkele rij in de referentietabel.

Verschil tussen buitenlandse sleutel en primaire sleutel
Verschil tussen buitenlandse sleutel en primaire sleutel
Verschil tussen buitenlandse sleutel en primaire sleutel
Verschil tussen buitenlandse sleutel en primaire sleutel

Figuur 01: Toewijzing van externe sleutels

In de ANSI SQL-standaard definieert de FOREIGN KEY-beperking buitenlandse sleutels. Bovendien is het mogelijk om de externe sleutels te definiëren bij het maken van de tabel zelf. Een tabel kan meerdere externe sleutels hebben en ze kunnen naar verschillende tabellen verwijzen.

Wat is de primaire sleutel?

Primaire sleutel is een kolom of een combinatie van kolommen die op unieke wijze een rij definieert in een tabel van een relationele database. Een tabel kan maximaal één primaire sleutel hebben. Primaire sleutel dwingt de impliciete NOT NULL-beperking af. Daarom kan een kolom met primaire sleutel geen NULL-waarden bevatten. De primaire sleutel kan een normaal kenmerk in de tabel zijn dat gegarandeerd uniek is, zoals een burgerservicenummer, of het kan een unieke waarde zijn die wordt gegenereerd door het databasebeheersysteem, zoals een GUID (Globally Unique Identifier) in Microsoft SQL Server.

Belangrijkste verschil tussen buitenlandse sleutel en primaire sleutel
Belangrijkste verschil tussen buitenlandse sleutel en primaire sleutel
Belangrijkste verschil tussen buitenlandse sleutel en primaire sleutel
Belangrijkste verschil tussen buitenlandse sleutel en primaire sleutel

Figuur 02: Primaire sleutel

Bovendien definieert de PRIMARY KEY-beperking in ANSI SQL Standard primaire sleutels. Het is ook mogelijk om een primaire sleutel te definiëren bij het maken van de tabel. Daarnaast staat SQL toe dat de primaire sleutel bestaat uit een of meer kolommen, en elke kolom die is opgenomen in de primaire sleutel is impliciet gedefinieerd als NOT NULL. Maar sommige databasebeheersystemen vereisen dat de primaire sleutelkolommen expliciet NIET NULL zijn.

Wat is het verschil tussen buitenlandse sleutel en primaire sleutel?

Buitenlandse sleutel versus primaire sleutel

Foreign key is een kolom of groep kolommen in een relationele databasetabel die een koppeling tussen gegevens in twee tabellen biedt. Primaire sleutel is een speciale relationele databasetabelkolom of een combinatie van meerdere kolommen waarmee alle tabelrecords uniek kunnen worden geïdentificeerd.
NULL
Buitenlandse sleutel accepteert NULL-waarde. Primaire sleutelwaarde mag niet NULL zijn.
Aantal toetsen
Tabel kan meerdere buitenlandse sleutels hebben. Tabel kan maar één primaire sleutel hebben.
Duplicatie
Tupels kunnen een dubbele waarde hebben voor een refererend sleutelkenmerk. Twee tupels in een relatie kunnen geen dubbele waarden hebben voor een primair sleutelkenmerk.

Samenvatting – Buitenlandse sleutel versus primaire sleutel

Het verschil tussen externe sleutel en primaire sleutel is dat externe sleutel een kolom of een reeks kolommen is die verwijst naar een primaire sleutel of een kandidaatsleutel van een andere tabel, terwijl de primaire sleutel een kolom of een reeks kolommen is die kan worden gebruikt om een rij in een tabel uniek te identificeren.

Aanbevolen: