februari 24, 2022

SQL SERVER – 2008-skapa primärnyckel, utländsk nyckel och Standardbegränsning

primärnyckel, utländsk nyckel och Standardbegränsning är de 3 huvudbegränsningar som måste beaktas när du skapar tabeller eller till och med efter det. Det verkar väldigt lätt att tillämpa dessa begränsningar men vi har fortfarande vissa förvirringar och problem när vi implementerar det. Så jag försökte skriva om dessa begränsningar som kan skapas eller läggas till på olika nivåer och på olika sätt eller metoder.

Primärnyckelbegränsning: Primärnyckelbegränsningar förhindrar dubbla värden för kolumner och ger unik identifierare till varje kolumn, liksom det skapar grupperat index på kolumnerna.

1) Skapa Tabelluttalande för att skapa primärnyckel

a. kolumnnivå

USE AdventureWorks2008GOCREATE TABLE Products(ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,ProductName VARCHAR(25));GO

b. Tabellnivå

CREATE TABLE Products(ProductID INT,ProductName VARCHAR(25)CONSTRAINT pk_products_pid PRIMARY KEY(ProductID));GO

2) Ändra Tabelluttalande för att skapa primärnyckel

ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO

3) ändra uttalande för att släppa primärnyckel

ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 5_AllQuery

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 5_AllQuery

utländsk nyckelbegränsning: När en SEKUNDÄRNYCKELBEGRÄNSNING läggs till i en befintlig kolumn eller kolumner i tabellen SQL Server kontrollerar du som standard befintliga data i kolumnerna för att säkerställa att alla värden, utom NULL, finns i kolumnen / kolumnerna i den refererade primärnyckeln eller den unika begränsningen.

1) Skapa Tabelluttalande för att skapa utländsk nyckel

a. kolumnnivå

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. Tabellnivå

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) Ändra Tabelluttalande för att skapa utländsk nyckel

ALTER TABLE ProductSalesADD CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID)GO

2) Ändra Tabelluttalande för att släppa utländsk nyckel

ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 10_ALLFKquery

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 10_ALLFKquery

Standardbegränsning: Standardbegränsning när den skapas i någon kolumn kommer att ha standarddata som anges i begränsningen när inga poster eller data infogas i den kolumnen.

1) Skapa Tabelluttalande för att skapa Standardbegränsning

a. kolumnnivå

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. Tabellnivå: gäller inte för Standardbegränsning

2) Ändra Tabelluttalande för att lägga till Standardbegränsning

ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO

3) ändra tabell för att släppa Standardbegränsning

ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 14_DFAllQuery

SQL SERVER - 2008-skapa primärnyckel, främmande nyckel och Standardbegränsning 14_DFAllQuery

Lämna ett svar

Din e-postadress kommer inte publiceras.