t sql exercicios

Upload: isis-simao-sanacato

Post on 02-Mar-2016

68 views

Category:

Documents


0 download

TRANSCRIPT

  • T-SQL com Microsoft SQL Server 2012 Express na Prtica

    Rodrigo Ribeiro Gonalves

    Respostas dos Exerccios

    Editora rica Ltda.

    Cd. 4537

  • T-SQ

    L co

    m M

    icro

    soft

    SQ

    L Se

    rver

    201

    2 Ex

    pres

    s na

    Pr

    tica

    2

    Captulo 1

    1. Donald Chamberlin e Raymond Boyce.

    2. Edgar Frank "Ted" Codd.

    3. MicrosofteSybase.

    4.

    ] Enterprise ] Business Intelligence ] Standard ] Web ] ExpresswithAdvancedServices ] Express with tools ] Express

    5.

    Edio

    Funcionalidade

    Capacidade mxima de

    processamento por instncia

    Capacidade mxima de

    processamento por instncia (SSAS, SSRS)

    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

    Enterprise

    Mximo suportado

    peloSistemaOperacional

    Mximo suportado

    peloSistemaOperacional

    Mximo suportado

    peloSistemaOperacional

    Mximo suportado

    peloSistemaOperacional

    Mximo suportado

    peloSistemaOperacional

    524 PB

    Business Intelligence

    4Socketsou 16 Cores

    Mximo suportado

    peloSistemaOperacional

    64 GB

    Mximo suportado

    peloSistemaOperacional

    Mximo suportado

    peloSistemaOperacional

    524 PB

    Standard4Socketsou

    16 Cores4Socketsou

    16 Cores64 GB 64 GB 64 GB 524 PB

    Web4Socketsou

    16 Cores4Socketsou

    16 Cores64 GB N/A 64 GB 524 PB

    Express with

    Advanced Services

    4Socketsou 16 Cores

    4Socketsou 16 Cores

    1 GB N/A 4 GB 10 GB

    Express with Tools

    4Socketsou 16 Cores

    4Socketsou 16 Cores

    1 GB N/A N/A 10 GB

    Express4Socketsou

    16 Cores4Socketsou

    16 Cores1 GB N/A N/A 10 GB

  • Resp

    osta

    s do

    s Ex

    erc

    cios

    3

    6. Structured Query Language.

    7. WindowsAuthenticationeSQLServerAuthentication.

    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 instnciadoSQLServer.Issoabrangeosmetadadosdosbancosdedadosdainstncia, contas de login, informaes sobre servidores conectados instn-cia, tambm chamados de linkedserverseconfiguraesdesistema.

    4. O banco de dados modelutilizadocomoumtemplate para a criao de ou-trosbancosdedados,ouseja,todososbancosdedadossocriadosapartirdesse modelo.

    5. O Object Explorer,painelqueporpadroficaesquerdadatela,mostraemuma 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. -

  • T-SQ

    L co

    m M

    icro

    soft

    SQ

    L Se

    rver

    201

    2 Ex

    pres

    s na

    Pr

    tica

    4

    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

    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))

  • Resp

    osta

    s do

    s Ex

    erc

    cios

    5

    3. ALTER TABLE USUARIOSADD DATAATUAL DATETIME DEFAULT GETDATE()

    4. INSERT INTO USUARIOS(NOME,LOGIN,SENHA)VALUES ('Rodrigo', 'rodrigo','132435') ,('Daniel','daniel','989876') ,('Carolina','carol','192837')

    5. UPDATE USUARIOSSET senha='54321'WHERE LOGIN='rodrigo'

    6. DELETE FROM USUARIOSWHERE 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

  • T-SQ

    L co

    m M

    icro

    soft

    SQ

    L Se

    rver

    201

    2 Ex

    pres

    s na

    Pr

    tica

    6

    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(P.Codigo)FROM Clientes CLEFT JOIN Pedidos P ON (C.codigo=P.Cliente)GROUP BY NOME

  • Resp

    osta

    s do

    s Ex

    erc

    cios

    7

    Captulo 6

    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 vwClientes1980ASSELECT * FROM ClientesWHERE DATANASCIMENTO BETWEEN '19800101' AND '19891212'

    5.DECLARE @id INT

    DECLARE db_cursor CURSOR FOR SELECT CODIGOFROM Clientes

    OPEN db_cursor

    FETCH NEXT FROM db_cursor INTO @id

  • T-SQ

    L co

    m M

    icro

    soft

    SQ

    L Se

    rver

    201

    2 Ex

    pres

    s na

    Pr

    tica

    8

    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 INTBEGIN

    DECLARE @RESULT INT

    SELECT @RESULT=DATEDIFF(YEAR,@DTNASCTO,GETDATE())

    RETURN @RESULT

    END

    7.SELECT dbo.FN_IDADE(DATANASCIMENTO) AS IDADE,* FROM Clientes

    8.SELECT LEFT(NOME,5) AS NOMEFROM Clientes

    9.DROP DATABASE Capitulo6

  • Resp

    osta

    s do

    s Ex

    erc

    cios

    9

    Captulo 7

    1. A View Sys.objects listatodososobjetoscontidosnobancodedados,sejamobjetos de sistema ou criados pelos usurios de banco de dados.

    2. Sys.Columns outra view de sistema, que lista as colunas de todas as tabelas eseusrespectivostiposdedados,"nulabilidade",aquetabelasestovincula-das, 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 O.NAME ,C.NAMEFROM Sys.Objects OJOIN Sys.Columns 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 Capitulo7TO DISK='C:\TEMP\Cap7.BAK'

  • T-SQ

    L co

    m M

    icro

    soft

    SQ

    L Se

    rver

    201

    2 Ex

    pres

    s na

    Pr

    tica

    10

    6. USE tempdb

    RESTORE DATABASE Capitulo7FROM DISK='C:\TEMP\Cap7.BAK'

    7. DROP DATABASE Capitulo7