Belangrijkste verschil: een primaire sleutel kan geen null toestaan en kan maar één keer in een tabel worden gemaakt. Een unieke sleutel staat nul toe en kan meerdere keren in een tabel worden aangemaakt. De toetsen spelen een belangrijke rol bij het opslaan en ophalen van gegevens.
Microsoft SQL is een relationeel databasebeheersysteem dat is ontwikkeld door Microsoft. De hoofdfunctie omvat het opslaan en ophalen van gegevens op verzoek van andere softwaretoepassingen die op dezelfde computer of op verschillende computers in een netwerk worden uitgevoerd.
De toetsen spelen een belangrijke rol bij het opslaan en ophalen van gegevens. De gegevens die op de server zijn opgeslagen, zijn een reeks tabellen met kolommen. Deze kolommen slaan verschillende soorten informatie op en kunnen worden opgehaald met behulp van instructies. Primaire sleutel en unieke sleutel zijn twee soorten sleutels die bepalen hoe de gegevens in het systeem worden opgeslagen.
Objecten in de SQL Server-database zijn georganiseerd als tabellen en indexen en worden opgeslagen als een verzameling van 8-KB pagina's. De sleutels helpen bepalen waar de informatie in de database is opgeslagen. Beide sleutels verschillen van elkaar. Een primaire sleutel is echter een type unieke sleutel. Ze zijn ook vergelijkbaar in functies maar bieden verschillende functionaliteiten.
Primaire sleutels worden gedefinieerd door de PRIMAIRE KEY-voorwaarde en kunnen worden opgegeven tijdens het maken van de tabel. In de SQL-standaard kunnen primaire sleutels uit een of meerdere kolommen bestaan. Elke kolom die deelneemt aan de primaire sleutel is impliciet gedefinieerd als NOT NULL. Een primaire sleutel biedt 3 hoofdfuncties:
Elke tabel kan niet meer dan één primaire sleutel bevatten.
Op sommige databasesystemen maakt een primaire sleutel standaard een geclusterde index.
Unieke sleutels lijken op de primaire sleutels en kunnen worden gedefinieerd tijdens het maken van de tabel. Met de unieke sleutels kunnen gegevens of rijen ook niet in een andere tabel worden herhaald. De 3 belangrijkste functies die een unieke sleutelaanbieding omvat:
Een unieke sleutel kan null toestaan, maar slechts één (een unieke sleutel kan worden gedefinieerd op kolommen die nulls toestaan.)
Elke tabel kan meerdere unieke sleutels hebben.
Op sommige databasesystemen maakt een unieke sleutel standaard een niet-geclusterde index.
Vergelijking tussen primaire sleutel en unieke sleutel:
Hoofdsleutel | Unieke sleutel | |
Definitie | Primaire sleutel is een type van een unieke sleutel. Dit is de sleutel die mag migreren naar andere entiteiten om de relaties te definiëren die bestaan tussen de entiteiten. | Een unieke sleutel is een verzameling van nul, één of meer attributen. De waarde (n) van deze kenmerken moeten uniek zijn voor elke tuple (rij) in een relatie. De waarde of combinatie van waarden van unieke sleuteleigenschappen voor een willekeurig tuple mag niet worden herhaald voor een ander tuple in die relatie. |
Gebruikt in | Relationele databasebeheersystemen zoals MySQL, Oracle, etc. | Relationele databasebeheersystemen zoals MySQL, Oracle, etc. |
Null-waarden | Accepteert geen nulwaarden | Accepteert slechts één nulwaarde in de tabel |
Type index | Is een geclusterde index en gegevens in de databasetabel fysiek georganiseerd in de volgorde van de geclusterde index | Is een unieke niet-geclusterde index |
Aantal toegestane sleutels | Slechts één primaire sleutel in een tabel | Kan meer dan één unieke sleutel in een tabel hebben |
converteerbaar | Kan in een andere sleutel in een andere tafel worden gemaakt | Kan in een andere sleutel in een andere tafel worden gemaakt |