Você está na página 1de 61

T-SQL COM MICROSOFT SQL SERVER 2012 EXPRESS NA PRTICA

RODRIGO RIBEIRO GONALVES ESTA APRESENTAO MATERIAL DE APOIO DO LIVRO HOMNIMO, LANADO PELA EDITORA RICA, 2013

RODRIGO RIBEIRO GONALVES


Graduado em Sistema de Informao Ps-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/

CAPTULO I

A ORIGEM DO SQL

Desenvolvido no anos de 1970 nos laboratrios 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

O Microsoft sql server 2012 express

Verso limitada, porm gratuita, destinada ao estudo e ao desenvolvimento Pode ser baixado de
http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx.

EXERCCIOS DE FIXAO
1. 2. 3. 4. 5. 6. 7. Quem criou a linguagem SQL? Quem criou as teorias relacionais que fundamentam os SGBDs modernos? Que empresa criou o T-SQL? Quais so as edies do SQL SERVER 2012? Quais as principais limitaes de cada edio? O que quer dizer a sigla SQL? Quais so os dois modos de autenticao no SQL SERVER 2012?

CAPTULO II

Conhea o management studio


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

ABERTURA DE UMA NOVA JANELA DE QUERY

SYSTEM DATABASES
MASTER MODEL MSDB TEMPDB

EXERCCIOS DE FIXAO

1. 2. 3. 4. 5.

Como possvel abrir um arquivo de scripts atravs do SSMS? Qual o nome dos bancos de dados de sistema do SQL SERVER? Para que serve o banco de dados master? Para que serve o banco de dados model? O que o Object Explorer?

CAPTULO III

PRIMEIRO SCRIPT

VARIVEIS E TIPOS DE DADOS

CONCATENAO DE STRINGS
DECLARE @HELLO VARCHAR(100) SET @HELLO = 'Hello World! T-SQL na prtica'

.....

OPERADORES ARITMTICOS
Operao Adio Subtrao Multiplicao Diviso Mod Operador + * / %

COMPARADORES LGICOS
Operador = > < Definio Igual a Maior que Menor que

>=
<= <>

Maior que
Menor que Diferente que

USO DO WHILE

WHILE @COUNT < 10

DATAS NO SQL SERVER

FUNES GETDATE() E CURRENT_TIMESTAMP...COMO US-LAS?

CONVERSO DE DADOS COM CAST E CONVERT

DECLARE @VALOR INT SET @VALOR = 1000 PRINT 'VALOR ' + CAST(....

EXERCCIOS DE FIXAO
1. Qual o comando para declarar variveis no T-SQL?

2. Qual o operador para realizar concatenao de Strings no T-SQL?


3. Qual o operador aritmtico de subtrao no T-SQL? 4. Escreva um trecho de cdigo realizando a multiplicao entre duas variveis do tipo REAL, uma delas com o valor de 8 e a outra com o valor de 9. 5. Adicione ao script da questo anterior um comentrio de vrias linhas com o enunciado da questo anterior.

CAPTULO IV

CRIAO DE UM BANCO DE DADOS

CREATE DATABASE ProjetoTSQL

ARQUIVOS MDF E LDF

CREATE TABLE

USE ProjetoTSQL

CREATE TABLE Clientes(


...

CHAVE PRIMRIA

ALTER TABLE CLIENTES ADD ...

INSERO DE REGISTROS COM O INSERT

INSERT INTO Clientes(Nome


,Endereo ,Telefone ,Email ,DataNascimento) ...

CONSULTA A REGISTROS COM SELECT

SELECT Codigo

,Nome
,...

FILTRO DE CONSULTAS COM WHERE

SELECT Codigo

,Nome
,...

OPERADOR AND

WHERE Codigo > 1

....

ATUALIZAO COM O COMANDO UPDATE

UPDATE
Clientes ....

ISNULL E COALESCE

SELECT ISNULL(

TABELAS TEMPORRIAS

CREATE TABLE #Clientes

EXERCCIOS DE FIXAO

1.Crie um banco de dados denominado ProjetoCapitulo4. 2.Dentro do banco de dados ProjetoCapitulo4, crie uma tabela chamada usurios com os seguintes campos e tipos de dados: Cdigo, Iiteiro, sequencial e chave primria Nome, cadeira caracteres com no mximo 200 caracteres Login, cadeira caracteres com no mximo dez caracteres Senha, cadeira caracteres com no mximo seis caracteres 1.Altere a tabela usurios adicionando um campo denominado DataCriacao com a data de criao do registro, com a data atual como valor padro . 2.Insira o seguinte grupo de dados na tabela usurios (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 prximo registro a ser inserido tenha o campo cdigo com o valor um. 6.Crie uma tabela temporria com a mesma estrutura da tabela usurios. 7.Exclua o banco de dados ProjetoCapitulo4.

Nome Rodrigo Daniel Carolina

Login rodrigo daniel carol

Senha 132435 989876 192837

CAPTULO V

CHAVE ESTRANGEIRA

CREATE TABLE Vendas( Codigo INT IDENTITY(1,1) PRIMARY KEY ,Cliente INT REFERENCES ....

CHAVE ESTRANGEIRA COM ALTER TABLE

ALTER TABLE Vendas ADD CONSTRAINT fkProdutos FOREIGN KEY....

DIAGRAMAS DE BANCO DE DADOS

INNER JOIN

... FROM Clientes C INNER JOIN Vendas .

LEFT JOIN

.... FROM Clientes C LEFT JOIN Vendas

RIGHT JOIN

... FROM VENDAS v RIGHT JOIN Produtos ...

USO DO COUNT E FUNES DE AGREGAO

SELECT Count(*) ...

EXERCCIOS DE FIXAO
1. Crie um banco de dados ProjetoCapitulo5. 2. No banco de dados ProjetoCapitulo5 crie uma tabela Clientes com os seguintes campos Cdigo, inteiro, sequencial e chave primria Nome, cadeira de caracteres com no mximo 200 caracteres 3. Crie uma tabela chamada Pedidos com os seguintes campos: Cdigo, inteiro, sequencial e chave primria DataPedido, Data, valor padro data atual Cliente, inteiro, chave estrangeira da tabela clientes Valor, numrico com duas casas depois da vrgula

4. Insira trs registros na tabela clientes com nomes diferentes e dois pedidos para os dois primeiros clientes. 5. Faa uma query listando todos os clientes e o nmero de pedidos para cada cliente mesmo que no tenham pedido nenhum.

CAPTULO VI

CRIAO DE VIEWS

CREATE VIEW vwClientesAtivos AS ...

CRIAO DE TRIGGERS

CREATE Trigger UpdateProdutos ON Produtos FOR UPDATE AS ...

QUERY COM SQL DINMICO

DECLARE @DATAINI DATETIME ,@DATAFIM DATETIME SELECT @DATAINI='20121221' ,@DATAFIM='20121222'

SELECT Codigo ,Cliente....

CRIAO DE PROCEDURES

CREATE PROC SP_PRODUTOS_CAROS AS .....

CRIAO DE FUNES

CREATE FUNCTION dbo.fnPar(@Valor INT) RETURNS BIT BEGIN .....

USO DE FUNES PARA MANIPULAO DE STRINGS

SUBSTRING RIGHT LEFT LEN

FUNES DE MANIPULAO DE DATAS

DAY MONTH YEAR DATEADD DATEDIFF

O QUE SO E COMO US-LAS?

EXERCCIOS DE FIXAO
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. Cdigo, inteiro, sequencial e chave primria 4. Nome, cadeia de caracteres com no mximo 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 funo que recebe como argumento um parmetro Data e calcula a idade baseada no parmetro. 11. Crie uma query que lista todos os clientes da tabela Clientes e usa a funo 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.

CAPTULO VII

ACESSANDO TABELAS DE SISTEMA

sys.objects Sys.columns

CRIAO DE NDICES

CREATE INDEX IXNomeCliente ...

ACESSO AO EXECUTION PLAN

O COMANDO BACKUP DATABASE

BACKUP DATABASE ProjetoTSQL...

O COMANDO BACKUP DATABASE

BACKUP DATABASE ProjetoTSQL...

RESTAURAO DE UM BACKUP

RESTORE DATABASE [ProjetoTSQL]

EXERCCIOS DE FIXAO

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 temporria chamada #Tabelas com os seguintes campos: 4. Tabela, cadeia de caracteres com no mximo 100 caracteres 5. Coluna, cadeia de caracteres com no mximo 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 temporria criada anteriormente. 7. Agora, crie um banco de dados Capitulo7 e faa um backup full desse banco de dados na pasta temp do seu computador. 8. Restaure o banco de dados com o backup criado na questo anterior. 9. Exclua o banco de dados criado anteriormente.

FIM