1) O documento descreve um workshop sobre manipulação de dados usando SQL Server 2005.
2) Os participantes irão inserir, alterar e excluir dados em tabelas usando instruções INSERT, UPDATE e DELETE.
3) O exemplo usa tabelas de empresas e ações com chaves primárias e estrangeiras para vincular os dados.
1. CENTRO UNIVERSITÁRIO UNA
PRÓ-REITORIA DE PÓS-GRADUAÇÃO, PESQUISA E EXTENSÃO
CURSO DE EXTENSÃO
Fundamentos de SQL - Microsoft
SQL Server 2005
Professor: Emiliano Eloi Silva Barbosa
Workshop 2
Belo Horizonte
2011
Curso de Extensão – Fundamentos de SQL – Microsoft SQL Server 2005
2. Workshop 2 – Manipulando dados.
Nesse workshop você irá manipular (cadastrar, alterar e excluir) dados,
utilizando as cláusulas INSERT, UPDATE E DELETE.
Cenário:
Empresa: BMF&Bovespa
Base de dados: BD_BOLSAS
Função: Controla ações de empresas.
Diagrama
TBL_EMPRESAS TBL_ACOES
PK ID_EMPRESA PK ID_ACAO
NM_NOME_EMPRESA NM_CODIGO_ACAO
NM_CODIGO_EMPRESA NM_NOME_ACAO
FK1 ID_EMPRESA
Curso de Extensão – Fundamentos de SQL – Microsoft SQL Server 2005
3. Dados
TBL_EMPRESAS
ID_EMPRESA NM_NOME_EMPRESA NM_CODIGO_EMPRESA
1 SADIA S/A SDIA
2 PERDIGAO S/A PRGA
Chave primária: ID_EMPRESA
TBL_ACOES
ID_ACAO NM_CODIGO_ACAO NM_NOME_ACAO ID_EMPRESA
1 4 SADIA PN EJ N1 1
2 3 PERDIGÃO ON NM 2
Chave primária: ID_ACAO
Chave estrangeira: ID_EMPRESA
Chave primária significa, entre outras coisas, que você não
precisa cadastrar o ID dos registros.
Você pode recuperar o código de um registro inserido lendo
a variável global @@IDENTITY.
Chave estrangeira representa, entre outras coisas, o
relacionamento entre tabelas.
Curso de Extensão – Fundamentos de SQL – Microsoft SQL Server 2005
4. Atividades
1) Cadastre a empresa Brasil Foods (Código: BRAF) na
tabela TBL_EMPRESAS.
2) Cadastre a ação Brasil Foods PN (Código: 4) na tabela
TBL_ACOES.
3) Altere o id de empresa da ação ‘Sadia S/A PN EJ N1’
para o código da empresa Brasil Foods.
4) Altere o id da empresa da ação ‘Perdigão S/A ON NM’
para o código da empresa Brasil Foods.
5) Exclua a empresa Perdigão S/A da tabela de
empresas.
Desafios
1) Algum registro será excluído após a execução da
instrução abaixo?
DELETE
FROM TBL_EMPRESAS
WHERE NOT EXISTS(SELECT NM_CODIGO_ACAO
FROM TBL_ACOES
WHERE NM_CODIGO_ACAO = 4
AND ID_EMPRESA = 1)
2) Escreva uma instrução que retorne nome das ações de
acordo com o esquema abaixo.
Código da empresa: SDIA
Código da ação: 4
Nome da ação: SDIA4
Curso de Extensão – Fundamentos de SQL – Microsoft SQL Server 2005