Banco de Dados e Planilhas

É bastante provável que você já tenha usado aplicações de planilhas, como o Calligra Sheets, o LibreOffice Calc ou o Microsoft® Excel. Se assim for, provavelmente poderá perguntar: uma vez que tanto as planilhas como os bancos de dados possuem tabelas, porque eu deveria usar os bancos de dados?

Ao realizar uma comparação entre planilhas e bancos de dados, você poderá encontrar as seguintes questões que serão abordadas mais tarde em detalhes.

Quão diferente o Banco de Dados é da Planilha?

Excedendo gradualmente a capacidade de um telefone celular, expanda a sua tabela Contatos ao adicionar uma coluna (campo) Endereço. Adicione mais números de telefone (escritório, casa) para cada pessoa e adicione sobrenomes aos nomes. Para simplificar, nós assumiremos o seguinte:

  • A tabela está limitada a duas pessoas (obviamente, poderão existir centenas e milhares delas num banco de dados real)

  • Não existem duas pessoas com o mesmo nome e sobrenome

Tabela 6.2. Tabela de contatos

Nome e sobrenomeTelEndereço

João Pires

699 23 43 12

Rua do Angustura, Nr 1, Rio de Janeiro

Pedro Morais

711 19 77 21

São Paulo, Rua 7 de Setembro, Nr 2

João Pires

110 98 98 00

Rua do Angustura, Nr 1

Pires João

312 43 42 22

Rio de Janeiro, Rua do Angustura, Nr 1

PEDRO Morais

231 83 02 04

Rua 7 de Setembro, Nr 2, São Paulo


Uma tabela como esta tanto pode ser feita numa planilha como num banco de dados. Usar uma planilha é muito simples, claro. Quais são os problemas que nós encontraremos neste estágio?

Integridade referencial dos dados

Suponha que você está usando uma planilha e necessita alterar o endereço de, pelo menos, uma pessoa. Você tem aí um pequeno problema: terá frequentemente que alterar o endereço em várias linhas. Por exemplo, o João ocupa três linhas. Um problema real ocorrerá se você se esquecer de alterar uma das linhas - o endereço atribuído a essa pessoa será ambíguo, logo os seus dados perdem integridade.

Além disso, não existe uma forma simples de remover uma pessoa escolhida da tabela, uma vez que você terá que se lembrar de apagar todas as linhas relacionadas com ela.

Redundância dos dados

Isto está ligado diretamente ao problema anterior. Nos campos Nome e sobrenome e Endereço, são indicados os mesmos dados várias vezes. Isto é típico das planilhas, uma forma ineficiente de guardar dados, uma vez que o banco de dados cresce desnecessariamente, consumindo mais recursos do computador (maior tamanho dos dados e um acesso mais lento).

Como você poderá resolver estes problemas com um banco de dados? Você poderá dividir a informação em blocos menores criando uma tabela adicional Pessoas com apenas duas colunas: Nome e sobrenome e Endereço:

Tabela 6.3. Tabela de pessoas

Nome e sobrenomeEndereço

João Pires

Rua do Angustura, Nr 1, Rio de Janeiro

Pedro Morais

Rua 7 de Setembro, Nr 2, São Paulo


Cada linha da tabela Pessoas corresponde a uma única pessoa. A tabela Contatos é, a partir de agora, uma relação com a tabela Pessoas.

Integridade e validade dos dados

Repare na forma como os dados são introduzidos nos campos Nome e sobrenome e Endereço. As pessoas que inserem os dados poderão ser falíveis ou mesmo negligentes. Nos nossos dados exemplo, existem sequências diferentes de entrada do mesmo nome e sobrenome (João Pires e Pires João; Pedro e PEDRO), entre outras formas de entrada do mesmo endereço. Obviamente, você ainda poderá pensar em outras formas mais.

O problema acima mostra que, por exemplo, ao procurar o número de telefone de uma pessoa que tenha o endereço Rua do Angustura, Nr 1, Rio de Janeiro não irá obter um resultado completo. Irá obter uma linha apenas, em vez de três. Além disso, você não irá encontrar todos os números de telefone que procurem pelo valor João Pires no campo Nome e sobrenome, uma vez que o Pires João não é igual ao João Pires.

Como você poderá resolver estes problemas com uma banco de dados? Você poderá fazer isto mudando o desenho da tabela Pessoas da seguinte forma:

  1. Dividindo os dados no campo Nome e sobrenome em dois campos separados: Nome e Sobrenome.

  2. Dividindo os dados no campo Endereço em três campos separados Rua, Número e Cidade.

  3. Garanta a correção dos dados: assegurando que os campos não estão vazios, por exemplo, você terá sempre que indicar o número da casa.

Uma tabela modificada se pareceria com algo como:

Tabela 6.4. Tabela de pessoas

NomeSobrenomeRuaNúmeroCidade

João

Pires

Rua do Angustura

1

Varsóvia

Pedro

Morais

7 de Setembro

5

São Paulo

Condições

    

campo obrigatório

campo obrigatório

campo obrigatório

campo obrigatório

campo obrigatório


Graças à introdução das condições para campo obrigatório, nós poderemos garantir que os dados inseridos estão completos. No caso das outras tabelas, você poderá obviamente permitir a omissão de certos campos ao inserir dados.

Limitar a visibilidade dos dados

Uma planilha mostra todas as linhas e colunas da tabela, o que poderá ser incômodo no caso de folhas de dados muito grandes. Você poderá, obviamente, filtrar e ordenar as linhas nas folhas de cálculo, contudo deverá ter bastante cuidado ao fazê-lo. Os usuários da planilhas correm o risco de se esquecer que os dados foram filtrados, o que poderá conduzir a erros. Por exemplo, ao calcular somas, você poderá pensar que tem 100 linhas de dados visíveis, quando de fato existem mais 20 ocultas.

Se quiser lidar com um pequeno subconjunto de dados, por exemplo, para enviá-lo para outras pessoas editarem, você poderá copiá-lo e colá-lo em outra planilha e, após a edição, colar os dados alterados novamente na planilha principal. Esta edição manual poderá provocar a perda de dados ou cálculos incorretos.

Para limitar a visualização dos dados, as aplicações de bancos de dados oferecem pesquisas, formulários e relatórios.

Uma forma muito prática de limitar é a seguinte versão estendida da tabela Pessoas, descrita anteriormente:

Tabela 6.5. Tabela de pessoas

NomeSobrenomeRuaNúmeroCidadeVencimento

João

Pires

Rua do Angustura

1

Varsóvia

2300

Pedro

Morais

7 de Setembro

5

São Paulo

1900


Vamos assumir que a coluna recém introduzida, Salário, contém dados confidenciais. Como você poderá compartilhar, por exemplo, detalhes de contato das pessoas com os seus colaboradores, mas sem revelar os seus salários? É possível se compartilhar apenas uma consulta e não a tabela inteira. A consulta poderia selecionar todas as colunas, exceto a coluna Salário. No mundo dos bancos de dados, esse tipo de consulta é normalmente chamado de visão.

Performance e capacidade

O seu computador poderá ser muito rápido, contudo você irá notar que não o ajudará com planilhas lentas e grandes. A sua eficiência baixa é, antes de tudo, devida à falta de índices que acelerem o processo de procura de dados (os bancos de dados oferecem estes índices). Além disso, se você usar coisas como a área de transferência do sistema, até a cópia de dados poderá ser problemática com o tempo.

As planilhas que contenham grandes conjuntos de dados poderão levar uma eternidade a abrir. A planilha carrega um grande quantidade de dados para a memória do computador ao abrir. A maioria dos dados carregados será provavelmente inútil/desnecessária para você, naquele momento. Os bancos de dados, ao contrário das planilhas, carregam dados do disco do computador apenas se necessário.

Na maioria dos casos, você não terá que se preocupar como o banco de dados guarda os seus dados. Isto significa que, ao contrário das folhas de cálculo, os bancos de dados não se preocupam com:

  • A sequência das linhas, uma vez que você poderá ordená-las de acordo com as suas necessidades. Além disso, você poderá ver os mesmos dados em várias visões com ordenações diferentes.

  • O mesmo acontece com as colunas (campos) da tabela.

Em conjunto com o Limitar a visibilidade dos dados, descrito no parágrafo anterior, estas qualidades constituem a vantagem dos bancos de dados.

Entrada de dados

As últimas edições dos aplicativos para criar planilhas permitem-lhe desenhar formulários de introdução de dados. Esses formulários são extremamente úteis se os seus dados não puderem ser apresentados convenientemente numa tabela, por exemplo, se o texto conter várias linhas ou se todas as colunas não couberem na tela.

Nesse caso, a forma correta como a planilha funciona é problemática. Os campos para a introdução de dados são colocados à vontade na planilha e, na maior parte dos casos, não são seguros no que diz respeito à intervenção do usuário (intencional ou acidental).

Relatórios

Os bancos de dados permitem agrupar, limitar e somar os dados numa espécie de relatório. As planilhas são normalmente impressas na forma de pequenas tabelas, sem um controle automático completo sobre as divisões das páginas e o layout dos campos.

Programação

Os aplicativos para criar bancos de dados contém normalmente linguagens de programação completas. As planilhas mais recentes também têm essa capacidade, contudo os cálculos servem para modificar os campos da planilha e para cópias simples dos dados, sem se importar com a relevância das regras de integridade mencionadas nos parágrafos anteriores.

O processamento dos dados numa planilha é normalmente feito com uma interface de usuário gráfica, que poderá atrasar a velocidade de processamento dos dados. Os bancos de dados são capazes de funcionar em segundo plano, fora das interfaces gráficas.

Multi-uso

É difícil imaginar um multi-uso de uma planilha. Mesmo que seja tecnicamente possível, no caso dos últimos aplicativos, é necessário bastante disciplina, atenção e conhecimento por parte dos usuários, o que não pode ser garantido.

Uma forma clássica de compartilhar dados gravados numa planilha com outra pessoa é enviar um arquivo como um todo (usando normalmente o e-mail) ou fornecer uma planilha pela rede. Esta forma de trabalho é pouco eficiente para os grupos maiores de pessoas - os dados que poderiam ser necessários num determinado momento em particular, poderão estar bloqueados atualmente por outra pessoa.

Por outro lado, os bancos de dados foram desenhadas principalmente com acesso multi-uso e multi-usuário em mente. Mesmo o bloqueio mais simples, ao nível de uma linha de uma tabela em particular, é possível, o que permite um compartilhamento simples dos dados da tabela.

Segurança

A segurança de uma planilha ou de seções em particular com uma senha é meramente uma atividade simbólica. Após oferecer um arquivo de planilha na rede do computador, todas as pessoas que sejam capazes de copiar o arquivo, poderão tentar descobrir a senha. Normalmente, não será muito difícil, uma vez que a senha é guardada no mesmo arquivo da planilha.

Os recursos para bloquear a edição ou a cópia de uma planilha (ou parte dela), são normalmente fáceis de quebrar.

Os bancos de dados (exceto os salvos em um arquivo em vez de um servidor) não necessitam estar disponíveis num único arquivo. Você irá acessá-los com a rede do computadores, normalmente indicando um usuário e uma senha. Irá ganhar acesso apenas àquelas áreas (tabelas, formulários ou mesmo colunas e linhas selecionadas) que lhe tenham sido atribuídas, através dos direitos de acesso apropriados.

Os direitos de acesso poderão afetar a capacidade de edição dos dados ou apenas da leitura de dados. Se não estiverem disponíveis quaisquer dados para você, eles não serão sequer enviados para o seu computador, assim não há possibilidade de fazer uma cópia dos dados de forma simples, como acontece nas planilhas.