Atividade Extra B2 - Mário

download Atividade Extra B2 - Mário

of 6

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