SóProvas


ID
2752114
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Uma produtora de filmes deseja controlar todos os filmes que produz, incluindo a participação de atores e a direção. Cada filme está associado a um único diretor e a vários atores que participam de filme (diretor/ator são pessoas). As informações relevantes para as necessidades desta produtora estão nas tabelas PESSOAS, FILMES e PARTICIPACOES, para as quais todos atributos e chaves primárias foram definidos por meio de SQL.

Considere as tabelas abaixo.

CREATE TABLE PESSOAS
(ssn char(4) NOT NULL,
nomep varchar(20),
primary key(ssn));

CREATE TABLE FILMES
(codf char(5) NOT NULL,
titulo char(3) NOT NULL,
orcamento numeric(10,2) not null,
diretor char(4),
primary key(codf),
foreign key (diretor) REFERENCES ___________
);

CREATE TABLE PARTICIPACOES
(ssn char(4) NOT NULL,
codf char(5) NOT NULL,
papel varchar(25) NOT NULL,
primary key(ssn,codf),
foreign key (ssn) REFERENCES ____________,
foreign key(codf) REFERENCES ____________
);

Para a definição das chaves estrangeiras, devem ser consideradas as seguintes regras de negócio: nenhuma pessoa que atue como ator e/ou diretor de um filme pode ter seu SSN alterado; se o código de um filme mudar, todos os atores continuam associados ao mesmo filme; caso um filme seja removido, as respectivas participações de atores também são removidas; se um ator for removido, todos os registros de sua participação em filmes são eliminados; se um diretor for removido, os filmes por ele dirigido não são excluídos: eles permanecem sem diretor.

Com base nessas definições, assinale a alternativa que preenche, correta e respectivamente, as lacunas das definições de chave estrangeira das tabelas FILMES e PARTICIPACOES.

Alternativas
Comentários
  • "nenhuma pessoa que atue como ator e/ou diretor de um filme pode ter seu SSN alterado"

    Não posso ter "on update cascade/set null" em FILMES(diretor) e PARTICIPACOES(ssn). Elimina A

    "se o código de um filme mudar, todos os atores continuam associados ao mesmo filme"

    Preciso de um "on update cascade" em PARTICIPACOES(codf). Elimino B.

    "caso um filme seja removido, as respectivas participações de atores também são removidas"

    Preciso de um "on delete cascade" em PARTICIPACOES(codf). Elimino E. 

    "se um ator for removido, todos os registros de sua participação em filmes são eliminados"

    Preciso de um "on delete cascade" em PARTICIPACOES(ssn). Elimino C.

    "se um diretor for removido, os filmes por ele dirigido não são excluídos: eles permanecem sem diretor"

    Preciso de um "on delete set null" em FILMES(diretor). Confirmo gabarito D.