Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Minicurso SQL Server 2005

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Minicurso SQL Server 2005

Um minicurso oferecido como parte de um programa de seleção de estagiários para a SGN Soluções.

Avatar for Erick Mendonça

Erick Mendonça

January 07, 2010
Tweet

More Decks by Erick Mendonça

Other Decks in Technology

Transcript

  1. Agenda Agenda 1. Introdução a Banco de Dados 2. SQL

    Server 2005 3. Management Studio Express 4. Queries/Comandos 5. Referências
  2. Introdução a Banco de Dados O que é Banco de

    Dados? Conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Ou seja: Um banco de dados é um local “organizado” onde podem ser armazenados dados diversos. Históricos bancários, álbuns de fotos, músicas, textos, comentários de um blog, produtos de uma loja...
  3. Introdução a Banco de Dados Estrutura regular? A maioria dos

    SGBDs usam Tabelas. Exemplo: Cliente Código Nome CPF Estado Civil Telefone 1 Erick Mendonça 42640662120 Casado 8823 4564 2 Cláudio Mattos 46631485495 Solteiro 4546 5456 3 Sara Silveira 15546013982 Casada 8789 5454 4 Donkey Kong 28236776310 Casado 9874 1215
  4. Introdução a Banco de Dados Colunas Linhas Linhas = registros

    Colunas = atributos Código Nome CPF Estado Civil Telefone 1 Erick Mendonça 42640662120 Casado 8823 4564 2 Cláudio Mattos 46631485495 Solteiro 4546 5456 3 Sara Silveira 15546013982 Casada 8789 5454 4 Donkey Kong 28236776310 Casado 9874 1215
  5. Introdução a Banco de Dados SGBD? Os Sistemas Gerenciadores de

    Banco de Dados são conjuntos de programas que auxiliam na tarefa de construir, manter e manipular bancos de dados. SQL Server, Oracle, MySQL, PostgreSQL, DB2, eXist-db… É importante notar que o SGBD normalmente é um sistema externo ao software que o acessa.
  6. Introdução a Banco de Dados Bancos de Dados Relacionais Utilizam

    o Modelo Relacional, que é composto por tabelas e as relações entre estas. Cliente Locação Filme
  7. Introdução a Banco de Dados Chaves Primárias São uma ou

    mais colunas que podem identificar unicamente uma linha de uma tabela. Código Nome CPF Estado Civil Telefone 1 Erick Mendonça 42640662120 Casado 8823 4564 2 Cláudio Mattos 46631485495 Solteiro 4546 5456 3 Sara Silveira 15546013982 Casada 8789 5454 4 Donkey Kong 28236776310 Casado 9874 1215
  8. Introdução a Banco de Dados Chaves Estrangeiras São uma ou

    mais colunas de uma tabela que também existem em outra, para definir uma relação entre as duas. Exemplo: Como definir uma relação entre as tabelas Cliente e Locação?
  9. Introdução a Banco de Dados Chaves Estrangeiras Código Nome 1

    Erick Mendonça Código da Locação Código do Cliente Data Valor 1 1 01/12/2010 R$ 4,00 2 1 26/12/2010 R$ 5,50 Cliente Locação
  10. SQL Server 2005  Microsoft  Versão mais atual: SQL

    Server 2008 R2  Possui várias versões pagas e uma gratuita  Roda apenas em Windows  Possui boa integração com .NET Framework  Interface gráfica descomplicada
  11. Queries/Comandos O que são? Pra que servem? Interagir com o

    banco de dados  Recuperar informações: listar todos os clientes  Manipular informações: alterar o nome de um cliente, inserir um novo filme, excluir uma informação  Manipular estruturas: criar novas tabelas, apagar tabelas antigas  Manutenção: fazer e agendar backup, comprimir arquivos  Programar (!): criar procedimentos e funções no banco de dados
  12. Queries/Comandos Tipos de dados Cada valor ou coluna possui um

    tipo  INT: números inteiros (máximo: 2.147.483.647)  BIG INT: números maiores (máximo: 9.223.372.036.854.775.807)  VARCHAR: caracteres (devem estar entre aspas)  CHAR: caracteres de tamanho fixo (devem estar entre aspas)  DATETIME: data e hora
  13. Queries/Comandos Propriedades de colunas Algumas colunas na tabela podem ter

    propriedades diferentes.  PRIMARY KEY: chave primária  FOREIGN KEY: chave estrangeira  NOT NULL: não aceita valores nulos  IDENTITY: obrigatoriamente numéricos. São auto-incrementais.
  14. Queries/Comandos INSERT A coluna cd_cliente é um IDENTITY! Por isso

    não podemos inserir valores diretamente nela.
  15. Queries/Comandos UPDATE Atualiza os registros da tabela tb_cliente, atribuindo José

    Francisco dos Santos ao nome do cliente, onde o CPF seja igual a 99999999999. UPDATE tb_cliente SET nm_cliente = ‘José Francisco dos Santos’ WHERE nr_cpf_cliente = 99999999999
  16. Queries/Comandos UPDATE Atualiza os registros da tabela tb_cliente, atribuindo Maurício

    dos Santos ao nome do cliente e Solteiro ao estado civil, onde o CPF seja igual a 99999999999. UPDATE tb_cliente SET nm_cliente = ‘José Francisco dos Santos’, cd_estado_civil = 0 WHERE nr_cpf_cliente = 99999999999
  17. Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, de

    todos os registros. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente
  18. Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, dos

    registros com cd_cliente = 1. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente WHERE cd_cliente = 1
  19. Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, dos

    registros com cd_estado_civil igual a 0 e ordene o resultado por nome. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente WHERE cd_estado_civil = 0 ORDER BY nome
  20. Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, dos

    registros com cd_estado_civil igual a 0 e cd_cliente maior que 3, ordene o resultado por nome. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente WHERE cd_estado_civil = 0 AND cd_cliente > 3 ORDER BY nome
  21. Queries/Comandos SELECT Seleciona todas as locações do cliente com código

    de cliente igual a 1. SELECT * FROM tb_cliente c JOIN tb_locacao l ON (c.cd_cliente = l.cd_cliente)
  22. Queries/Comandos DELETE Apaga os registros da tabela tb_cliente onde o

    nr_cpf_cliente seja igual a 99999999999. DELETE FROM tb_cliente WHERE nr_cpf_cliente = 99999999999
  23. Queries/Comandos FUNÇÕES Podem ser usadas junto com outros comandos. 

    MAX: retorna o valor máximo da coluna  MIN: retorna o valor mínimo da coluna  AVG: retorna o valor médio da coluna  COUNT: conta a quantidade de registros  DISTINCT: retorna apenas valores diferentes entre si  GETDATE: retorna a data e hora atual do servidor
  24. Queries/Comandos UNION Une dois ou mais resultados de SELECT. SELECT

    * FROM tb_cliente WHERE cd_cliente > 3 UNION SELECT * FROM tb_cliente WHERE cd_cliente > 4
  25. Queries/Comandos GROUP BY Agrupa os resultados de um SELECT. SELECT

    c.cd_cliente, COUNT(cd_locacao) FROM tb_cliente c JOIN tb_locacao l ON (c.cd_cliente = l.cd_cliente) GROUP BY c.cd_cliente
  26. Queries/Comandos HAVING Filtra os resultados agrupados de um SELECT com

    GROUP BY. SELECT c.cd_cliente, COUNT(cd_locacao) FROM tb_cliente c JOIN tb_locacao l ON (c.cd_cliente = l.cd_cliente) GROUP BY c.cd_cliente HAVING COUNT(cd_locacao) > 1
  27. Queries/Comandos Variáveis Atribuição com SET (apenas uma variável): SET @numero

    = 5 Atribuição com SELECT (uma ou mais variáveis): SELECT @string = ‘Luigi’, @data = getdate()
  28. Queries/Comandos Variáveis Atribuição com SET (apenas uma variável): SET @numero

    = 5 Atribuição com SELECT (uma ou mais variáveis): SELECT @string = ‘Luigi’, @data = getdate()
  29. Queries/Comandos Variáveis Podem ser usadas em Queries: SET @numero =

    3 SELECT * FROM tb_cliente WHERE cd_cliente = @numero