Banco de Dados
Questões de banco de dados do concurso da PETROBRAS
A Petrobras, uma das maiores empresas do Brasil, abriu um concurso público em 27 de maio de 2007 para preencher diversos postos de trabalho. Dentre os principais cargos apresentados no edital, destaca-se o cargo de Analista de Sistemas Júnior, com especialidade em infra-estrutura. Diversos postos de trabalho estavam disponíveis para este cargo, que contou com vagas para as cidades de Manaus, Vitória, Santos e Aracajú. Como requisito, os candidatos devem ter diploma de ensino superior completo fornecido por um curso de graduação na área de exatas. O salário inicial para este cargo foi de R$ 3.426,47.
De acordo com o edital, a prova foi dividida entre questões de conhecimentos básicos, que compreendiam 50 questões objetivas com caráter eliminatório, e questões com conhecimentos específicos, que compreendiam 100 questões com caráter eliminatório e classificatório. As questões deveriam ser respondidas da seguinte forma: utilizar a letra C para indicar que a afirmação apresentada pela questão estava correta ou utilizar a letra E para indicar que a afirmação apresentada na questão estava errada.
O tempo total para a realização da prova foi de quatro horas. O edital indicou que os candidatos ao cargo de Analista de Sistema Júnior devem possuir conhecimentos de redes, infra-estrutura e bancos de dados. No que diz respeito a banco de dados, os candidatos devem saber os principais conceitos da teoria relacional e também aspectos práticos, como a instalação, configuração e administração. Na bibliografia não há referência a nenhum banco de dados específico, como o Microsoft SQL Server ou o Oracle.
Além do conhecimento em banco de dados, a prova também apresentou questões de lógica, rede, infra-estrutura, programação e gerenciamento de projetos. A elaboração da prova ficou a cargo do CESPE/UnB, o Centro de Seleção e de Promoção de Eventos da Universidade de Brasília.
Neste artigo será apresentada a correção das questões com conteúdo de banco de dados da prova para a carreira de Analista de Sistemas Júnior, com especialidade em infra-estrutura. As questões são apresentadas, corrigidas e comentadas junto com o gabarito oficial.
Questões da prova
No que se refere a bancos de dados, julgue os próximos itens.
74) No comando create table do SQL, a cláusula primary key inclui a lista dos atributos que constituem a chave primária; a cláusula unique, a lista dos atributos que constituem uma chave candidata; e uma cláusula foreign key, tanto a relação dos atributos que constituem a chave estrangeira quanto o nome da relação à qual a chave estrangeira faz referência.
Gabarito: CERTO
Comentário: Esta questão cobra do candidato os conhecimentos básicos de bancos de dados utilizados durante a escrita do comando create table do SQL. A questão afirma corretamente que a cláusula primary key é a chave primária de uma tabela, pois a definição desta cláusula diz que todos os atributos que identificam unicamente uma linha de uma tabela compõem a chave primária.
Em seguida, a questão define a cláusula unique, que faz com que todos os valores de um determinado atributo da tabela sejam únicos. Devido a esta característica, todos os atributos que possuírem a cláusula unique também podem ser chamados de chaves candidatas.
Por fim, a questão descreve corretamente a cláusula foreign key, descrevendo-a como a cláusula que apresenta a relação de atributos que compõem a chave estrangeira da tabela e também à relação na qual a chave estrangeira se refere, indicando quais atributos da tabela relacionada devem ser utilizados.
Esta questão não apresenta muita dificuldade para o candidato que possui sólidos conhecimentos dos fundamentos de bancos de dados. Apesar de conter apenas afirmações corretas, a definição de chave estrangeira deveria incluir a indicação do nome dos atributos de ambas as tabelas que fazem parte do relacionamento, ao invés de apenas o nome da relação à qual a chave estrangeira faz referência.
75) Uma tabela R está na forma normal boyce-codd (BCNF) se, para toda a dependência funcional
X ? A, X é uma chave primária. Se uma tabela está na forma normal BCNF, está também na segunda forma normal, mas não na terceira forma normal (3NF).
Gabarito: ERRADO
Comentário: Esta questão cobra do candidato os conhecimentos sobre dependência funcional e sobre as formas normais utilizadas na normalização de um modelo de dados. Recapitulando os principais conceitos:
Uma estrutura de dados encontra-se na segunda forma normal (2FN) se já estiver na primeira forma normal (1FN) e se todas as suas colunas que não são chave primária não apresentarem a anomalia da dependência funcional parcial em relação à chave primária. A anomalia da dependência funcional parcial ocorre quando a chave primária é composta por dois ou mais atributos (colunas), e outros atributos não chave dependem apenas de parte dessa chave primária. Na questão, existe uma dependência funcional de A para X, porém esta dependência não é parcial, pois a forma normal BCNF garante que X é uma chave primária. Conseqüentemente a afirmação de que se uma tabela está na forma normal BCNF está também na segunda forma normal está correta" [...] continue lendo...