SQL SERVER-2008-criando chave primária, chave estrangeira e restrição padrão
chave primária, chave estrangeira e restrição padrão são as 3 principais restrições que precisam ser consideradas ao criar tabelas ou mesmo depois disso. Parece muito fácil aplicar essas restrições, mas ainda temos algumas confusões e problemas ao implementá-las. Então eu tentei escrever sobre essas restrições que podem ser criadas ou adicionadas em diferentes níveis e de diferentes maneiras ou métodos.
restrição de chave primária: restrições de chaves primárias impede valores duplicados para colunas e fornece identificador exclusivo para cada coluna, bem como cria índice agrupado nas colunas.
1) Crie uma instrução de tabela para criar uma chave primária
um nível de coluna
USE AdventureWorks2008GOCREATE TABLE Products(ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,ProductName VARCHAR(25));GO
B. Tabela de Nível
CREATE TABLE Products(ProductID INT,ProductName VARCHAR(25)CONSTRAINT pk_products_pid PRIMARY KEY(ProductID));GO
2) Instrução Alter Table para criar Chave Primária
ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO
3) Instrução Alter para Soltar a chave Primária
ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO
Restrição De Chave Externa: Quando uma restrição de chave estrangeira é adicionada a uma coluna ou colunas existentes na tabela SQL Server, por padrão verifica os dados existentes nas colunas para garantir que todos os valores, exceto NULL, existam na(S) coluna (s) da chave primária referenciada ou restrição exclusiva.
1) Crie uma instrução de tabela para criar uma chave estrangeira
um nível de coluna
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. Tabela de Nível
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) Instrução Alter Table para criar a Chave Externa
ALTER TABLE ProductSalesADD CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID)GO
2) Instrução Alter Table para Drop Foreign Key
ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO
Restrição Padrão: Padrão de restrição quando criados em alguns coluna vai ter de dados padrão que é dada a restrição, quando não há registros ou dados é inserido na coluna.
1) Instrução create Table para Criar Constrangimento Predefinido
um. Nível de coluna
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. Nível de tabela : Não se aplica para o Padrão de Restrição
2) Instrução Alter Table para Adicionar Restrição Padrão
ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO
3) Alter Table para Queda de Padrão de Restrição
ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO