kvm SERVER – 2008 – oprettelse af primær nøgle, fremmed nøgle og Standardbegrænsning
primær nøgle, fremmed nøgle og Standardbegrænsning er de 3 vigtigste begrænsninger, der skal overvejes, mens du opretter tabeller eller endda efter det. Det virker meget let at anvende disse begrænsninger, men vi har stadig nogle forvirringer og problemer, mens vi implementerer det. Så jeg forsøgte at skrive om disse begrænsninger, der kan oprettes eller tilføjes på forskellige niveauer og på forskellige måder eller metoder.
primær nøgle begrænsning: primære nøgler begrænsninger forhindrer dublerede værdier for kolonner og giver entydig identifikator til hver kolonne, samt det skaber grupperet indeks på kolonnerne.
1) Opret Tabelopgørelse for at oprette primær nøgle
a. Kolonneniveau
USE AdventureWorks2008GOCREATE TABLE Products(ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,ProductName VARCHAR(25));GO
b. Tabel niveau
CREATE TABLE Products(ProductID INT,ProductName VARCHAR(25)CONSTRAINT pk_products_pid PRIMARY KEY(ProductID));GO
2) ændre Tabelopgørelse for at oprette primær nøgle
ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO
3) ændre sætning for at droppe primær nøgle
ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO
udenlandsk nøglebegrænsning: Når en fremmed nøgle-begrænsning føjes til en eksisterende kolonne eller kolonner i tabellen, kontrollerer du som standard de eksisterende data i kolonnerne for at sikre, at alle værdier, undtagen NULL, findes i kolonnen / kolonnerne i den refererede primære nøgle eller entydige betingelse.
1) Opret Tabelopgørelse for at oprette fremmed nøgle
a. Kolonneniveau
USE AdventureWorks2008GOCREATE TABLE ProductSales(SalesID INT CONSTRAINT pk_productSales_sid PRIMARY KEY,ProductID INT CONSTRAINT fk_productSales_pid FOREIGN KEY REFERENCES Products(ProductID),SalesPerson VARCHAR(25));GO
b. Tabel niveau
CREATE TABLE ProductSales(SalesID INT,ProductID INT,SalesPerson VARCHAR(25)CONSTRAINT pk_productSales_sid PRIMARY KEY(SalesID),CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID));GO
1) Alter Table-erklæring for at oprette fremmed nøgle
ALTER TABLE ProductSalesADD CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID)GO
2) Alter Table Statement at droppe fremmed nøgle
ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO
Standardbegrænsning: standardbegrænsning, når den oprettes i en kolonne, har standarddataene, der er angivet i begrænsningen, når der ikke indsættes nogen poster eller data i den kolonne.
1) Opret Tabelopgørelse for at oprette Standardbegrænsning
a. Kolonneniveau
USE AdventureWorks2008GOCREATE TABLE Customer(CustomerID INT CONSTRAINT pk_customer_cid PRIMARY KEY,CustomerName VARCHAR(30),CustomerAddress VARCHAR(50) CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN');GO
B. Tabelniveau: Ikke relevant for Standardbegrænsning
2) ændre Tabelopgørelse for at tilføje Standardbegrænsning
ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO
3) ændre tabel for at droppe Standardbegrænsning
ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO