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

Minicurso SQL Server 2005

Minicurso SQL Server 2005

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

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