Febbraio 24, 2022

SQL SERVER-2008-Creazione di chiave primaria, chiave esterna e vincolo predefinito

Chiave primaria, chiave esterna e vincolo predefinito sono i 3 vincoli principali che devono essere considerati durante la creazione di tabelle o anche dopo. Sembra molto facile applicare questi vincoli, ma abbiamo ancora alcune confusioni e problemi durante l’implementazione. Così ho provato a scrivere su questi vincoli che possono essere creati o aggiunti a diversi livelli e in modi o metodi diversi.

Vincolo della chiave primaria: i vincoli delle chiavi primarie impediscono i valori duplicati per le colonne e forniscono un identificatore univoco a ciascuna colonna, oltre a creare un indice cluster sulle colonne.

1) Create Table Statement per creare la chiave primaria

a. Column Level

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

b. A Livello di tabella

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

2) Istruzione Alter Table per creare la Chiave Primaria

ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO

3) Istruzione Alter per Drop chiave Primaria

ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO

SQL SERVER 2008 - la Creazione di Chiave Primaria, Chiave esterna, e di un Vincolo Default 5_AllQuery

SQL SERVER 2008 - la Creazione di Chiave Primaria, Chiave esterna, e di un Vincolo Default 5_AllQuery

Vincolo Di Chiave Esterna: Quando un vincolo di CHIAVE ESTERNA viene aggiunto a una colonna o a colonne esistenti nella tabella SQL Server, per impostazione predefinita controlla i dati esistenti nelle colonne per garantire che tutti i valori, tranne NULL, esistano nelle colonne della CHIAVE PRIMARIA o del vincolo UNIVOCO a cui si fa riferimento.

1) Crea istruzione tabella per creare chiave esterna

a. Livello di colonna

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. A Livello di tabella

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) Istruzione Alter Table per creare Foreign Key

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

2) Istruzione Alter Table per eliminare Foreign Key

ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO

SQL SERVER 2008 - la Creazione di Chiave Primaria, Chiave esterna, e di un Vincolo Default 10_ALLFKquery

SQL SERVER 2008 - la Creazione di Chiave Primaria, Chiave esterna, e di un Vincolo Default 10_ALLFKquery

di Default Vincolo: vincolo Predefinito quando viene creato su qualche colonna si hanno i dati di default che è dato il vincolo di nessun record o i dati vengono inseriti in quella colonna.

1) Create Table per creare un Vincolo Default

un. A Livello di colonna

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. A Livello di tabella : Non applicabile per Vincolo Default

2) Alter Table per Aggiungere un Vincolo Default

ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO

3) Alter Table Drop Vincolo Default

ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO

SQL SERVER 2008 - la Creazione di Chiave Primaria, Chiave esterna, e di un Vincolo Default 14_DFAllQuery

SQL SERVER 2008 - la Creazione di Chiave Primaria, Foreign Key e Vincolo Default 14_DFAllQuery

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.