Slide 1

Slide 1 text

Erick Mendonça Microsoft Certified Technology Specialist SQL Server 2005 [email protected] http://erickmendonca.com.br SQL Server 2005

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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...

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

Introdução a Banco de Dados Banco de Dados SGBD Aplicação Usuário Usuário

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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?

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Management Studio Express

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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.

Slide 17

Slide 17 text

Queries/Comandos INSERT Inserir um Cliente com nome José Francisco, CPF 999.999.999-99, e Estado Civil casado.

Slide 18

Slide 18 text

Queries/Comandos INSERT INSERT INTO tb_cliente VALUES (‘José Francisco’, 99999999999, 1)

Slide 19

Slide 19 text

Queries/Comandos INSERT A coluna cd_cliente é um IDENTITY! Por isso não podemos inserir valores diretamente nela.

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Queries/Comandos SELECT Seleciona todos os campos da tabela tb_cliente, de todos os registros. SELECT * FROM tb_cliente

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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)

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

Queries/Comandos FUNÇÕES SELECT COUNT(*) FROM tb_cliente SELECT MAX(cd_cliente) FROM tb_cliente

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Queries/Comandos Variáveis Declaração: DECLARE @numero int, @string varchar(10), @data datetime

Slide 35

Slide 35 text

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()

Slide 36

Slide 36 text

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()

Slide 37

Slide 37 text

Queries/Comandos Variáveis Podem ser usadas em Queries: SET @numero = 3 SELECT * FROM tb_cliente WHERE cd_cliente = @numero

Slide 38

Slide 38 text

Queries/Comandos Variáveis Através dessas variáveis, podemos utilizar os comandos SQL facilmente através de outros programas!

Slide 39

Slide 39 text

Referências  microsoft.com/sqlserver/2008/pt/br/default.aspx  msdn.microsoft.com/en-us/sqlserver/default  sqlmag.com  sqlservercentral.com  w3schools.com/sql/

Slide 40

Slide 40 text

Obrigado! [email protected]