Uma base de dados é um conjunto organizado de dados (segundo um modelo de dados) existentes num sistema informático, disponíveis a todos os utilizadores ou processamentos da organização em que o acesso e atualização são realizados através de software específico.
Partindo deste contexto, analise as afirmações abaixo que contemplem os processos em que o SGBD visa facilitar:
I - A construção do banco de dados.
II - A manipulação dos dados inseridos no banco de dados.
III - A escolha de qual é o melhor banco de dados no projeto.
IV - O compartilhamento de bancos de dados entre vários usuários e aplicações.
É correto o que se afirma em:
Alternativa 1:
I, apenas.
Alternativa 2:
II, apenas.
Alternativa 3:
II e III, apenas.
Alternativa 4:
I, II e IV, apenas.
Alternativa 5:
I, II, III e IV.
Soluções para a tarefa
Resposta:
Alternativa 4, "I, II, IV apenas."
Explicação:
A primeira ideia que vem à cabeça de um desenvolvedor experiente, quando se fala de banco de dados relacionais, é SQL. Talvez uma das boas razões pelas quais os SGBDs relacionais são tão difundidos deva-se ao fato de que a SQL é uma ferramenta bastante madura, elaborada e bem projetada.
SQL é uma linguagem diferente das linguagens de programação que você provavelmente aprendeu até agora. Em qualquer curso de programação, costuma-se ensinar inicialmente linguagens de programação imperativas (como C, Pascal, Java ou Python), em que você é responsável por escrever os comandos na ordem de execução esperada. Nesse tipo de linguagem, preocupamo-nos em instruir o computador no modo como ele deve executar as tarefas. O resultado de seu processamento é uma consequência daquilo que comandamos. Já a SQL é uma linguagem declarativa, pois nela define-se o que deve ser retornado como resultado do processamento, sem especificar o como isso será feito.
Permita uma reflexão sobre a natureza declarativa da SQL. Na SQL, ao definimos somente o que esperamos de resultado ao invés do como, permitimos que o SGBD decida como é que ele deve executar as instruções. Há 10 anos, esse seria um fator determinante para decidir entre um produto e outro. A evolução dos produtos comerciais e livres fez com que essa diferença diminuísse de modo significativo – embora, dependendo dos casos de uso de sua aplicação, a diferença ainda possa ser relevante. Em alguns casos, centenas de parâmetros de configuração do produto permitem alterar a forma com que o SGBD executa o “como”: uma tarefa que, muitas vezes, chega a ser minuciosa – tudo isso para conseguir aumentar o desempenho do seu SGBD.
Para tentar diminuir as diferenças entre as diversas implementações e variantes da SQL utilizadas em produtos distintos, a ANSI (American National Standards Institute) e a ISO (International Standards Organization) uniram-se para criar um padrão para a SQL. A versão mais popular desse padrão é a SQL-92, embora haja uma versão mais recente: a SQL:1999. Infelizmente, os fabricantes de SGBDs não seguem 100% o padrão, o que torna a tarefa de migração de um produto para outro um pouco mais difícil. Comercialmente, é uma estratégia interessante para os fabricantes, pois se baseia no aprisionamento do cliente: uma vez comprometido com um produto, o custo para migração (em tempo e esforço) torna-se elevado o suficiente para que o cliente desista da ideia. Já para os usuários, esse é um fato infeliz. De positivo do padrão SQL-92 temos que, mesmo com as sutis diferenças entre as implementações da SQL em diferentes produtos, as semelhanças se sobressaem e permitem que os desenvolvedores de software possam aprender facilmente a lidar com produtos concorrentes.