SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Erick Mendonça
Microsoft Certified Technology Specialist SQL Server 2005
erick@sgnsolucoes.com.br
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
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, e
Estado Civil casado.
Queries/Comandos
INSERT
INSERT 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é 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
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 > 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
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 facilmente
atravé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

Más contenido relacionado

La actualidad más candente

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediárioaprcds
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosFábio dos Reis
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normaisSandro Freitas
 
Função SE (É.NÃO.DISP)
Função SE (É.NÃO.DISP)Função SE (É.NÃO.DISP)
Função SE (É.NÃO.DISP)New Way Excel
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - AlexandrukHebert Alquimim
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoHelder Lopes
 

La actualidad más candente (20)

Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Php04
Php04Php04
Php04
 
Inner Join
Inner JoinInner Join
Inner Join
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediário
 
Banco dedados aula002
Banco dedados aula002Banco dedados aula002
Banco dedados aula002
 
Apostila excel basico
Apostila excel basicoApostila excel basico
Apostila excel basico
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Função SE (É.NÃO.DISP)
Função SE (É.NÃO.DISP)Função SE (É.NÃO.DISP)
Função SE (É.NÃO.DISP)
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - Alexandruk
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
SQL
SQLSQL
SQL
 

Destacado

Administrando e armazenando dados com sql server 2005 (31 horas)
Administrando e armazenando dados com sql server 2005 (31 horas)Administrando e armazenando dados com sql server 2005 (31 horas)
Administrando e armazenando dados com sql server 2005 (31 horas)Vitor Savicki
 
Certificado Sql Server 2005 Projetando E Implementando Dados
Certificado   Sql Server 2005   Projetando E Implementando DadosCertificado   Sql Server 2005   Projetando E Implementando Dados
Certificado Sql Server 2005 Projetando E Implementando DadosRubens Jr
 
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...Luana Lobão
 
Curso Corona SDK - Módulo 1
Curso Corona SDK - Módulo 1Curso Corona SDK - Módulo 1
Curso Corona SDK - Módulo 1Luiz Duarte
 
Técnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisTécnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisLuana Lobão
 
Fundação bradesco certificado modelagem
Fundação bradesco certificado modelagemFundação bradesco certificado modelagem
Fundação bradesco certificado modelagemDiego Danna
 
Desenvolvendo jogos com unity
Desenvolvendo jogos com unityDesenvolvendo jogos com unity
Desenvolvendo jogos com unityErick Mendonça
 
Conceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosConceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosAndré Kishimoto
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1josealopezpastor
 
Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Vitor Savicki
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogoselliando dias
 
Programação em c# (117 horas)
Programação em c# (117 horas)Programação em c# (117 horas)
Programação em c# (117 horas)Vitor Savicki
 
GDG Aracaju: Introdução
GDG Aracaju: IntroduçãoGDG Aracaju: Introdução
GDG Aracaju: IntroduçãoErick Mendonça
 
244794272 c-ev-docx
244794272 c-ev-docx244794272 c-ev-docx
244794272 c-ev-docxi1930739
 
Game Design para quem não é Game Designer
Game Design para quem não é Game DesignerGame Design para quem não é Game Designer
Game Design para quem não é Game DesignerAndré Kishimoto
 
Criação e Desenvolvimento de Personagens
Criação e Desenvolvimento de PersonagensCriação e Desenvolvimento de Personagens
Criação e Desenvolvimento de PersonagensSabrina Carmona
 
Respostas - Qualidade em serviços FGV online
Respostas - Qualidade em serviços FGV onlineRespostas - Qualidade em serviços FGV online
Respostas - Qualidade em serviços FGV onlineElvio Saldanha
 

Destacado (20)

Administrando e armazenando dados com sql server 2005 (31 horas)
Administrando e armazenando dados com sql server 2005 (31 horas)Administrando e armazenando dados com sql server 2005 (31 horas)
Administrando e armazenando dados com sql server 2005 (31 horas)
 
Certificado Sql Server 2005 Projetando E Implementando Dados
Certificado   Sql Server 2005   Projetando E Implementando DadosCertificado   Sql Server 2005   Projetando E Implementando Dados
Certificado Sql Server 2005 Projetando E Implementando Dados
 
Teste de Javascript
Teste de JavascriptTeste de Javascript
Teste de Javascript
 
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...
Lições Aprendidas na Aplicação de Critérios de Testes Funcionais Tradicionais...
 
Curso Corona SDK - Módulo 1
Curso Corona SDK - Módulo 1Curso Corona SDK - Módulo 1
Curso Corona SDK - Módulo 1
 
Técnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos DigitaisTécnicas de Teste para Jogos Digitais
Técnicas de Teste para Jogos Digitais
 
Fundação bradesco certificado modelagem
Fundação bradesco certificado modelagemFundação bradesco certificado modelagem
Fundação bradesco certificado modelagem
 
Desenvolvendo jogos com unity
Desenvolvendo jogos com unityDesenvolvendo jogos com unity
Desenvolvendo jogos com unity
 
Conceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosConceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para Jogos
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1
 
Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Modelagem de dados (35 horas)
Modelagem de dados (35 horas)
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
 
Programação em c# (117 horas)
Programação em c# (117 horas)Programação em c# (117 horas)
Programação em c# (117 horas)
 
GDG Aracaju: Introdução
GDG Aracaju: IntroduçãoGDG Aracaju: Introdução
GDG Aracaju: Introdução
 
Exemplo de GDD
Exemplo de GDDExemplo de GDD
Exemplo de GDD
 
244794272 c-ev-docx
244794272 c-ev-docx244794272 c-ev-docx
244794272 c-ev-docx
 
Game Design para quem não é Game Designer
Game Design para quem não é Game DesignerGame Design para quem não é Game Designer
Game Design para quem não é Game Designer
 
Gabarito
GabaritoGabarito
Gabarito
 
Criação e Desenvolvimento de Personagens
Criação e Desenvolvimento de PersonagensCriação e Desenvolvimento de Personagens
Criação e Desenvolvimento de Personagens
 
Respostas - Qualidade em serviços FGV online
Respostas - Qualidade em serviços FGV onlineRespostas - Qualidade em serviços FGV online
Respostas - Qualidade em serviços FGV online
 

Similar a Curso SQL Server 2005

Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4Ed W. Jr
 
Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1fabriciodenis
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 
Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosGustavo Sávio
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
Manual 2 Excel.pdf
Manual 2 Excel.pdfManual 2 Excel.pdf
Manual 2 Excel.pdfssuser7bf558
 
Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Osny Pereira Filho
 
Curso Microsoft Excel Specialist
Curso Microsoft Excel SpecialistCurso Microsoft Excel Specialist
Curso Microsoft Excel Specialistvasco marques
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darinTicianne Darin
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphihildebertomelo
 

Similar a Curso SQL Server 2005 (20)

Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Curso Java Web
Curso Java WebCurso Java Web
Curso Java Web
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - Filtros
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
 
Manual 2 Excel.pdf
Manual 2 Excel.pdfManual 2 Excel.pdf
Manual 2 Excel.pdf
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
2832014 curso plsql
2832014 curso plsql2832014 curso plsql
2832014 curso plsql
 
Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01
 
Curso Microsoft Excel Specialist
Curso Microsoft Excel SpecialistCurso Microsoft Excel Specialist
Curso Microsoft Excel Specialist
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphi
 

Curso SQL Server 2005

  • 1. Erick Mendonça Microsoft Certified Technology Specialist SQL Server 2005 erick@sgnsolucoes.com.br http://erickmendonca.com.br SQL Server 2005
  • 2. Agenda Agenda 1. Introdução a Banco de Dados 2. SQL Server 2005 3. Management Studio Express 4. Queries/Comandos 5. Referências
  • 3. 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...
  • 4. 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
  • 5. 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
  • 6. 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.
  • 7. Introdução a Banco de Dados Banco de Dados SGBD Aplicação Usuário Usuário
  • 8. 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
  • 9. 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
  • 10. 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?
  • 11. 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
  • 12. 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
  • 14. 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
  • 15. 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
  • 16. 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.
  • 17. Queries/Comandos INSERT Inserir um Cliente com nome José Francisco, CPF 999.999.999-99, e Estado Civil casado.
  • 18. Queries/Comandos INSERT INSERT INTO tb_cliente VALUES (‘José Francisco’, 99999999999, 1)
  • 19. Queries/Comandos INSERT A coluna cd_cliente é um IDENTITY! Por isso não podemos inserir valores diretamente nela.
  • 20. 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
  • 21. 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
  • 22. Queries/Comandos SELECT Seleciona todos os campos da tabela tb_cliente, de todos os registros. SELECT * FROM tb_cliente
  • 23. Queries/Comandos SELECT Seleciona nome e cpf da tabela tb_cliente, de todos os registros. SELECT nm_cliente, nr_cpf_cliente FROM tb_cliente
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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)
  • 28. 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
  • 29. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 35. 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()
  • 36. 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()
  • 37. Queries/Comandos Variáveis Podem ser usadas em Queries: SET @numero = 3 SELECT * FROM tb_cliente WHERE cd_cliente = @numero
  • 38. Queries/Comandos Variáveis Através dessas variáveis, podemos utilizar os comandos SQL facilmente através de outros programas!