Baixe o app para aproveitar ainda mais
Prévia do material em texto
FIC – Estácio Ceará Profa Josyane Lannes Fonte: www.informaticon.com.br (contribuição Prof Nery) SQL SERVER Os comandos SQL servem para os bancos: Postgree FireBird Melhores: SQL Server Oracle Dicas - Complementares: Create database cadastro; Create table Funcionario (cod int primary key identity (1,1), - - autoincremental (comentário simples) Nome varchar (20), Sobrenome varchar (30), Idade int, Profissao varchar (40) ); /* Primary Key cria a chave primária da tabela Foreign Key efetua ligação entre tabelas. É um campo da tabela atual que indica um campo chave de outra tabela. */ (comentário maior) 1_ Create database locadora Tabela Clientes Tabela Cidades Cli_codigo Cid_codigo Cli_nome Cid_nome Cli_cidade Cli_sexo Cli_email Cli_codcid Obs: Para criar as tabelas, uma boa prática é sempre começar pelas tabelas simples, ou seja, aquelas que não possuem chave estrangeira. Para que criarmos chaves estrangeiras... * Manter a consistência do banco de dados * Para criação de índices, na qual estaremos vendo adiante. * Para otimização do banco de dados. * Para facilitar a manutenção. Criando tabela com chave primária Create table Cidades ( Cid_codigo integer not null, Cid_nome varchar (30) Primary Key (Cid_codigo) ); Create table cliente ( Cli_codigo integer not null, Cli_nome varchar (30), Cli_cidade varchar (20), Cli_sexo char (1), Cli_email varchar (30), Primary key (Cli_codigo) ); SHIFT + F5 para dar refresh Para adicionar chave estrangeira ao Banco de Dados LOCADORA Sem constraint ALTER table Clientes ADD foreign key (cli_codcid) References cidades (cid_codigo); Não pode criar FK quando existem dados dentro dele, porque ela serve para relacionar tabelas, mantendo uma segurança. Apenas quando estiver vazio para evitar erros no banco. Se a tabela clientes estiver cheia, faça: DELETE from Clientes; Para adicionar chave estrangeira ao Banco de Dados LOCADORA Com constraint ALTER table Clientes ADD CONSTRAINT chave_estrang_cidade for Foreign key (cli_codcid) References cidades (cid_codigo); Obs: CONSTRAINT é usada para chave composta. Observe que a chave estrangeira foi renomeada para chave_estrang_cidade AGORA ESTÁ CRIADO O RELACIONAMENTO ENTRE CLIENTES-CIDADES Se precisar apagar uma FK faça: ALTER table Clientes DROP foreign key Chave_estrang_cidades; OBS: Integridade 0 (zero) sem a FK! Agora que o Banco está integrado, tente inserir os campos de CLIENTES, mas antes insira os campos de CIDADE. Por que..... Depois tente.... 1 – Tente excluir uma cidade 2 – Tente inserir um registro em cliente com uma cidade que não existe Assim você verá que vale a pena criar integridade!!! Propriedade das TABELAS (RESTRICT ou CASCADE) cascade é perigoso para deleção, pois apaga tudo em cascata ON DELETE ON UPDATE Vamos retirar chave estrangeira ALTER Table clientes DROP foreign key chave_estrang_cidade; Então teste alterar Cli_codcidade e você CONSEGUE!!! Porque está sem integridade nas tabelas! Criando novamente chave estrangeira com o RESTRICT ALTER table Clientes ADD constraint chave_estrang_cidade Foreign key (cli_codcid) References cidades (cid_codigo) On delete RESTRICT On update RESTRICT Exercício no SQL Server Management Studio Criando DB no SQL Server Management Studio (ver site planeta virtual) Criar banco de dados DB e a Tabela Cadastro com os campos ID, Nome, Sobrenome, Idade, Profissao Depois selecione e execute (vc terá o feedback do banco e tabela criados) Agora insira dados (o ID não precisa inserir, e comece do nome) Crie outra tabela, por exemplo, Cidade. Agora crie a chave estrangeira Ex: Alter table clientes Add foreign key (cli_codcid) references cidades (cid_codigo) Obs: se vc já tiver dados dentro da tabela não conseguiras crias as chaves estrangeiras para evitar erros no teu banco! Primeiro elimine o conteúdo das tabelas (para conseguir criar FK) Fonte: http://informaticon.com.br/site/mod/resource/view.php?id=14
Compartilhar