Base de Dados e Folha de Cálculo

É bastante provável que já tenha usado aplicações de folhas de cálculo, como o Calligra Sheets, o LibreOffice Calc ou o Microsoft® Excel. Se assim for, provavelmente poderá perguntar: dado que tanto as folhas de cálculo como as bases de dados têm tabelas, porque é que deverei usar as últimas?

Ao comparar folhas de cálculo e bases de dados, poderá encontrar as seguintes questões que irá ver mais tarde com maior detalhe.

No que Difere uma Base de Dados de uma Folha de Cálculo?

Excedendo gradualmente a capacidade de um telemóvel, expanda a sua tabela Contactos, adicionando um campo Endereço. Adicione mais números de telefone (emprego, casa) para cada pessoa e adicione os apelidos aos nomes. Para simplificar, assumimos o seguinte:

  • A tabela estará limitada a duas pessoas (obviamente, poderão existir centenas e milhares numa base de dados real)

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

Tabela 6.2. Tabela de contactos

Nome e apelidoTelEndereço

José Pires

699 23 43 12

Rua do Zé 1, Lisboa

Pedro Morais

711 19 77 21

Rua do Pedro 2, Porto

José Pires

110 98 98 00

Rua do Zé 1

Pires José

312 43 42 22

Lisboa, Rua do Zé 1

PEDRO Morais

231 83 02 04

Rua do Pedro 2, Porto


Uma tabela como esta tanto pode ser feita numa folha de cálculo como numa base de dados. Usar uma folha de cálculo é muito simples, claro. Quais são os problemas que encontra nesta altura?

Integridade referencial dos dados

Suponha que está a usar uma folha de cálculo e que precisa de alterar o endereço de pelo menos uma pessoa. Terá um pequeno problema: terá de alterar frequentemente o endereço em várias linhas. Por exemplo, a Joana ocupa três linhas. Será um problema real se se esquecer de alterar uma das linhas - o endereço atribuído a essa pessoa será ambíguo, pelo que os seus dados irão perder integridade.

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

Redundância dos dados

Isto estará ligado directamente ao problema anterior. Nos campos Nome, Apelido e Endereço, são gravados muitas vezes os mesmos dados. Isto é típico da forma ineficiente como uma folha de cálculo guarda os dados, porque a base de dados cresce desnecessariamente, necessitando cada vez mais de recursos do computador (maior quantidade de dados e acesso mais lento).

Como poderá resolver estes problemas com uma base de dados? Poderá dividir a informação em blocos menores, criando uma tabela adicional Pessoas apenas com duas colunas: Nome e apelido e Endereço:

Tabela 6.3. Tabela de pessoas

Nome e apelidoEndereço

José Pires

Rua do Zé 1, Lisboa

Pedro Morais

Rua do Pedro 2, Porto


Cada linha da tabela Pessoas corresponde a uma única pessoa. A tabela Contactos tem 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 apelido e Endereço. As pessoas que introduzem os dados poderão ser falíveis ou mesmo negligentes. Nos nossos dados de exemplo, existem sequências diferentes de introdução do mesmo nome e apelido (José Pires e Pires José; Pedro e PEDRO), entre outras formas de introdução do mesmo endereço. Obviamente, poderá pensar ainda mais outras formas.

O problema acima mostra que isto é ao procurar pelo número de telefone de uma pessoa cujo endereço é Avenida da República 1, Lisboa, não irá obter um resultado completo. Irá obter apenas uma linha em vez de três. Para além disso, não irá encontrar todos os números de telefone se procurar pelo valor Joana Santos no campo Nome e sobrenome, porque Santos Joana não irá corresponder a Joana Santos.

Como é que pode resolver estes problemas com uma base de dados? Poderá fazê-lo se alterar o desenho da tabela Pessoas, para tal fazendo o seguinte:

  1. Dividir os dados no campo Nome e apelido em dois campos separados: Nome e Apelido.

  2. Dividir os dados no campo Endereço em três campos separado: Rua, Número porta e Cidade.

  3. Garantir a correcção dos dados: garantindo que não existem dados em branco, isto é deverá introduzir sempre o número da porta.

Uma tabela modificada fica parecida com algo do género:

Tabela 6.4. Tabela de pessoas

NomeApelidoRuaNúmero da portaCidade

Pires

Rua do Zé

1

Varsóvia

Pedro

Morais

Rua do Pedro

5

Londres

Condições

    

campo obrigatório

campo obrigatório

campo obrigatório

campo obrigatório

campo obrigatório


Graças à introdução da condição de campo obrigatório, podemos garantir que os dados introduzidos estão completos. No caso das outras tabelas, poderá obviamente omitir certos campos ao introduzir os dados.

Limitir a visibilidade dos dados

Uma folha de cálculo mostra todas as linhas e colunas da tabela, o que poderá ser incómodo no caso de folhas de dados muito grandes. Poderá, obviamente, filtrar e ordenar as linhas nas folhas de cálculo, contudo deverá ter bastante cuidado ao fazê-lo. Os utilizadores da folha de cálculo estão em risco de se esquecer que os dados foram filtrados, o que poderá conduzir a erros. Por exemplo, ao calcular somas, poderá pensar que tem 100 linhas de dados visíveis, quando de facto estão mais 20 escondidas.

Se quiser trabalhar sobre um pequeno sub-conjunto de dados, isto é para o enviar para outros editarem, poderá copiá-lo e colá-lo noutra folha de cálculo e, depois de o editar, colar os dados alterados de novo na folha de cálculo principal. Esta edição manual pode provocar a perda de dados ou alguns cálculos incorrectos.

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

Uma forma bastante prática de limitar é a seguinte versão extendida da tabela de Pessoas, previamente descrita:

Tabela 6.5. Tabela de pessoas

NomeApelidoRuaNúmero da portaCidadeReceita

Pires

Rua do Zé

1

Varsóvia

2300

Pedro

Morais

Rua do Pedro

5

Londres

1900


Assumamos que a nova coluna Receitas contém dados confidenciais. Como é que poderá partilhar isto é detalhes dos contactos das pessoas com os seus colegas, mas sem revelar as suas receitas? É possível se partilhar apenas uma pesquisa e não a tabela completa. A pesquisa poderá seleccionar todas as colunas excepto a coluna Receita. No mundo das bases de dados, uma consulta é normalmente denominada de vista.

Performance e capacidade

O seu computador poderá ser muito rápido, contudo irá ver que não o ajudará com folhas de cálculo lentas e grandes. A sua eficiência baixa é, primeiro que tudo, devida à falta de índices que acelerem o processo de procura de dados (as bases de dados oferecem-nas). Para além disso, se usar coisas como a área de transferência do sistema, até a cópia de dados poderá ser problemática com o tempo.

As folhas de cálculo que contenham grandes conjuntos de dados poderá levar uma eternidade a abrir. A folha de cálculo carrega um monte de dados para a memória do computador ao abrir. A maioria dos dados carregados será provavelmente inútil/desnecessária para si, de momento. As bases de dados, ao contrário das folhas de cálculo, carregam dados do disco do computador apenas se necessário.

Na maioria dos casos, não terá de se preocupar como é que a base de dados guarda os seus dados. Isto significa que, ao contrário das folhas de cálculo, as bases de dados não se preocupam com:

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

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

Em conjunto com a secção Limitar a visibilidade dos dados, descrita no parágrafo anterior, estas qualidades constituem a vantagem das bases de dados.

Introdução de dados

As últimas edições das aplicações para criar folhas de cálculo 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, isto é, se o texto conter várias linhas ou se todas as colunas não couberem no ecrã.

Nesse caso, a forma correcta como a folha de cálculo funciona é problemática. Os campos para a introdução de dados são colocados à vontade na folha de cálculo e, na maior parte dos casos, não são seguros no que respeita à intervenção do utilizador (intencional ou acidental).

Relatórios

As bases de dados permitem agrupar, limitar e agregar os dados sob a forma de um relatório. As folhas de cálculo são normalmente impressas num formulário de pequenas tabelas sem um controlo completamente automático sobre as divisões das páginas e a disposição dos campos.

Programação

As aplicações para criar bases de dados contêm normalmente linguagens de programação completas. As bases de dados mas recentes também têm essa capacidade, contudo os cálculos servem para modificar os campos da folha de cálculo e para cópias simples dos dados, independentemente da relevância das regras de integridade mencionadas nos parágrafos anteriores.

O processamento dos dados numa folha de cálculo é normalmente feito com uma interface do utilizador gráfica, que poderá atrasar a velocidade de processamento dos dados. As bases de dados são capazes de funcionar em segundo plano, fora das interfaces gráficas.

Multi-usos

É difícil imaginar um multi-usos de uma folha de cálculo. Mesmo que seja tecnicamente possível, no caso das últimas aplicações, necessita de bastante disciplina, atenção e conhecimento por parte dos utilizadores, o que não pode ser garantido.

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

Por outro lado, as bases de dados foram desenhadas principalmente com acesso multi-usos e multi-utilizadores em mente. Mesmo o bloqueio mais simples, ao nível de uma linha de uma tabela em particular, é possível, o que permite uma partilha simples dos dados da tabela.

Segurança

A segurança de uma folha de cálculo ou de secções em particular com uma senha é meramente uma actividade simbólica. Após oferecer um ficheiro de folha de cálculo na rede do computador, todas as pessoas que sejam capazes de copiar o ficheiro, poderão tentar descobrir a senha. Normalmente, não será muito difícil, dado que a senha é guardada no mesmo ficheiro que a folha de cálculo.

As funcionalidades para bloquear a edição ou a cópia de uma folha de cálculo (ou parte dela), são normalmente fáceis de quebrar.

As bases de dados (excepto as gravadas num ficheiro em vez de um servidor) não necessitam de estar disponíveis num único ficheiro. Irá aceder a estas com a rede do computador, normalmente indicando um utilizador e uma senha. Irá ganhar acesso apenas àquelas áreas (tabelas, formulários ou mesmo colunas e linhas seleccionadas) que lhe tenham sido atribuídas, através dos direitos de acesso apropriados.

Os direitos de acesso poderão afectar a capacidade de edição dos dados ou apenas da leitura de dados. Se não estiverem quaisquer dados disponíveis para si, poderá até nem ser enviado para o seu computador, como tal não há possibilidade de fazer uma cópia dos dados de forma simples, como acontece nas folhas de cálculo.