sql server 2012 - express

61
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

Upload: fernandodba

Post on 27-Nov-2015

128 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SQL Server 2012 - Express

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

Page 2: SQL Server 2012 - Express

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/

Page 3: SQL Server 2012 - Express

CAPÍTULO I

Page 4: SQL Server 2012 - Express

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

Page 5: SQL Server 2012 - Express

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.

Page 6: SQL Server 2012 - Express

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?

Page 7: SQL Server 2012 - Express

CAPÍTULO II

Page 8: SQL Server 2012 - Express

Conheça o management studio

Para abrir scripts .SQL no Management Studio, clique em File\Open\File.

Page 9: SQL Server 2012 - Express

ABERTURA DE UMA NOVA JANELA DE QUERY

Page 10: SQL Server 2012 - Express

SYSTEM DATABASES

• MASTER

• MODEL

• MSDB

• TEMPDB

Page 11: SQL Server 2012 - Express

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?

Page 12: SQL Server 2012 - Express

CAPÍTULO III

Page 13: SQL Server 2012 - Express

PRIMEIRO SCRIPT

Page 14: SQL Server 2012 - Express

VARIÁVEIS E TIPOS DE DADOS

Page 15: SQL Server 2012 - Express

CONCATENAÇÃO DE STRINGS

DECLARE @HELLO VARCHAR(100)

SET @HELLO = 'Hello World! T-SQL na prática'

.....

Page 16: SQL Server 2012 - Express

OPERADORES ARITMÉTICOS

Operação Operador

Adição +Subtração -Multiplicação *Divisão /Mod %

Page 17: SQL Server 2012 - Express

COMPARADORES LÓGICOS

Operador Definição= Igual a

>  Maior que

<  Menor que

>= Maior que

<= Menor que

<>  Diferente que

Page 18: SQL Server 2012 - Express

USO DO WHILE

WHILE @COUNT < 10

……

Page 19: SQL Server 2012 - Express

DATAS NO SQL SERVER

FUNÇÕES GETDATE() E CURRENT_TIMESTAMP...COMO USÁ-LAS?

Page 20: SQL Server 2012 - Express

CONVERSÃO DE DADOS COM CAST E CONVERT

DECLARE

@VALOR INT

SET @VALOR = 1000

PRINT 'VALOR É ' + CAST(....

Page 21: SQL Server 2012 - Express

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.

Page 22: SQL Server 2012 - Express

CAPÍTULO IV

Page 23: SQL Server 2012 - Express

CRIAÇÃO DE UM BANCO DE DADOS

CREATE DATABASE ProjetoTSQL

Page 24: SQL Server 2012 - Express

ARQUIVOS MDF E LDF

Page 25: SQL Server 2012 - Express

CREATE TABLE

USE ProjetoTSQL

CREATE TABLE Clientes(

...

Page 26: SQL Server 2012 - Express

CHAVE PRIMÁRIA

ALTER TABLE CLIENTES

ADD ...

Page 27: SQL Server 2012 - Express

INSERÇÃO DE REGISTROS COM O INSERT

INSERT INTO Clientes(Nome

,Endereço

,Telefone

,Email

,DataNascimento)

...

Page 28: SQL Server 2012 - Express

CONSULTA A REGISTROS COM SELECT

SELECT

Codigo

,Nome

,...

Page 29: SQL Server 2012 - Express

FILTRO DE CONSULTAS COM WHERE

SELECT

Codigo

,Nome

,...

Page 30: SQL Server 2012 - Express

OPERADOR AND

WHERE

Codigo > 1

....

Page 31: SQL Server 2012 - Express

ATUALIZAÇÃO COM O COMANDO UPDATE

UPDATE

Clientes

....

Page 32: SQL Server 2012 - Express

ISNULL E COALESCE

SELECT

ISNULL(…

Page 33: SQL Server 2012 - Express

TABELAS TEMPORÁRIAS

CREATE TABLE #Clientes

Page 34: SQL Server 2012 - Express

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

Page 35: SQL Server 2012 - Express

CAPÍTULO V

Page 36: SQL Server 2012 - Express

CHAVE ESTRANGEIRA

CREATE TABLE Vendas(Codigo INT

IDENTITY(1,1)PRIMARY

KEY,Cliente INT

REFERENCES .... 

Page 37: SQL Server 2012 - Express

CHAVE ESTRANGEIRA COM ALTER TABLE

ALTER TABLE Vendas ADD CONSTRAINT fkProdutosFOREIGN KEY.... 

Page 38: SQL Server 2012 - Express

DIAGRAMAS DE BANCO DE DADOS

 

Page 39: SQL Server 2012 - Express

INNER JOIN

...FROM

Clientes CINNER JOIN Vendas…. 

Page 40: SQL Server 2012 - Express

LEFT JOIN

....FROM

Clientes CLEFT JOIN Vendas… 

Page 41: SQL Server 2012 - Express

RIGHT JOIN

...FROM

VENDAS vRIGHT JOIN Produtos ...

 

Page 42: SQL Server 2012 - Express

USO DO COUNT E FUNÇÕES DE AGREGAÇÃO

SELECT Count(*) ...

 

Page 43: SQL Server 2012 - Express

EXERCÍCIOS DE FIXAÇÃO1. 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áriaNome, 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.

 

Page 44: SQL Server 2012 - Express

CAPÍTULO VI

Page 45: SQL Server 2012 - Express

CRIAÇÃO DE VIEWS

CREATE VIEW vwClientesAtivosAS...

Page 46: SQL Server 2012 - Express

CRIAÇÃO DE TRIGGERS

CREATE Trigger UpdateProdutos ON Produtos FOR UPDATE AS ...

Page 47: SQL Server 2012 - Express

QUERY COM SQL DINÂMICO

DECLARE @DATAINI DATETIME,@DATAFIM DATETIME

 SELECT

@DATAINI='20121221',@DATAFIM='20121222'

  SELECT

Codigo,Cliente....

Page 48: SQL Server 2012 - Express

CRIAÇÃO DE PROCEDURES

CREATE PROC SP_PRODUTOS_CAROSAS.....

Page 49: SQL Server 2012 - Express

CRIAÇÃO DE FUNÇÕES

CREATE FUNCTION dbo.fnPar(@Valor INT)RETURNS BITBEGIN.....

Page 50: SQL Server 2012 - Express

USO DE FUNÇÕES PARA MANIPULAÇÃO DE STRINGS

• SUBSTRING• RIGHT • LEFT • LEN

Page 51: SQL Server 2012 - Express

FUNÇÕES DE MANIPULAÇÃO DE DATAS

• DAY• MONTH• YEAR• DATEADD• DATEDIFF

O QUE SÃO E COMO USÁ-LAS?

Page 52: SQL Server 2012 - Express

EXERCÍCIOS DE FIXAÇÃO1. 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ária4. Nome, cadeia de caracteres com no máximo 200 carcateres5. DataNascimento, Data6. DataAtualizacao, Data7. 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.

Marlene
retirar numeração 3,4,5,6
Page 53: SQL Server 2012 - Express

CAPÍTULO VII

Page 54: SQL Server 2012 - Express

ACESSANDO TABELAS DE SISTEMA

sys.objectsSys.columns

Page 55: SQL Server 2012 - Express

CRIAÇÃO DE ÍNDICES

CREATE INDEX IXNomeCliente ...

Page 56: SQL Server 2012 - Express

ACESSO AO EXECUTION PLAN

Page 57: SQL Server 2012 - Express

O COMANDO BACKUP DATABASE

BACKUP DATABASE ProjetoTSQL...

Page 58: SQL Server 2012 - Express

O COMANDO BACKUP DATABASE

BACKUP DATABASE ProjetoTSQL...

Page 59: SQL Server 2012 - Express

RESTAURAÇÃO DE UM BACKUP

 RESTORE DATABASE [ProjetoTSQL]…

Page 60: SQL Server 2012 - Express

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 caracteres5. Coluna, cadeia de caracteres com no máximo 100 caracteres6. 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.

Page 61: SQL Server 2012 - Express

FIM