Buscar

APS III SQL Avançada (Projeto Banco de Dados Para Uma Imobiliária)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Trabalho III - SQL avançada
Projeto Banco de Dados Para Uma
Imobiliária
Giovani Tognon
Luis Henrique Stormoski 
Felipe Figueiredo 
IMOBILIÁRIA
Views
Exibe o nome do cliente, endereco e a cidade do imovel. 
Seguido do valor do imovel.
CREATE VIEW V_CORRETOR AS
SELECT C.NOME, L.ENDERECO,L.CIDADE,T.VALOR
FROM CLIENTE C, LOCALIZACAO_IMOVEL L, 
TIPO_TRANSACAO T
WHERE C.FK_LOCALIZACAO = L.PK_CODLOC AND 
C.PK_CODCLIENTE = T.FK_CODCLIENTE
Views
Exibe o nome do cliente, endereco e a cidade do imovel. 
Seguido do valor do imovel.
Select * from v_corretor
Views
Mostra o endereco, cidade, tipo e o valor do imovel para o 
cliente
CREATE VIEW V_Cliente AS
SELECT L.ENDERECO,L.CIDADE, TI.TIPO_IMOVEL, T.VALOR
FROM CLIENTE C, LOCALIZACAO_CLIENTE L, 
TIPO_TRANSACAO T, TIPO_IMOVEL TI
WHERE C.FK_LOCALIZACAO = L.PK_CODLOC and 
C.PK_CODCLIENTE = T.FK_CODCLIENTE
Views
Mostra o endereco, cidade, tipo e o valor do imovel para o 
cliente
Select * from v_cliente
STORED PROCEDURES 
DIGITA O COD DO CORRETOR E APARECE OS DADOS DO 
CORRETOR
SET TERM ^ ;
create PROCEDURE Nome_Corretor(VarIn integer)
RETURNS(
 Nome varchar(20),
 Endereco varchar(20),
 Cidade varchar(20),
 Telefone varchar(20)
)AS
BEGIN
 SELECT nome,endereco,cidade,telefone
 FROM corretor
 where PK_codcorretor = :VarIn
 INTO :pk_CodCorretor, Nome,Endereco,Cidade,Telefone;
END^
SET TERM ; ^
STORED PROCEDURES 
DIGITA O COD DO CORRETOR E APARECE OS DADOS DO 
CORRETOR
Execute procedure nome_corretor(1);
STORED PROCEDURES 
UPDATE IMOVEL
ATUALIZA OS CAMPO DOS IMOVEIS
SET TERM ^ ;
create PROCEDURE Insere_Imovel(VarCod integer, 
VarNome varchar(50),VarAno date,VarPro 
varchar(30),VarTel_Prop integer )
AS
BEGIN
 INSERT INTO tipo_imovel
 VALUES(:VarCod, 
:VarNome,:VarAno,:VarPro,:VarTel_Prop);
EXIT;
END^
SET TERM ; ^
STORED PROCEDURES 
UPDATE IMOVEL
ATUALIZA OS CAMPO DOS IMOVEIS
execute procedure insere_imovel(9, 'SOBRADO','03/05/2014','MARIA 
LUZ',88889999);
SELECT * FROM TIPO_IMOVEL
STORED PROCEDURES 
MOSTRA A QUANTIDADE TOTAL DE IMOVEIS ABERTO A 
NEGOCIAÇÕES 
SET TERM ^ ;
create PROCEDURE Traz_Valores2
RETURNS(
Qtde integer
)AS
BEGIN
select count (tipo_transacao)
from tipo_transacao
INTO :Qtde;
END^
SET TERM ; ^
STORED PROCEDURES 
MOSTRA A QUANTIDADE TOTAL DE IMOVEIS ABERTO A 
NEGOCIAÇÕES 
execute procedure traz_valores2;
STORED PROCEDURES 
MOSTRA O BAIRRO, TIPO IMOVEL E VALOR 
SET TERM ^ ;
create PROCEDURE pesq_imovel(MinIn numeric(8,2),MaxIn numeric(8,2),Tipo Varchar(20))
RETURNS(
 BAIRROOUT varchar(40),
 TIPOIMOVELOUT varchar(20),
 VALOROUT numeric(8,2)
)AS
BEGIN
if(MinIn = 0) then
 SELECT L.bairro, TI.tipo_imovel, T.valor
FROM tipo_transacao T, Localizacao_imovel L,tipo_imovel TI
 where T.Valor<=:MaxIn and TI.tipo_imovel = :tipo order by t.valor desc rows 1
 INTO :BAIRROOUT,:TIPOIMOVELOUT,:VALOROUT;
if(MinIn > 0) then
 SELECT L.bairro, TI.tipo_imovel, T.valor
 FROM tipo_transacao T, Localizacao_imovel L,tipo_imovel TI
 where T.valor between :MinIn and :MaxIn and TI.tipo_imovel = :tipo order by t.valor desc 
rows 1
 INTO :BAIRROOUT,:TIPOIMOVELOUT,:VALOROUT;
END^
SET TERM ; ^
STORED PROCEDURES 
MOSTRA O BAIRRO, TIPO IMOVEL E VALOR
 execute procedure qtde_uf6(0, 98000, 'APARTAMENTO');
TRIGGER
IMPLEMENTA O PK_CODCLIENTE AUTOMATICAMENTE 
COD+1
CREATE GENERATOR CODCLI; 
SET TERM ^ ;
CREATE TRIGGER pk_codcliente FOR Cliente
ACTIVE
BEFORE INSERT
AS
begin
 NEW.pk_codcliente = GEN_ID(CODCLI, 1);
end^
SET TERM ; ^
TRIGGER
INSIRT DE UM NOVO CLIENTE
insert into cliente(fk_localizacao, nome, idade, cpf, profissao) values (8, ‘Bastiao', 65, 
999999999, 'aposentado')
TRIGGER
MUDA O STATUS PARA RESERVADO QUANDO 
EXISTE ALGUEM INTERESSADO PELO IMOVEL
SET TERM ^ ;
CREATE TRIGGER muda_status FOR tipo_transacao
ACTIVE
BEFORE update
AS
begin
if(new.interessado = 0) then
new.status = 'Reservado';
if(new.interessado = 1) then
new.status = 'Livre';
END^
SET TERM;^
TRIGGER
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18

Outros materiais