Verschil tussen vreemde sleutel en primaire sleutel

Anonim

Buitelandse sleutel tegen primaire sleutel

Een kolom of een set kolommen, die kunnen worden gebruikt om een ​​rij of een reeks rijen in een database te identificeren of toegang te krijgen wordt een sleutel genoemd. Een primaire sleutel in een relationele database is een combinatie van kolommen in een tabel die uniek een rij van de tabel identificeert. Buitenlandse sleutel in een relationele database is een veld in een tabel die overeenkomt met de primaire sleutel van een andere tabel. De vreemde sleutel wordt gebruikt om referentietabellen te overschrijden.

Wat is de primaire sleutel?

Primaire sleutel is een kolom of een combinatie van kolommen die uniek een rij definiëren in een tabel van een relationele database. Een tafel kan maximaal één primaire sleutel bevatten. Primaire sleutel handhaaft de impliciete NIET NULL-beperking. Zo kan een kolom die is gedefinieerd als de primaire sleutel, geen NULL-waarden bevatten. Primaire sleutel kan een normaal kenmerk zijn in de tabel die uniek wordt gewaarborgd, zoals een social security nummer of het kan een unieke waarde zijn die door het database management systeem wordt gegenereerd, zoals een Globally Unique Identifier (GUID) in Microsoft SQL Server. Primaire sleutels worden gedefinieerd door de PRIMARY KEY-restrictie in ANSI SQL Standard. Primaire sleutel kan ook worden gedefinieerd bij het maken van de tabel. SQL laat de primaire sleutel toe in één of meer kolommen en elke kolom die in de primaire sleutel is opgenomen, is impliciet gedefinieerd als NIET NULL. Maar sommige database management systemen vereisen dat de primaire sleutel kolommen expliciet NIET NULL worden.

Wat is Foreign Key?

Buitenlandse sleutel is een referentiebeperking tussen twee tabellen. Het identificeert een kolom of een set kolommen in een tabel, de referentietabel genoemd die verwijst naar een set kolommen in een andere tabel, de referentietabel genoemd. De vreemde sleutel of de kolommen in de referentietabel moeten de primaire sleutel of een kandidaat sleutel zijn (een sleutel die als primaire sleutel kan worden gebruikt) in de referentietabel. Buitenlandse sleutels worden gebruikt om gegevens over meerdere tabellen te koppelen. Daarom kan de vreemde sleutel geen waarden bevatten die niet voorkomen in de tabel waarnaar het verwijst. Dan kan de door de buitenlandse sleutel verstrekte referentie gebruikt worden om informatie in meerdere tabellen te koppelen en dit zou essentieel zijn bij genormaliseerde databases. Meerdere rijen in de referentietabel kunnen verwijzen naar een enkele rij in de referentietabel. In ANSI SQL-standaard worden vreemde sleutels gedefinieerd met behulp van de FOREIGN KEY-beperking. Verder kunnen vreemde sleutels worden gedefinieerd wanneer u de tafel zelf maakt. Een tabel kan meerdere vreemde sleutels hebben en ze kunnen verschillende tabellen verwijzen.

Wat is het verschil tussen de vreemde sleutel en de primaire sleutel?

Het belangrijkste verschil tussen de primaire sleutel en de vreemde sleutel is dat de primaire sleutel een kolom of een set kolommen is die kan worden gebruikt om een ​​rij in een tabel uniek te identificeren, terwijl de vreemde sleutel een kolom of een set kolommen is die verwijzen naar een primaire sleutel of een kandidaat sleutel van een andere tabel.Buitenlandse sleutel biedt voornamelijk een methode om informatie in verschillende tabellen te koppelen. Een ander verschil is dat een tafel een enkele primaire sleutel kan hebben, maar het kan meerdere vreemde sleutels hebben die verschillende tabellen kunnen verwijzen.