Artigo do tipo Exemplos Práticos

Questões de banco de dados do concurso do MEC (2011)
Este artigo apresenta a correção das questões de banco de dados cobradas na prova que selecionou candidatos para o cargo de Administrador de Banco de dados com foco no SQL Server, Oracle, PostgreSQL e MySQL. O artigo contém a correção das questões orientando o candidato que está estudando para concursos públicos para vagas na área de tecnologia da informação.


Em que situação o tema é útil
A resolução das questões apresentadas neste artigo é útil para o candidato que almeja seguir a carreira de servidor público em um dos diversos cargos relacionados à área de tecnologia da informação, mais especificamente para aqueles que precisam estudar o conteúdo de banco de dados. As questões consideradas se concentram em aspectos teóricos e práticos e requerem do candidato um bom conhecimento de detalhes específicos do SQL Server, Oracle, PostgreSQL e MySQL.

Em agosto de 2011 o Ministério da Educação abriu um concurso público para preencher as vagas de diversos cargos técnicos. Dentre eles havia o cargo de Administrador de Banco de Dados, algo raro em concursos públicos.

O salário inicial para cada uma das sete vagas disponíveis para este cargo era de R$ 8.300,00 para uma jornada de 40 horas semanais. Como pré-requisitos para o cargo os candidatos deveriam ter diploma de graduação na área de informática ou graduação em qualquer área com pós-graduação em informática. Também eram necessários cinco anos como tempo mínimo na função e experiência comprovada.

De acordo com o edital, a primeira parte da prova foi dividida entre questões que cobraram conhecimentos básicos e conhecimentos específicos. O exame contou com 69 questões de conhecimento específico que deveriam ser marcadas como corretas ou erradas. O tempo total de duração da prova foi de três horas e meia, sendo aplicada apenas no campus da Universidade de Brasília. 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.

O edital diz também que o conteúdo da prova para o cargo de administrador de banco de dados envolve os principais conceitos de bancos de dados e também as características, funcionalidades e detalhes do SQL Server, PostgreSQL, Enterprise DB, MySQL e Oracle sem o detalhamento de uma versão específica destes SGBDRs.

Neste artigo será apresentada a primeira parte da correção das questões relacionadas ao conteúdo de banco de dados para o cargo de DBA (cargo número 7 do edital). As questões serão apresentadas, corrigidas e comentadas junto com o gabarito oficial.

Questões objetivas de conhecimento específico

Uma tabela em um banco de dados é formada por uma sequência de registros. Se todos os registros em arquivo possuem exatamente o mesmo tamanho, em bytes, o arquivo é formado por registros de tamanho fixo. Se registros diferentes na tabela possuem tamanhos diferentes, o arquivo é formado por registros de tamanho variável.

Tendo como referência as informações acima, a assertiva de cada item seguinte deve ser julgada certa se constituir justificativa para a ocorrência de registros de tamanhos diferentes, ou errada, em caso contrário.

61. Todos os registros da tabela são do mesmo tipo e constituídos por campos numéricos.

Gabarito: Errada.

Comentário: A afirmação desta questão não é uma justificativa válida para a ocorrência de registros de tamanhos diferentes, pois uma tabela com registros compostos por campos numéricos de tipo igual (por exemplo: todas as colunas com tipos de dados INT) não produz registros de tamanhos diferentes, uma vez que tipos numéricos ocupam a mesma quantidade de bytes independente do valor armazenado. Portanto, a questão está errada.

62. Todos os registros da tabela são do mesmo tipo, mas contêm multivalorados, ou seja, campos com valores diversos para registros individuais.

Gabarito: Certa.

Comentário: Esta afirmação é uma justificativa válida para indicar registros de tamanhos diferentes. Por exemplo, suponha que uma tabela possua duas colunas e que cada coluna possa armazenar até 10 caracteres. Se uma linha desta tabela armazena um caractere para a primeira coluna e três caracteres para a segunda coluna, temos uma tabela com registros de tamanhos diferentes, mas com o mesmo tipo de dados. Deste modo a questão deve ser marcada como correta.

63. Todos os registros da tabela são do mesmo tipo, mas um ou mais campos são de tamanho variável, a exemplo do que ocorre em campos do tipo texto de tamanho variável.

Gabarito: Certa.

Comentário: Esta questão também está correta, pois a justificativa de campos com tamanho variável, mas de tipo igual, é suficiente para afirmar que estamos trabalhando com um registro de tamanho variável. O tipo texto citado no enunciado é um exemplo clássico e bancos de dados atuais permitem colocar, por exemplo, oito gigabytes de dados texto em apenas um campo de uma linha de uma tabela, ao passo que as outras linhas da mesma tabela podem conter um kbyte. Tal variação de tamanho dentro de uma mesma tabela indica que os registros possuem tamanhos diferentes e que o candidato deve marcar esta questão como correta.

Considerando que as tabelas com registros ordenados têm vantagens sobre tabelas sequenciais (heap files), julgue os itens seguintes.

64. O uso de uma condição de pesquisa embasada no valor do campo chave de classificação resulta em um acesso mais rápido quando a técnica de pesquisa binária é utilizada.

Gabarito: Certa.

Comentário: A pesquisa binária em tabelas com registros ordenados torna o acesso mais rápido por que é possível realizar a pesquisa apenas nos campos em que a ordenação foi realizada. Se a condição de pesquisa contiver um valor do campo chave, isto é, o campo em que foi realizada a ordenação, a pesquisa possui um acesso muito mais rápido do que a procura por valores que não são o campo chave. Isso se deve ao fato que pesquisar pela chave de ordenação varre uma quantidade menor de dados do que pesquisar por um valor que não é chave. Portanto, a afirmação está correta e o candidato deve marcar a questão como certa. A pesquisa binária é utilizada em tabelas com registros ordenados e a pesquisa linear é o método de pesquisa recomendado para tabelas sequenciais que não possuam nenhuma de ordenação de dados. Em geral, do ponto de vista de algoritmos, a pesquisa binária possui um custo de execução menor do que a pesquisa linear.

65. A leitura dos registros seguindo a ordem dos valores da chave de classificação torna esse processo de leitura eficiente, porque nenhuma classificação se faz necessária.

Gabarito: Certa.

Comentário: Ler registros segundo a ordem dos valores da chave de classificação é uma técnica padrão, pois o fato de existir uma chave de classificação implica que os dados já estão ordenados e que não é necessária nenhuma classificação. De fato, a classificação no momento da leitura torna o processo menos eficiente e a leitura na ordem dos valores da chave de classificação evita o passo de ordenação. Sendo assim, esta questão está correta e o candidato deve marcá-la como certa.

Julgue os próximos itens, relacionados a SQL 99 (Structured Query Language).

66. De acordo com o conceito de catálogo, as restrições de integridade, tal como a referencial, podem ser definidas entre as relações somente se existirem em esquemas dentro do mesmo catálogo.

Gabarito: Certa.

Comentário: Esta afirmação está correta. O candidato deve se lembrar que os bancos de dados relacionais atualmente disponíveis no mercado (SQL Server, Oracle, MySQL, PostgreSQL, etc.) trabalham com o conceito de schema para agrupar objetos. Estes bancos de dados permitem a criação de vários esquemas dentro do mesmo catálogo, que pode ser enxergado como uma base de dados. Contudo, é possível definir as restrições de integridade apenas dentro do mesmo catálogo.

67. Para os atributos das tabelas, não é possível criar domínios próprios de dados, mas é necessário utilizar dados padronizados, que podem ser do tipo numérico, cadeia de caracteres, cadeia de bits, boolianos, timestamp, date e time, blog e clog.

Gabarito: Errada.

Comentário: O padrão SQL 99 diz que é possível criar tipos de dados definidos por usuários a partir dos tipos básicos como tipos numéricos e cadeia de caracteres. Estes tipos de dados, também chamados de UDDT (User-Defined Data Type) são considerados domínios próprios de dados e, portanto, a afirmação está errada quando diz que não é possível a criação de domínio de dados próprios para atributos de tabelas.

68. Uma restrição de integridade referencial pode ser violada quando as tuplas forem inseridas ou excluídas, ou quando forem modificados os valores dos atributos referentes às chaves estrangeira ou primária. Todas as restrições devem ser nomeadas e o nome de cada uma das restrições de um catálogo, em particular, deve ser único.

Gabarito: Errada.

Comentário: Tecnicamente o enunciado está correto: violações de integridade referencial podem acontecer nas situações descritas e é necessário nomear e identificar unicamente todas as restrições dentro de um catálogo de banco de dados. Em minha opinião, esta questão está correta. Contudo, o gabarito oficial indica que a questão está errada.

Uma possível explicação para o gabarito oficial identificar esta questão como errada é que, de acordo com o padrão SQL 99, nem sempre é preciso, manualmente, nomear cada uma das restrições. Contudo, mesmo se não atribuirmos manualmente um nome único a uma restrição, os SGBDR se encarregam de fazê-lo.

Outra possibilidade é dizer que modificações em chaves primárias geram violações de integridade de domínio e não de integridade referencial, e isto torna a questão errada. Entretanto, certas modificações em chaves primárias podem gerar violação de integridade referencial como, por exemplo, a exclusão de linhas de uma tabela que possui uma chave primária que se relacionam com linhas existentes de outra tabela através de uma chave estrangeira.

69. A identificação de um esquema SQL inclui o nome e a autorização do usuário ou conta a que o esquema pertence, bem como os descritores de cada elemento.

...

Quer ler esse conteúdo completo? Tenha acesso completo