1. T-SQL COM MICROSOFT SQL
SERVER 2012 EXPRESS NA
PRÁTICA
RODRIGO RIBEIRO GONÇALVES
ESTA APRESENTAÇÃO É MATERIAL DE APOIO DO LIVRO HOMÔNIMO,
LANÇADO PELA EDITORA ÉRICA, 2013
2. RODRIGO RIBEIRO GONÇALVES
• Graduado em Sistema de Informação
• Pós-graduado em Gerenciamento de Projetos
• Microsoft Certified Professional
• Microsoft Certified Trainer
• Autor publicado pela Editora Érica
• http://www.linkedin.com/pub/rodrigo-ribeiro-gon%C3%A7alves/11/9a0/372
• http://tsqlmaster.blogspot.com.br/
4. A ORIGEM DO SQL
• Desenvolvido no anos de 1970 nos laboratórios da IBM
• Donald Chamberlin
• Raymond Boyce
• Criado para trabalhar com o System R, um dos primeiros sistemas de banco de dados
computadorizados, criado por Edward Codd, autor de "A Relational Model of Data for Large Shared Data
Banks”, livro que definiu os pilares da teoria de banco de dados
5. O Microsoft sql server 2012 express
• Versão limitada, porém gratuita, destinada ao estudo e ao desenvolvimento
• Pode ser baixado de
http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx.
6. EXERCÍCIOS DE FIXAÇÃO
1. Quem criou a linguagem SQL?
2. Quem criou as teorias relacionais que fundamentam os SGBDs modernos?
3. Que empresa criou o T-SQL?
4. Quais são as edições do SQL SERVER 2012?
5. Quais as principais limitações de cada edição?
6. O que quer dizer a sigla SQL?
7. Quais são os dois modos de autenticação no SQL SERVER 2012?
11. EXERCÍCIOS DE FIXAÇÃO
1. Como é possível abrir um arquivo de scripts através do SSMS?
2. Qual o nome dos bancos de dados de sistema do SQL SERVER?
3. Para que serve o banco de dados master?
4. Para que serve o banco de dados model?
5. O que é o Object Explorer?
19. DATAS NO SQL SERVER
FUNÇÕES GETDATE() E CURRENT_TIMESTAMP...COMO USÁ-LAS?
20. CONVERSÃO DE DADOS COM CAST E CONVERT
DECLARE
@VALOR INT
SET @VALOR = 1000
PRINT 'VALOR É ' + CAST(....
21. EXERCÍCIOS DE FIXAÇÃO
1. Qual o comando para declarar variáveis no T-SQL?
2. Qual o operador para realizar concatenação de Strings no T-SQL?
3. Qual o operador aritmético de subtração no T-SQL?
4. Escreva um trecho de código realizando a multiplicação entre duas variáveis do tipo
REAL, uma delas com o valor de 8 e a outra com o valor de 9.
5. Adicione ao script da questão anterior um comentário de várias linhas com o
enunciado da questão anterior.
34. EXERCÍCIOS DE FIXAÇÃO
1.Crie um banco de dados denominado ProjetoCapitulo4.
2.Dentro do banco de dados ProjetoCapitulo4, crie uma tabela chamada usuários com os seguintes campos e tipos de dados:
• Código, Iiteiro, sequencial e chave primária
• Nome, cadeira caracteres com no máximo 200 caracteres
• Login, cadeira caracteres com no máximo dez caracteres
• Senha, cadeira caracteres com no máximo seis caracteres
1.Altere a tabela usuários adicionando um campo denominado DataCriacao com a data de criação do registro, com a data atual como valor padrão .
2.Insira o seguinte grupo de dados na tabela usuários (TABELA ABAIXO).
3.Atualize o registro com login "rodrigo" e altere a senha para "54321“.
4.Exclua o registro com o login "daniel“.
5.Exclua todos os registros da tabela, de tal forma que o próximo registro a ser inserido tenha o campo código com o valor um.
6.Crie uma tabela temporária com a mesma estrutura da tabela usuários.
7.Exclua o banco de dados ProjetoCapitulo4.
Nome Login Senha
Rodrigo rodrigo 132435
Daniel daniel 989876
Carolina carol 192837
42. USO DO COUNT E FUNÇÕES DE AGREGAÇÃO
SELECT
Count(*) ...
43. EXERCÍCIOS DE FIXAÇÃO
1. Crie um banco de dados ProjetoCapitulo5.
2. No banco de dados ProjetoCapitulo5 crie uma tabela Clientes com os seguintes campos
Código, inteiro, sequencial e chave primária
Nome, cadeira de caracteres com no máximo 200 caracteres
3. Crie uma tabela chamada Pedidos com os seguintes campos:
• Código, inteiro, sequencial e chave primária
• DataPedido, Data, valor padrão data atual
• Cliente, inteiro, chave estrangeira da tabela clientes
• Valor, numérico com duas casas depois da vírgula
4. Insira três registros na tabela clientes com nomes diferentes e dois pedidos para os dois
primeiros clientes.
5. Faça uma query listando todos os clientes e o número de pedidos para cada cliente mesmo
que não tenham pedido nenhum.
50. USO DE FUNÇÕES PARA MANIPULAÇÃO DE STRINGS
• SUBSTRING
• RIGHT
• LEFT
• LEN
51. FUNÇÕES DE MANIPULAÇÃO DE DATAS
• DAY
• MONTH
• YEAR
• DATEADD
• DATEDIFF
O QUE SÃO E COMO USÁ-LAS?
52. EXERCÍCIOS DE FIXAÇÃO
1. Crie um banco de dados Capitulo6.
2. Crie uma tabela com o nome de Produtos no banco de dados Capitulo6 com os seguintes
campos:
3. Código, inteiro, sequencial e chave ´primária
4. Nome, cadeia de caracteres com no máximo 200 carcateres
5. DataNascimento, Data
6. DataAtualizacao, Data
7. Insira ao menos dez registros com nomes diferentes, e destes dez somente dois com data de
nascimento inferior a 01/10/1980.
8. Crie uma view denominada vwClientes1980, listando todos os clientes que nasceram em
entre 01/01/1980 e 12/12/1989.
9. Crie uma procedure que percorre os registros da tabela Clientes linha a linha, atualizando o
campo DataAtualizacao com a data atual.
10.Crie uma função que recebe como argumento um parâmetro Data e calcula a idade baseada
no parâmetro.
11.Crie uma query que lista todos os clientes da tabela Clientes e usa a função criada
anteriormente para determinar a idade do cliente.
12.Crie uma query listando os primeiros cinco caracteres do campo nome dos clientes.
13.Exclua o banco de dados Capitulo6.
60. EXERCÍCIOS DE FIXAÇÃO
1. Para que serve a view Sys.Objects e quais as principais colunas?
2. Para que server a view Sys.Columns e quais os principais campos?
3. Abra uma nova janela de query, crie uma tabela temporária chamada #Tabelas com os
seguintes campos:
4. Tabela, cadeia de caracteres com no máximo 100 caracteres
5. Coluna, cadeia de caracteres com no máximo 100 caracteres
6. Crie um script com um cursor que percorre todas as tabelas do banco de dados e cada uma
de suas colunas e insere tudo na tabela temporária criada anteriormente.
7. Agora, crie um banco de dados Capitulo7 e faça um backup full desse banco de dados na
pasta temp do seu computador.
8. Restaure o banco de dados com o backup criado na questão anterior.
9. Exclua o banco de dados criado anteriormente.