Share
Embed
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
Transcript
40 slides
-
Erick Mendonça Microsoft Certified Technology Specialist SQL Server 2005 [email protected]
http://erickmendonca.com.br SQL Server 2005 -
Agenda Agenda 1. Introdução a Banco de Dados 2. SQL
Server 2005 3. Management Studio Express 4. Queries/Comandos 5. Referências -
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... -
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 -
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 -
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. -
Introdução a Banco de Dados Banco de Dados SGBD Aplicação
Usuário Usuário -
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 -
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 -
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? -
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 -
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 -
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 -
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 -
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. -
Queries/Comandos INSERT Inserir um Cliente com nome José Francisco, CPF
999.999.999-99, e Estado Civil casado. -
Queries/Comandos INSERT A coluna cd_cliente é um IDENTITY! Por isso
não podemos inserir valores diretamente nela. -
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 -
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 -
Queries/Comandos SELECT Seleciona todos os campos da tabela tb_cliente, de
todos os registros. SELECT * FROM tb_cliente -
Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, de
todos os registros. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente -
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 -
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 -
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 -
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) -
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 -
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 -
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 -
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 -
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 -
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() -
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() -
Queries/Comandos Variáveis Podem ser usadas em Queries: SET @numero =
3 SELECT * FROM tb_cliente WHERE cd_cliente = @numero -
Queries/Comandos Variáveis Através dessas variáveis, podemos utilizar os comandos SQL
facilmente através de outros programas!