Verschil tussen primaire sleutel en buitenlandse sleutel

Sleutels zijn fundamentele elementen van de relationele database omdat ze een relatie tussen een paar tabellen tot stand brengen en ervoor zorgen dat elk record in een tabel uniek wordt geïdentificeerd. Sleutels hebben een meer specifieke betekenis dan het aangaan van relaties; ze helpen ook met referentiële integriteit en ze vormen een belangrijk onderdeel van integriteit op tafelniveau. Tafels bevatten enorme hoeveelheden gegevens die zich meestal uitstrekken tot duizenden records die allemaal ongesorteerd en ongeorganiseerd zijn. Het ophalen van bepaalde gegevens uit die talrijke records kan soms moeilijk of soms onmogelijk zijn. Dit is waar de sleutels naar de foto komen. Hier zullen we bestuderen over de twee zeer belangrijke sleutels van het relationele databaseschema en het verschil daartussen: Primaire sleutel en Vreemde sleutel.

Wat is een primaire sleutel?

Een primaire sleutel is een speciale sleutel die elke record in een tabel uniek identificeert. Het is erg belangrijk in de relationele database om een ​​unieke ID in elke rij van een tabel te hebben en de primaire sleutel is precies wat u nodig hebt om een ​​tuple uniek in een tabel te identificeren. Een tuple vertegenwoordigt een set waardekenmerken in een relationele database. Een primaire sleutel kan verwijzen naar een kolom of een reeks kolommen in een relationele databasetabel die wordt gebruikt om impliciet alle records in de tabel te identificeren. De primaire sleutel moet uniek zijn voor elke record aangezien deze fungeert als een unieke ID en geen Null-waarden mag bevatten. Elke database moet één en slechts één primaire sleutel hebben.

Wat is een Foreign Key?

Een foreign key verwijst naar een veld of een verzameling velden in een databaserecord die op unieke wijze een sleutelveld van een andere databaserecord identificeert in een andere tabel. In eenvoudige bewoordingen stelt het een koppeling tussen records in twee verschillende tabellen in een database. Het kan een kolom in een tabel zijn die naar de kolommen met de primaire sleutels wijst, wat betekent dat een in een tabel gedefinieerde externe sleutel verwijst naar de primaire sleutel van een andere tabel. Referenties zijn van cruciaal belang in relationele databases om koppelingen tussen records tot stand te brengen die essentieel zijn voor het sorteren van databases. Vreemde sleutels spelen een belangrijke rol bij normalisatie van relationele databases, vooral wanneer tabellen toegang moeten hebben tot andere tabellen.

Verschil tussen primaire sleutel en buitenlandse sleutel

Basisprincipes van primaire sleutel versus buitenlandse sleutel

Een primaire sleutel is een speciale sleutel in een relationele database die fungeert als een unieke ID voor elke record, wat betekent dat elke rij / record in een tabel uniek wordt geïdentificeerd en dat de waarde ervan uniek moet zijn voor elke rij van de tabel. Een externe sleutel is daarentegen een veld in een tabel die twee tabellen aan elkaar koppelt. Het verwijst naar een kolom of een groep kolommen die op unieke wijze een rij van een andere tabel of dezelfde tabel identificeert.

Relatie van primaire sleutel versus buitenlandse sleutel

Een primaire sleutel identificeert op unieke wijze een record in de relationele databasetabel, terwijl een externe sleutel verwijst naar het veld in een tabel die de primaire sleutel van een andere tabel is. Een primaire sleutel moet uniek zijn en slechts één primaire sleutel is toegestaan ​​in een tabel die moet worden gedefinieerd, terwijl meer dan één externe sleutel in een tabel is toegestaan.

Dubbele waarden van primaire sleutel versus buitenlandse sleutel

Een primaire sleutel is een combinatie van UNIQUE en Not Null-beperkingen, zodat er geen dubbele waarden mogen zijn in een primaire sleutelveld in een relationele databasetabel. Het is niet toegestaan ​​dat twee rijen dubbele waarden bevatten voor een kenmerk met een primaire sleutel. In tegenstelling tot een primaire sleutel, kunnen buitenlandse sleutels dubbele waarden bevatten en een tabel in een relationele database kan meer dan een externe sleutel bevatten.

NULL van primaire sleutel versus externe sleutel

Een van de belangrijkste verschillen tussen de twee is dat vreemde sleutels, in tegenstelling tot primaire sleutels, ook NULL-waarden kunnen bevatten. Een tabel in een relationele database kan slechts één primaire sleutel hebben die geen NULL-waarden toestaat.

Tijdelijke tabel van primaire sleutel versus buitenlandse sleutel

Een primaire sleutelbeperking kan impliciet worden gedefinieerd op tijdelijke tabellen en hun variabelen, terwijl een externe sleutelbeperking niet kan worden afgedwongen op lokale of globale tijdelijke tabellen.

Verwijdering van primaire sleutel versus buitenlandse sleutel

Een primaire sleutelwaarde kan niet worden verwijderd uit de bovenliggende tabel die een externe sleutel in de onderliggende tabel wordt genoemd. U moet de onderliggende tabel eerst verwijderen voordat u de bovenliggende tabel verwijdert. In tegendeel, een externe sleutelwaarde kan uit de onderliggende tabel worden verwijderd, zelfs als de waarde wordt doorverwezen naar de primaire sleutel van de bovenliggende tabel.

Primaire sleutel vs. externe sleutel: vergelijkingsdiagram

Samenvatting van primaire sleutelverzen Vreemde sleutel

Sleutels spelen een cruciale rol in het bestaan ​​van een databaseschema om koppelingen tussen tabellen en binnen een tabel tot stand te brengen. Sleutels leggen relaties vast en dwingen verschillende soorten integriteit af, met name integriteit op tafelniveau en op relationeel niveau. Ten eerste zorgen ze ervoor dat de tabel unieke records bevat en dat de velden die u gebruikt om een ​​relatie tussen tabellen tot stand te brengen, overeenkomende waarden moeten bevatten. Primaire sleutel en externe sleutel zijn de twee belangrijkste en meest voorkomende soorten sleutels die worden gebruikt in relationele databases. Een primaire sleutel is een speciale sleutel die wordt gebruikt om records in een tabel uniek te identificeren, terwijl een externe sleutel wordt gebruikt om de relatie tussen twee tabellen vast te stellen. Beide zijn qua structuur identiek maar spelen verschillende rollen in het relationele databaseschema.