Questão 2469402

Tecnologia da Informação · 2010

Questão

ID 2469402

Disciplina: Tecnologia da Informação

Assunto: Select

Ano: 2010 Banca: CEFETBAHIA - Fundação de Apoio à Educação e Desenvolvimento Tecnológico da Bahia Órgão: Empresa Baiana de Alimentos S.A.


Leia o Script Sql a seguir para responder às questões de 31 a 33.

DROP TABLE ALUGUEL

DROP TABLE USUARIO

DROP TABLE FILME

DROP TABLE CATEGORIA

CREATE TABLE Categoria

( Codigo CHAR(2) NOT NULL,

Nome CHAR(30) NOT NULL,

QtdeDias INT NOT NULL, CONSTRAINT PK_CAT_COD PRIMARY KEY (Codigo))

CREATE TABLE Usuario

( Matricula CHAR(5) NOT NULL,

Nome CHAR(30) NOT NULL,

Categoria CHAR(2) NOT NULL,

Status CHAR(2) NOT NULL,

CONSTRAINT PK_USU_MATR PRIMARY KEY (Matricula),

CONSTRAINT FK_USU_CATE FOREIGN KEY (Categoria) REFERENCES Categoria(Codigo))

CREATE TABLE Filme

( Codigo CHAR(3) NOT NULL,

Nome CHAR(30) NOT NULL,

CONSTRAINT PK_FILM_COD PRIMARY KEY (Codigo))

CREATE TABLE Aluguel

( Codigo INT NOT NULL,

Usuario CHAR(5) NOT NULL,

Filme CHAR(3) NOT NULL,

DataEmpres SMALLDATETIME NOT NULL,

DataDevol SMALLDATETIME NULL,

CONSTRAINT PK_ALG_COD PRIMARY KEY (Codigo),

CONSTRAINT FK_ALG_USU FOREIGN KEY (Usuario) REFERENCES Usuario(Matricula),

CONSTRAINT FK_ALG_FIL FOREIGN KEY (Filme) REFERENCES Filme(Codigo))

GO

CREATE PROCEDURE Calcula

@Matricula Char(5),

@Valor Decimal(12,2),

@Calculado Decimal(12,2) output As

Begin

SELECT @Calculado =

SUM(CAST(Aluguel.DataDevol - (Aluguel.DataEmpres + Categoria.QtdeDias)AS INT) * @Valor)

FROM Usuario

INNER JOIN Categoria ON (Categoria.Codigo = Usuario.Categoria)

INNER JOIN Aluguel ON (Aluguel.Usuario = Usuario.Matricula) Where

(Usuario.Matricula = @Matricula) And

(Aluguel.DataDevol Is Not Null

And Aluguel.DataDevol > (Aluguel.DataEmpres +Categoria.QtdeDias))

End

GO

INSERT INTO Categoria VALUES ('11','VIP',7)

INSERT INTO Categoria VALUES ('22','Basico',2)

INSERT INTO Categoria VALUES ('33','Especial',4)

INSERT INTO Usuario VALUES ('11111','Maria','11','00')

INSERT INTO Usuario VALUES ('22222','Katia','22','00')

INSERT INTO Usuario VALUES ('33333','Carla','11','00')

INSERT INTO Usuario VALUES ('44444','Gildo','33','00')

INSERT INTO Usuario VALUES ('55555','Helga','33','00')

INSERT INTO Usuario VALUES ('66666','Mario','11','00')

INSERT INTO Usuario VALUES ('77777','Vania','33','00')

INSERT INTO Usuario VALUES ('88888','Tomas','33','00')

INSERT INTO Usuario VALUES ('99999','Vilma','22','00')

INSERT INTO Filme VALUES ('111','Matrix')

INSERT INTO Filme VALUES ('222','E o vento Levou')

INSERT INTO Filme VALUES ('333','Platoon')

INSERT INTO Filme VALUES ('444','Formiguinha Z')

INSERT INTO Filme VALUES ('555','Os Incriveis')

INSERT INTO Filme VALUES ('666','Atração Fatal')

INSERT INTO Filme VALUES ('777','Planeta Vermelho')

INSERT INTO Aluguel VALUES (1,'11111','111','2009-10-10','2009-10-12')

INSERT INTO Aluguel VALUES (2,'33333','666','2009-11-22','2009-11-27')

INSERT INTO Aluguel VALUES (3,'88888','555','2009-12-02','2009-12-08')

INSERT INTO Aluguel VALUES (4,'99999','777','2009-12-05', NULL) INSERT INTO Aluguel VALUES (5,'11111','666','2009-12-05','2009-12-12')

INSERT INTO Aluguel VALUES (6,'11111','555','2009-12-10', NULL) INSERT INTO Aluguel VALUES (7,'22222','222','2009-12-11','2009-12-28')

INSERT INTO Aluguel VALUES (8,'55555','333','2009-12-11','2009-12-25')

INSERT INTO Aluguel VALUES (9,'33333','666','2009-12-15','2009-12-29')



Select Filme.Nome From Filme

Where

Filme.Codigo Not In (Select Distinct Aluguel.Filme From Aluguel)

O resultado, contendo dados do banco, que será obtido com o comando SQL em evidência é

Alternativas da questão 2469402
Pular para o conteúdo principal