Hvad er primær nøglebegrænsning:
Primary Key Constraint er oprettet for at sikre unikke poster/rækker. Primary Key Constraint kan oprettes på enkelte eller sæt af kolonner, så længe kolonnen/kolonnerne ikke tillader nul-værdier.1) Primary Key Constraint opretter Clustered Index som standard, hvis den ikke allerede eksisterer Lad os sige, at du opretter en ny tabel, og du har tilføjet kolonne med Primary Key, den vil skabe et klynget indeks.
I nedenstående eksempel opretter vi tabel dbo.Customer, og vi har tilføjet CustomerId som Primary Key Constraint. Lad os tjekke, hvilken type indeks der er oprettet.
USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT PRIMARY KEY ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) )
Vi kan forespørge sys.indexes systemvisning for at få indeksoplysninger
SELECT * FROM sys.indexes WHERE object_name(object_id) = 'Customer'
Som du kan se, at Clustered indeks er oprettet, da der ikke var noget cluster index på denne tabel før. Bemærkede navnet på Clustered Index, det er genereret af SQL Server. Det er altid en god ide at give et korrekt navn til indekser i henhold til navnekonventionen/standarder, som din virksomhed bruger.
2) Hvis klynget indeks allerede er oprettet på kolonne, primær Nøglen skal oprette unikt indeks Hvis et klynget indeks allerede er til stede på kolonne/kolonner i en tabel, og vi forsøger at oprette Primary Key, vil det skabe Unique Non-clustered.
Lad os droppe og genskabe dbo.Customer table. Da vi ikke kan oprette Clustered Index på kolonner, der accepterer Null-værdier, er vi nødt til at definere vores Columns Not Null.
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)
Lad os tjekke, hvilken type indekser der oprettes ved at bruge sys.indexes systemvisning. Der bør være ét Clustered Index, som vi oprettede på SSN, og der bør være et unikt ikke-clustered, som skal oprettes af Primary Key Constraint.
Hvad er Primary Key Constraint i SQL Server - SQL Server / TSQL Tutorial
Videodemo:Hvad er primærnøglebegrænsning i SQL Server, og hvordan oprettes primærnøgle