curso sql server 2005
Post on 24-May-2015
255 Views
Preview:
DESCRIPTION
TRANSCRIPT
Erick MendonçaMicrosoft Certified Technology Specialist SQL Server 2005
erick@sgnsolucoes.com.brhttp://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 areorganização dos mesmos e produção de informação.
Ou seja:
Um banco de dados é um local “organizado” onde podem serarmazenados dados diversos.
Históricos bancários, álbuns de fotos, músicas, textos, comentários deum 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 = registrosColunas = 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 deprogramas que auxiliam na tarefa de construir, manter e manipularbancos de dados.
SQL Server, Oracle, MySQL, PostgreSQL, DB2, eXist-db…
É importante notar que o SGBD normalmente é um sistema externo aosoftware que o acessa.
Introdução a Banco de Dados
Banco de Dados
SGBD
AplicaçãoUsuário
Usuário
Introdução a Banco de Dados
Bancos de Dados RelacionaisUtilizam o Modelo Relacional, que é composto por tabelas e asrelações entre estas.
Cliente Locação Filme
Introdução a Banco de Dados
Chaves PrimáriasSão uma ou mais colunas que podem identificar unicamente uma linhade 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 EstrangeirasSão uma ou mais colunas de uma tabela que também existem emoutra, 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
Management Studio Express
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, eEstado Civil casado.
Queries/Comandos
INSERTINSERT INTO tb_cliente
VALUES (‘José Francisco’, 99999999999, 1)
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é Franciscodos 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 aonome do cliente e Solteiro ao estado civil, onde o CPF seja igual a99999999999.
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 comcd_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 comcd_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_civiligual a 0 e cd_cliente maior que 3, ordene o resultado por nome.
SELECT nm_cliente, nr_cpf_clienteFROM tb_cliente
WHERE cd_estado_civil = 0AND cd_cliente > 3
ORDER BY nome
Queries/Comandos
SELECT
Seleciona todas as locações do cliente com código de clienteigual 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 sejaigual 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
FUNÇÕES
SELECT COUNT(*)
FROM tb_cliente
SELECT MAX(cd_cliente)
FROM tb_cliente
Queries/Comandos
UNION
Une dois ou mais resultados de SELECT.
SELECT *FROM tb_cliente
WHERE cd_cliente > 3UNION
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
Declaração:
DECLARE @numero int,
@string varchar(10),
@data datetime
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 facilmenteatravés de outros programas!
Referências
microsoft.com/sqlserver/2008/pt/br/default.aspx
msdn.microsoft.com/en-us/sqlserver/default
sqlmag.com
sqlservercentral.com
w3schools.com/sql/
Obrigado!
erickmendonca@yahoo.com.br
top related