Wat is de primaire sleutelbeperking:
Primary Key Constraint is gemaakt om de uniciteit van records/rijen te garanderen. Primary Key Constraint kan worden gemaakt voor een enkele of een set kolommen, zolang de kolom/kolommen geen Null-waarden toestaan.1) Primary Key Constraint creëert standaard een geclusterde index als deze nog niet bestaat Laten we zeggen dat je een nieuwe tabel aan het maken bent en je hebt een kolom met primaire sleutel toegevoegd, het gaat een geclusterde index maken.
In het onderstaande voorbeeld maken we de tabel dbo.Customer en we hebben CustomerId toegevoegd als primaire sleutelbeperking. Laten we eens kijken welk type index is gemaakt.
USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT PRIMARY KEY ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) )
We kunnen de systeemweergave van sys.indexes opvragen om indexinformatie te krijgen
SELECT * FROM sys.indexes WHERE object_name(object_id) = 'Customer'
Zoals u kunt zien, is een geclusterde index gemaakt omdat er eerder geen clusterindex in deze tabel was. De naam voor de geclusterde index is opgemerkt, deze wordt gegenereerd door SQL Server. Het is altijd een goed idee om de juiste naam voor indexen op te geven volgens de naamgevingsconventie/standaarden die uw bedrijf gebruikt.
2) Als de geclusterde index al is gemaakt op Kolom, Primair Sleutel gaat unieke index maken Als de geclusterde index al aanwezig is op de kolom/kolommen in een tabel en we proberen een primaire sleutel te maken, zal deze een unieke niet-geclusterde index maken.
Laten we de dbo.Customer-tabel verwijderen en opnieuw maken. Omdat we geen geclusterde index kunnen maken voor kolommen die Null-waarden accepteren, moeten we onze Columns Not Null definiëren.
USE YourDatabaseName GO Drop table dbo.Customer GO CREATE TABLE dbo.Customer ( Customerid INT Not Null ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) Not Null ) --Create Clustered Index on SSN Column CREATE CLUSTERED INDEX IX_Customer_SSN ON dbo.Customer (SSN); --Create Primary Key on CustomerID Alter Table dbo.Customer Add Constraint Pk_Customer_CustomerId Primary Key(CustomerId)
Laten we eens kijken welk type indexen zijn gemaakt met behulp van de systeemweergave sys.indexes. Er moet één geclusterde index zijn zoals we die hebben gemaakt op SSN en er moet één unieke niet-geclusterde index zijn die moet worden gemaakt door Primary Key Constraint.
Wat is de primaire sleutelbeperking in SQL Server - SQL Server / TSQL-zelfstudie
Videodemo:wat is de beperking van de primaire sleutel in SQL Server en hoe maak je een primaire sleutel