T-SQL com Microsoft SQL Server 2012 Express na Prtica
Rodrigo Ribeiro Gonalves
Respostas dos Exerccios
Cd. 4537
Editora rica Ltda.
T-SQL com Microsoft SQL Server 2012 Express na Prtica
Captulo 1
1. Donald Chamberlin e Raymond Boyce. 2. Edgar Frank "Ted" Codd. 3. Microsoft e Sybase. 4.
]] ]] ]] ]] ]] ]] ]]
Enterprise Business Intelligence Standard Web Express with Advanced Services Express with tools Express
5.
Funcionalidade Capacidade Capacidade mxima de mxima de processamento processamento por instncia por instncia (SSAS, SSRS) Mximo suportado pelo Sistema Operacional 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores Mximo suportado pelo Sistema Operacional Mximo suportado pelo Sistema Operacional 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores 4 Sockets ou 16 Cores Mximo de memria utilizada pelo Database Engine Mximo de memria utilizada pelo Analysis Services Mximo de memria utilizada pelo Reporting Services Tamanho Mximo de um Banco de Dados relacional
Edio
Enterprise
Mximo Mximo Mximo suportado suportado suportado pelo Sistema pelo Sistema pelo Sistema Operacional Operacional Operacional Mximo Mximo suportado suportado pelo Sistema pelo Sistema Operacional Operacional 64 GB N/A 64 GB 64 GB
524 PB
Business Intelligence
64 GB
524 PB
Standard Web Express with Advanced Services Express with Tools Express
64 GB 64 GB
524 PB 524 PB
1 GB
N/A
4 GB
10 GB
1 GB
N/A
N/A
10 GB
1 GB
N/A
N/A
10 GB
7. Windows Authentication e SQL Server Authentication.
Captulo 2
1. Para abrir arquivos de script, clique em File\Open\File.
2. Master, Model, Msdb e Tempdb. 3. O banco de dados master registra todas as informaes de sistema sobre a instncia do SQL Server. Isso abrange os metadados dos bancos de dados da instncia, contas de login, informaes sobre servidores conectados instncia, tambm chamados de linkedservers e configuraes de sistema. 4. O banco de dados model utilizado como um template para a criao de outros bancos de dados, ou seja, todos os bancos de dados so criados a partir desse modelo. 5. O Object Explorer, painel que por padro fica esquerda da tela, mostra em uma estrutura hierrquica as instncias conectadas, seus bancos de dados e suas estruturas de objetos como tabelas, procedures e functions.
Captulo 3
1. Declare 2. + 3. -
Respostas dos Exerccios
6. Structured Query Language.
T-SQL com Microsoft SQL Server 2012 Express na Prtica
4.
DECLARE @V1 NUMERIC(10,2) ,@V2 NUMERIC(10,2) SELECT @V1 = 8 ,@V2 = 9 SELECT @V1 * @V2 AS [Resultado]
5.
/* */ 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.
DECLARE @V1 NUMERIC(10,2) ,@V2 NUMERIC(10,2) SELECT @V1 = 8 ,@V2 = 9 SELECT @V1 * @V2 AS [Resultado]
Captulo 4
4
1.
CREATE DATABASE ProjetoCapitulo4
2.
USE ProjetoCapitulo4 CREATE ) TABLE USUARIOS( Codigo INT IDENTITY(1,1) PRIMARY KEY ,Nome VARCHAR(200) ,Login VARCHAR(10) ,Senha VARCHAR(6)
ALTER TABLE USUARIOS ADD DATAATUAL DATETIME DEFAULT GETDATE()
4.
INSERT INTO USUARIOS(NOME,LOGIN,SENHA) VALUES ('Rodrigo', 'rodrigo','132435') ,('Daniel','daniel','989876') ,('Carolina','carol','192837')
5.
UPDATE USUARIOS SET senha='54321' WHERE LOGIN='rodrigo'
6.
DELETE FROM USUARIOS WHERE LOGIN='DANIEL'
7.
TRUNCATE TABLE USUARIOS
8.
CREATE ) TABLE #USUARIOS( Codigo INT IDENTITY(1,1) PRIMARY KEY ,Nome VARCHAR(200) ,Login VARCHAR(10) ,Senha VARCHAR(6)
9.
USE TEMPDB DROP DATABASE ProjetoCapitulo4
Respostas dos Exerccios
3.
T-SQL com Microsoft SQL Server 2012 Express na Prtica
Captulo 5
1.
CREATE DATABASE ProjetoCapitulo5
2.
CREATE TABLE Clientes( codigo INT IDENTITY(1,1) PRIMARY KEY ,NOME VARCHAR(200) )
3.
CREATE TABLE Pedidos( Codigo INT IDENTITY(1,1) PRIMARY KEY ,DataPedido DATETIME DEFAULT GETDATE() ,Cliente INT REFERENCES Clientes(Codigo) ,Valor NUMERIC(10,2) )
4.
INSERT INTO Clientes(NOME) VALUES ('Joo') ,('Jos') ,('Maria') INSERT INTO Pedidos (Cliente,Valor) VALUES (1,100.20) ,(2,201.98)
5.
SELECT NOME ,COUNT([Link]) FROM Clientes C LEFT JOIN Pedidos P ON ([Link]=[Link]) GROUP BY NOME
1.
CREATE DATABASE Capitulo6
2.
USE Capitulo6 CREATE TABLE Clientes( Codigo INT IDENTITY(1,1) PRIMARY KEY ,Nome VARCHAR(200) ,DataNascimento DATETIME ,DataAtualizacao DATETIME )
3.
INSERT INTO Clientes(Nome, DataNascimento, DataAtualizacao) VALUES ('Rodrigo','19780130',GETDATE()) ,('Daniel','19780130',GETDATE()) ,('Nelson','19850130',GETDATE()) ,('Jlio','19850130',GETDATE()) ,('Jonas','19850130',GETDATE()) ,('Maria','19850130',GETDATE()) ,('Fernanda','19850130',GETDATE()) ,('Luisa','19850130',GETDATE()) ,('Giovanna','19850130',GETDATE()) ,('Isabella','19850130',GETDATE())
4.
CREATE VIEW vwClientes1980 AS SELECT * FROM Clientes WHERE DATANASCIMENTO BETWEEN '19800101' AND '19891212'
5.
DECLARE @id INT FOR DECLARE db_cursor CURSOR SELECT CODIGO FROM Clientes OPEN db_cursor FETCH NEXT FROM db_cursor INTO @id
Respostas dos Exerccios
Captulo 6
T-SQL com Microsoft SQL Server 2012 Express na Prtica
WHILE @@FETCH_STATUS = 0 BEGIN UPDATE Clientes SET [DataAtualizacao]=GETDATE() WHERE CODIGO=@ID FETCH NEXT FROM db_cursor INTO @id END CLOSE db_cursor DEALLOCATE db_cursor
6.
CREATE FUNCTION FN_IDADE(@DTNASCTO DATETIME) RETURNS INT BEGIN DECLARE @RESULT INT END SELECT @RESULT=DATEDIFF(YEAR,@DTNASCTO,GETDATE()) RETURN @RESULT
7.
SELECT dbo.FN_IDADE(DATANASCIMENTO) AS IDADE,* FROM Clientes
8.
SELECT LEFT(NOME,5) AS NOME FROM Clientes
9.
DROP DATABASE Capitulo6
1. A View [Link] lista todos os objetos contidos no banco de dados, sejam objetos de sistema ou criados pelos usurios de banco de dados. 2. [Link] outra view de sistema, que lista as colunas de todas as tabelas e seus respectivos tipos de dados, "nulabilidade", a que tabelas esto vinculadas, entre outras informaes. 3.
CREATE TABLE #TABELAS( Tabela VARCHAR(100) ,Coluna VARCHAR(100) )
4.
DECLARE @TABELA VARCHAR(100) ,@COLUNA VARCHAR(100) DECLARE db_cursor CURSOR FOR SELECT [Link] ,[Link] FROM [Link] O JOIN [Link] C ON (O.object_id=C.object_id) WHERE TYPE='U' OPEN db_cursor FETCH NEXT FROM db_cursor INTO @TABELA ,@COLUNA WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO #TABELAS VALUES (@TABELA,@COLUNA)
FETCH NEXT FROM db_cursor INTO @TABELA ,@COLUNA END CLOSE db_cursor DEALLOCATE db_cursor
5.
CREATE DATABASE Capitulo7 BACKUP DATABASE Capitulo7 TO DISK='C:\TEMP\[Link]'
Respostas dos Exerccios
Captulo 7
T-SQL com Microsoft SQL Server 2012 Express na Prtica
6.
USE tempdb RESTORE DATABASE Capitulo7 FROM DISK='C:\TEMP\[Link]'
7.
DROP DATABASE Capitulo7
10