a. Criar o banco de dados chamado DBSP, com suas respectivas tabelas (S, P e SP), no, conforme especificado abaixo:. Grupo lógico (filegroup) PRIMARY. Name: DBSP Arquivo físico: D:\...\DBSP.MDF Nome da Tabela: S (Obs.: Fornecedores) SCOD char 2 Obrigatório SNAME varchar 10 Obrigatório STATUS smallint CITY varchar 10 Chave Primária: SCOD Nome da Tabela: P (Obs.: Peças) PCOD char 2 Obrigatório PNAME varchar 10 Obrigatório COLOR varchar 10 WEIGHT smallint CITY varchar 10 Chave Primária: PCOD Nome da Tabela: SP (Obs.: Fornecimentos) SCOD char 2 Obrigatório PCOD char 2 Obrigatório QTY smallint Chave Primária: SCOD e PCOD b. Salve todo o trabalho e inclua os registros nas tabelas S, P e SP (execute o arquivo SQL para popular).
c. Confirmar que as tabelas estão com essas linhas após a execução do arquivo SQL S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones S3 Blake S4 Clark S5 Adams 10 Paris 30 Paris 20 London 30 Athens d. Atenção: fazer um backup do BD DBSP antes de prosseguir. e. Incluir em SP: S8,P9,400 P P# PNAME COLOR WEIGHT CITY P1 Nut Red 12 London P2 Bolt Green 17 Paris P3 Screw Blue 17 Rome P4 Screw Red 14 London P5 Cam Blue 12 Paris P6 Cog Red 19 London SP S# P# QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 S4 P4 300 S4 P5 400 Qual a incoerência? f. Excluir de S: S1,Smith,20,London Qual o problema gerado? g. Excluir de P: P2,Bolt,Green,17,Paris Qual o problema gerado? Integridade Referencial Busca garantir a integridade dos dados, evitando a ocorrência de informações sem sentido. Obtida através da criação de CHAVE PRIMARIA e CHAVE ESTRANGEIRA (RELACIONAMENTO). Será visto a seguir. Além disso: NOT NULL, DEFAULT, UNIQUE, etc. Será visto posteriormente.
A seguir, criaremos os relacionamentos (integridade referencial) entre as tabelas S, P e SP utilizando a interface visual do. S scod SP scod pcod 1 1 P pcod h. Restaurar o backup do BD DBSP feito no item d. i. Clicar com o botão direito na opção DATABASE DIAGRAMS (abaixo do banco de dados DBSP). j. Caso seja solicitada uma confirmação responda YES. k. Escolha a opção NEW DATABASE DIAGRAM. l. Adicione as três tabelas do banco DBSP ao diagrama. m. Organize as tabelas conforme a figura seguinte (as outras colunas de cada tabela podem estar aparecendo ou não): n. Selecione a tabela SP e clique no botão RELATIONSHIPS. o. Clicar no botão ADD. p. Clicar no botão da opção TABLES AND COLUMNS SPECIFICATION
q. Configure conforme a figura abaixo: r. Foi criado o relacionamento de P com SP. Clique no botão OK. Depois Close. s. Agora crie o relacionamento de S com SP. Obs.: desta vez tente fazer arrastando o campo SCOD da tabela S para o campo SCOD da tabela SP, confira a janela de configuração que vai abrir automaticamente. t. Salve o trabalho clicando no botão disquete na barra de ferramentas e em OK. Depois responda YES e a seguir NO (não salvar o script). u. Volte para o OBJECT EXPLORER e faça testes de inclusão e exclusão nas tabelas conforme as sugestões abaixo. Tente excluir alguns registros da tabela P e da tabela S. O que acontece? Tente incluir um registro S9 P8 250 na tabela SP. O que acontece? Tente alterar o valor P1 na tabela P para P9. O que acontece? Por quê? Tente alterar o valor S1 na tabela S para S8. O que acontece? Por quê?
v. Retorne ao diagrama para ativar a exclusão e a atualização em CASCATA nos dois relacionamentos, conforme a figura abaixo. Salve (Close). Obs.: deve ser feito selecionando FK_SP_P e depois selecionando FK_SP_S. w. Faça novos testes. Tente excluir alguns registros da tabela P. A exclusão foi feita? Abra a tabela SP e verifique o que ocorreu. Tente excluir alguns registros da tabela S. A exclusão foi feita? Abra a tabela SP e verifique o que ocorreu. Altere o valor de algum PCOD na tabela P (de P1 para P8 por exemplo). A alteração foi feita? O que ocorreu na tabela SP? Altere o valor de algum SCOD na tabela S (de S2 para S9 por exemplo). A alteração foi feita? O que ocorreu na tabela SP?