24 února, 2022

SQL SERVER – 2008 – vytvoření primárního klíče, cizího klíče a výchozího omezení

primární klíč, cizí klíč a výchozí omezení jsou 3 hlavní omezení, která je třeba vzít v úvahu při vytváření tabulek nebo dokonce po tom. Zdá se, že je velmi snadné použít tato omezení, ale při jejich implementaci stále máme nějaké zmatky a problémy. Snažil jsem se tedy psát o těchto omezeních, která mohou být vytvořena nebo přidána na různých úrovních a různými způsoby nebo metodami.

omezení primárního klíče: omezení primárních klíčů zabraňuje duplicitním hodnotám sloupců a poskytuje každému sloupci jedinečný identifikátor a také vytváří seskupený index ve sloupcích.

1) Vytvořte příkaz tabulky pro vytvoření primárního klíče

a. úroveň sloupce

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

b. Úroveň tabulky

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

2) Chcete-li vytvořit primární klíč, změňte příkaz tabulky

ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO

3) změnit příkaz k poklesu primárního klíče

ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 5_AllQuery

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 5_AllQuery

omezení cizího klíče: Pokud je omezení cizího klíče přidáno do existujícího sloupce nebo sloupců v tabulce SQL Server, ve výchozím nastavení zkontroluje existující data ve sloupcích, aby se zajistilo, že všechny hodnoty kromě NULL existují ve sloupcích odkazovaného primárního klíče nebo jedinečného omezení.

1) Vytvořte příkaz tabulky pro vytvoření cizího klíče

a. úroveň sloupce

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. Úroveň tabulky

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) změnit příkaz tabulky pro vytvoření cizího klíče

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

2) Změnit prohlášení tabulky k poklesu cizího klíče

ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 10_ALLFKquery

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 10_ALLFKquery

výchozí omezení: výchozí omezení při vytvoření v nějakém sloupci bude mít výchozí data, která jsou uvedena v omezení, když do tohoto sloupce nejsou vloženy žádné záznamy ani data.

1) Vytvořte příkaz tabulky pro vytvoření výchozího omezení

a. úroveň sloupce

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. úroveň tabulky: neplatí pro výchozí omezení

2) Změňte příkaz tabulky a přidejte výchozí omezení

ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO

3) změnit tabulku pro zrušení výchozího omezení

ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 14_DFAllQuery

SQL SERVER-2008-vytvoření primárního klíče, cizího klíče a výchozího omezení 14_DFAllQuery

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.