Atividade Extra B2 - Mário
-
Upload
mario-uryu -
Category
Documents
-
view
218 -
download
0
Transcript of Atividade Extra B2 - Mário
-
7/24/2019 Atividade Extra B2 - Mrio
1/6
Mario Takashi Uryu JuniorRA 9911153366
3 SemestreSistemas de Informao
Ati!idade "#tra $ % &imestre
1' (riem o &an)o de *ados +rodutora,i-mes e de.namas ta/e-as a/ai#o0
create database ProdutoraFilmes;
use ProdutoraFilmes;
create table Filme(Codigo int not null auto_increment,Nome varchar(30) not null,Genero varchar(20),ata!ancamento timestam",constraint "rimar# $e# (codigo) );
create table %rtista(Codigo int not null auto_increment,Nome varchar(30),
atanascimento date,Pais&rigem varchar(30),Caracteristicas varchar('00),Genero varchar (20),constraint Codigo2 "rimar# $e# (Codigo) );
create table Filme%rtista(CodigoFilme int,Codigo%rtista int,ataGravacao timestam",constraint CodigoFilme2 oreign $e# (CodigoFilme) reerences Filme (Codigo),constraint Codigo%rtista2 oreign $e#(Codigo%rtista) reerences %rtista(Codigo) );
Artista
Codigo
Nome
ataNascimento
Pais&rigem
Caracteristicas
,i-meArtista
CodigoFilme
Codigo%rtista
ataGravacao
,i-me
Codigo
Nome
Genero
ata!ancamento
-
7/24/2019 Atividade Extra B2 - Mrio
2/6
%' (rie uma +ro)edure ara )ada uma das ta/e-as2ue ir4 inserir e atua-iar os rese)ti!osreistros'
1 Ta/e-a0 Artista
create de*ner+root-localhost "rocedure Proc%rtista(Codigo' int, Nome' varchar(30),ataNascimento' date, Pais&rigem' varchar(30), Caracteristicas' varchar(.0), Genero'varchar (20), &"' char('))begin
i (&"' + // or &"' +/u/) thenu"date %rtista setNome + Nome',ataNascimento + ataNascimento',Pais&rigem + Pais&rigem',Caracteristicas + Caracteristicas',Genero + Genero'
1hereCodigo + Codigo';end i;
i (&"' + // or &"' + /i/) theninsert into %rtista (Nome, ataNascimento, Pais&rigem, Caracteristicas, Genero)values (Nome', ataNascimento', Pais&rigem', Caracteristicas', Genero');end i;
end
% Ta/e-a0 ,i-me
create de*ner+root-localhost "rocedure ProcFilme(Codigo' int, Nome' varchar(30),Genero' varchar(20), ata!ancamento' datetime, &"' char('))begin
i (_o" + // or _o" + /u/) thenu"date Filme setnome + Nome',genero + Genero',ata!ancamento + ata!ancamento'
1hereCodigo + Codigo';end i;
i (&"' + // or &"' + /i/) theninsert into Filme (Nome, Genero, ata!ancamento)values (Nome', Genero', ata!ancamento');end i;
end
3 Ta/e-a0 ,i-meArtista
create de*ner+root-localhost "rocedure ProcFilme%rtista(CodigoFilme' int,Codigo%rtista' int)
begin
insert into Filme%rtista (CodigoFilme, Codigo%rtista)values (CodigoFilme', Codigo%rtista');
end
-
7/24/2019 Atividade Extra B2 - Mrio
3/6
3' (rie uma +ro)edure ara )ada uma das ta/e-as2ue ir4 aaar os reistros das ta/e-as2tomando or /ase a )ha!e rim4ria'
1 Ta/e-a0 Artista
delimiter use ProdutoraFilmescreate "rocedure Proc%rtista' (Codigo' int)begin
delete rom Filme%rtista 1here Codigo%rtista + Codigo'delete rom %rtista 1here Codigo + Codigo';
enddelimiter;
% Ta/e-a0 ,i-me
delimiter use ProdutoraFilmescreate "rocedure ProcFilme' (Codigo' int)begin
delete rom Filme%rtista 1here CodigoFilme + Codigo';delete rom Filme 1here Codigo + Codigo';
enddelimiter;
3 Ta/e-a0 ,i-meArtista
delimiter use ProdutoraFilmescreate de*ner+root-localhost "rocedure ProcFilme%rtista'(CodigoFilme' int,Codigo%rtista' int)begin
delete rom Filmeartista 1here CodigoFilme + CodigoFilme' and Codigo%rtista +Codigo%rtista';
end delimiter ;
7' (rie uma 8ie ue e#i/a os ,i-mes
create or re"lace vie1 4ie1Filme5elect asselect 6 rom Filme;;
5' (rie uma 8ie ue e#i/a os Artistas'
create or re"lace vie1 4ie1%rtista5elect asselect 6 rom %rtista;;
-
7/24/2019 Atividade Extra B2 - Mrio
4/6
6' (rie uma 8ie ue ir4 e#i/ir o nome e :nerodos ,i-mes2 e o nome e a;s dos Artistas uearti)iaram dos rese)ti!os .-mes'
create or re"lace vie1 4ie1NGNPFilmes asselect b7Nome, b7Genero, a7Nome, a7Pais&rigem
rom Filme%rtista ainner 8oin Filme b on b7Codigo + a7CodigoFilmeinner 8oin %rtista c on c7Codigo + a7Codigo%rtista;
-
7/24/2019 Atividade Extra B2 - Mrio
5/6
Genero%nterior varchar(20),Genero%tual varchar(20),constraint ata%lteracao' "rimar# $e# (ata%lteracao));
3 Ta/e-a0 =ist>ri)o,i-meArtista
create table 9istoricoFilme%rtista (
ata%lteracao timestam",:i"o%lteracao char('),CodigoFilme int,Codigo%rtista int,ataGravacao timestam",constraint ata%leracao' "rimar# $e# (ata%lteracao));
?' (rie uma Trier ue ser4 disarada uando o)orrer umU+*AT" na ta/e-a ,i-me' "-a de!er4 inserir na ta/e-a=istori)o,i-me a data da a-terao2 o )>dio do .-me etam/@m os dados anteriores a a-terao e os dados a>sa a-terao'
create de*ner+root-localhost trigger ProdutoraFilmes7Filme%ter"date ater u"dateon Filme or each ro1
begin
insert into 9istoricoFilme (ata%lteracao, Codigo, Nome%nterior, Nome%tual, Genero%nterior,Genero%tual, ata!ancamento%nterior, ata!ancamento%tual)
select no1(), Codigo, old7Nome, ne17Nome, old7Genero, ne17Genero, old7ata!ancamento,ne17ata!ancamento
rom Filme
1hereCodigo + ne17Codigo;
end
9' (rie uma Trier ue ser4 disarada uando o)orrer umU+*AT" na ta/e-a Artista' "-a de!er4 inserir na ta/e-a=istori)oArtista a data da a-terao2 o )>dio do artistae tam/@m os dados anteriores a a-terao e os dadosa>s a a-terao'
create de*ner+root-localhost trigger ProdutoraFilmes7%rtista%ter"date ateru"date on %rtista or each ro1begin
insert into 9istorico%rtista (ata%lteracao, Codigo, Nome%nterior, Nome%tual,ataNascimento%nterior, ataNascimento%tual, Pais&rigem%nterior, Pais&rigem%tual,Caracteristicas%nterior, Caracteristicas%tual, Genero%nterior, Genero%tual)
select no1(), Codigo, old7Nome, ne17Nome, old7ataNascimento, ne17ataNascimento,old7Pais&rigem, ne17Pais&rigem, old7Caracteristicas, ne17Caracteristicas, old7Genero,ne17Genero
rom %rtista
1hereCodigo + ne17Codigo;
end
-
7/24/2019 Atividade Extra B2 - Mrio
6/6
1' (rie uma Trier ue ser4 disara uando o)orrerum IBS"RT na ta/e-a ,i-meArtista' "-a de!er4 inserir nata/e-a =istori)o,i-meArtista a data da a-terao2 o tiode a-terao )om o !a-or CID e os demais !a-oresinseridos'
create de*ner+root-localhost trigger ProdutoraFilmes7Filme%rtista%ternsert aterinsert on Filme%rtista or each ro1begin
insert into 9istoricoFilme%rtista (ata%lteracao, :i"o%lteracao, CodigoFilme, Codigo%rtista,ataGravacao)select no1(), //, ne17CodigoFilme, ne17Codigo%rtista, ne17ataGravacao rom Filme%rtista1hereCodigoFilme + ne17CodigoFilme and Codigo%rtista + ne17Codigo%rtista;end
11' (rie uma Trier ue ser4 disara uando o)orrer
um *"E"T" na ta/e-a ,i-meArtista' "-a de!er4 inserir nata/e-a =istori)o,i-meArtista a data da a-terao2 o tiode a-terao )om o !a-or C*D e os demais !a-oresaaados'
create de*ner+root-localhost trigger ProdutoraFilmes7Filme%rtistaeoreelete beoredelete on Filme%rtista or each ro1begin
insert into 9istoricoFilme%rtista (ata%lteracao, :i"o%lteracao, CodigoFilme, Codigo%rtista,ataGravacao)select no1(), //, old7CodigoFilme, old7Codigo%rtista, old7ataGravacao rom Filme%rtista1hereCodigoFilme + old7Codigo*lme and Codigo%rtista + old7Codigo%rtista;
end