Ao se criar uma estrutura de banco de dados complexa, envolv...
Próximas questões
Com base no mesmo assunto
Q370975
Banco de Dados
Texto associado
Em um banco de dados há duas tabelas, departamento e funcionario, cujos campos são:
Departamento:
DepNo - int - primary key - not null
DNome - varchar(50) - not null
DLocal - varchar(40)
Funcionario:
FunNo - int - primary key - not null
DepNo - int - foreign key - not null
FNome - varchar(50) - not null
FCargo - varchar(40)
FSal - double
Ambas as tabelas possuem muitos registros cadastrados, que não incluem valores nulos. Considere as instruções SQL a seguir:
I. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario INNER JOIN departamento ON funcionario.DepNo = departamento.DepNo;
II. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario, departamento where funcionario.DepNo = departamento.DepNo;
III. select f.FunNo, f.FNome, d.DNome from (select departamento.DepNo, departamento.DNome from departamento) as d, funcionario as f where d.DepNo = f.DepNo;
IV. select DISTINCT f.FunNo, f.FNome, d.DNome from funcionario f, departamento d;
Departamento:
DepNo - int - primary key - not null
DNome - varchar(50) - not null
DLocal - varchar(40)
Funcionario:
FunNo - int - primary key - not null
DepNo - int - foreign key - not null
FNome - varchar(50) - not null
FCargo - varchar(40)
FSal - double
Ambas as tabelas possuem muitos registros cadastrados, que não incluem valores nulos. Considere as instruções SQL a seguir:
I. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario INNER JOIN departamento ON funcionario.DepNo = departamento.DepNo;
II. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario, departamento where funcionario.DepNo = departamento.DepNo;
III. select f.FunNo, f.FNome, d.DNome from (select departamento.DepNo, departamento.DNome from departamento) as d, funcionario as f where d.DepNo = f.DepNo;
IV. select DISTINCT f.FunNo, f.FNome, d.DNome from funcionario f, departamento d;
Ao se criar uma estrutura de banco de dados complexa, envolvendo muitas tabelas com restrições de chave estrangeira, visões, gatilhos, funções, etc., cria-se, implicitamente, uma rede de dependências entre os objetos. Para garantir a integridade de toda a estrutura do banco de dados, muitos SGBDs não permitem remover um objeto quando há objetos que dependem do mesmo. Por exemplo, tentar remover a tabela departamento, onde a tabela funcionario depende dela, produz uma mensagem de erro semelhante a esta:
DROP TABLE departamento;
ERRO: não foi possível remover a tabela departamento porque outros objetos dependem dela.
Se não tiver importância remover todos os objetos dependentes, então poderá ser executado o comando DROP TABLE com uma cláusula que faz com que todos os objetos dependentes sejam removidos. A cláusula citada é a
DROP TABLE departamento;
ERRO: não foi possível remover a tabela departamento porque outros objetos dependem dela.
Se não tiver importância remover todos os objetos dependentes, então poderá ser executado o comando DROP TABLE com uma cláusula que faz com que todos os objetos dependentes sejam removidos. A cláusula citada é a