Questão
ID 1986845Disciplina: Tecnologia da Informação
Assunto: Trabalhando com Tabelas
Ano: 2014 Banca: CEFET MG Órgão: Centro Federal de Educação Tecnológica de Minas Gerais
Considere que as tabelas de um banco de dados foram criadas com os seguintes comandos SQL:
create table empregado
(id_empregado int not null,
e_nome varchar(30) not null,
superior int,
salario int,
primary key (id_empregado),
constraint empsuperfk foreign key (superior) references
empregado(id_empregado)on delete set null on update cascade);
create table departamento
(id_departamento int not null,
d_nome varchar(30) not null,
primary key (id_departamento));
create table projeto
(id_projeto int not null,
p_nome varchar(30) not null,
d_id int,
primary key (id_projeto),
foreign key (d_id)
references departamento(id_departamento));
create table trabalha_em
(emp_id int not null,
proj_id int not null,
numero_horas int,
primary key(emp_id, proj_id),
foreign key emp_id references empregado(id_empregado),
foreign key proj_id references projeto(id_projeto));
Em relação aos dados apresentados, assinale (V) para as afirmativas verdadeiras ou (F) para as falsas.
( ) Ao realizar um update na foreign key “superior” de um registro da tabela “empregado”, o valor atualizado propaga-se para os registros da mesma tabela que possuem o mesmo valor na sua primary key (id_empregado).
( ) Para listar em qual(is) departamento(s) um empregado trabalha, deve-se, obrigatoriamente, utilizar, na consulta SQL, as tabelas “trabalha_em” e “projeto”.
( ) O comando SQL “select proj_id, count(*) as Quantidade from trabalha_em group by dep_id having numero_horas>10” retorna o identificador do projeto (“proj_id”) e a quantidade de empregados que trabalham nesse projeto, considerando apenas os registros cujo campo “numero_horas” seja maior do que 10.
A sequência correta encontrada é