Nesta aula, você entenderá a importância da informação em nossa vida moderna e como a tecnologia pode nos ajudar a organizar a informação, por meio do uso de Bancos de Dados. Ao final desta aula, você será capaz de enxergar o mundo à sua volta, por meio de dados, e compreenderá a importância de se armazenar e organizar dados, de forma correta, para a fácil obtenção de informações sempre que forem necessárias, ajudando você a tomar a decisão correta, ou com poucos riscos.
Você já observou que tudo o que fazemos em nosso dia a dia está baseado em informações? Você deve ter uma agenda diária, com horários e atividades. Ou não tem? Além dessa agenda, cada atividade que você faz, em geral, tem um local, um tempo, instruções a serem seguidas, objetivo final, pessoas envolvidas, pré-requisitos, consequência caso a atividade não seja realizada, “recompensa” a ser recebida quando concluída, entre diversas outras características.
Imagine se você acordasse pela manhã em um mundo sem informações: sem saber o horário, o dia da semana, onde você está, quem são as pessoas que estão ao seu redor, quais atividades você deve fazer na sequência etc. Nossa! Isso seria um verdadeiro caos! Por que eu estou criando este cenário? Primeiro, precisamos entender que, em nosso mundo, tudo está ligado a dados e informações, e segundo, porque precisamos desmistificar que o mundo dos Bancos de Dados é um mundo distante e que não conhecemos.
Você já buscou em seu celular o número de telefone de uma pessoa? Ou, ainda, você já viu uma agenda telefônica feita em um caderno, organizado em ordem alfabética, com o nome e número do telefone das pessoas? Então, este é um exemplo de banco de dados pessoal, que serve para organizarmos os números de telefones de conhecidos de uma forma que possamos recuperar esta informação sempre que for necessário.
Você já tentou observar o mundo por meio de dados ou informações? Falando assim, parece que é um grande desafio, digno de um troféu bem grande ao final, mas, na verdade, nós fazemos isso o tempo todo, mesmo sem perceber. Pedirei, agora, para você abstrair, ou melhor, “separar mentalmente uma parte de um todo para a considerar independente das outras partes”, conforme está definido o termo “abstrair”, no Dicionário Priberam (2021, on-line)¹. Com certeza, você já está se perguntando: Vou abstrair o quê? Calma! Já vamos chegar lá.
Primeiro, temos que entender qual é o problema a ser resolvido. Nós queremos montar um clube entre todos os alunos da sua turma. Todos os alunos devem participar. Em nosso clube, queremos ter o contato de todos os alunos, poder segui-los nas redes sociais, queremos fazer, ainda, uma agenda de aniversários para conseguir organizar uma festa mensal de aniversário para quem estiver comemorando a cada mês. E mais algumas ações, mas vamos ficar por aqui, por enquanto.
Então, hora de abstrair. Vamos ter que olhar as pessoas por meio dos seus dados: nome, data de nascimento, número do celular (ou WhatsApp), @ no Instagram e endereço. Com estes dados, nós já conseguimos iniciar a organização do nosso Clube, ou melhor, com esse pequeno Banco de Dados dos nossos colegas, já temos dados suficientes para atender às primeiras necessidades do nosso Clube.
O case te deixou curioso(a)? Assista ao vídeo a seguir para conhecer um pouco mais sobre essa história:
Nesta parte, quero convidar você a entender tudo o que falamos até aqui, mas de uma forma mais detalhada, ou seja, refletiremos sobre cada uma das partes que falamos até aqui e compreenderemos as diferenças, as classificações e a organização que já fazemos, intuitivamente, para conseguir evoluir dentro do mundo da tecnologia da informação.
Primeiro de tudo, é muito importante que você entenda a diferença entre dado e informação. Estes são conceitos básicos para quem deseja entender sobre computadores, pois o principal objetivo da computação é processar dados, gerando informações. Ficou confuso, né? Sei disso, mas vamos entender por partes. Imagine que você tem a seguinte coleção de dados:
Tabela 1
O que você entende desses dados?
Possivelmente, você deve estar tentando deduzir um significado para eles, ou seja, está tentando ligar os dados para dar um “sentido” para eles. Se você está tentando fazer isso, parabéns. Você pode dizer que já faz “processamento de dados”, naturalmente.
Falaremos, agora, de forma mais técnica. Quando nós temos um conjunto de dados, a primeira coisa que precisamos fazer é organizá-los. Dessa forma, poderíamos fazer o seguinte, então:
Tabela 2
Tenho certeza de que agora ficou mais fácil, pois com uma organização alfabética já podemos deduzir que temos nomes de pessoas, um ano e uma sigla, mas ainda assim não conseguimos tirar uma informação segura dos dados que temos. Vamos, então, ao segundo passo: precisamos de instruções. Vamos atribuir um rótulo em cada coluna, identificando qual é dado que temos em cada coluna, ou seja, vamos identificar qual seria o atributo dado a cada coluna.
Tabela 3
Tenho certeza de que agora já ficou um pouco mais clara a sua compreensão, mesmo assim não podemos dizer que temos uma informação completa e segura, pois ainda estamos fazendo algumas deduções para obter a informação. Vamos, então, dar um nome para esta coleção de dados. Chamaremos de presidentes do Brasil e ordenaremos de forma crescente pela coluna Ano da Posse.
Tabela 4
Agora sim podemos dizer que temos a informação de quais foram os sete primeiros presidentes do Brasil. Podemos dizer, então, que a informação é obtida quando temos uma ou mais instruções aplicadas aos dados, devidamente, identificados. Mas, por que isso é importante? Imagine que você tem que ir a algum lugar, mas não tem o endereço. Como você chegará lá? Bem difícil, não é mesmo?
Em nosso dia a dia, tomamos decisões o tempo todo e precisamos de informações confiáveis para que as decisões sejam corretas. Imagine, então, quando você está em uma empresa em que todos têm que tomar decisões de forma alinhada para que ela possa funcionar, perfeitamente. Como isso é possível? Este é o principal objetivo desta nossa disciplina:
Entender a importância dos dados nas organizações e como eles podem ser organizados para que as informações sejam confiáveis, de forma a possibilitar decisões seguras o tempo todo.
Antes de falarmos, tecnicamente, como fazemos isso, é muito importante saber de onde vem toda esta necessidade de organização de dados. Você sabia que os computadores não fazem nada que o ser humano não tenha planejado ou programado? Sem os programas de computadores, nós temos apenas circuitos eletrônicos que consomem eletricidade. Tudo tem que ser projetado e programado por alguém, tem que estar organizado e, só então, o computador consegue fazer a “mágica” de atender às necessidades do ser humano. Mais à frente, conheceremos quais são as profissões vinculadas a Bancos de Dados. No momento, entenderemos por que os Bancos de Dados existem e como eles nos atendem no dia a dia.
Voltaremos um pouco no tempo, no início da evolução da informática. Os primeiros computadores desenvolvidos, inicialmente, tinham como objetivo apenas resolver determinado problema, geralmente, vinculado a cálculos matemáticos. O principal objetivo do desenvolvimento dos computadores sempre foi facilitar a vida do ser humano, agilizando a resolução de atividades repetitivas. Imagine que, inicialmente, todos os dados a serem processados pelos computadores eram informados, manualmente, a cada processo, ou seja, toda vez que eles queriam que o computador fizesse algo, alguém tinha que informar todos os dados que deveriam ser processados, manualmente.
Para você ter uma base de como era, seria semelhante a você fazer uma relação manual com os nomes dos seus colegas de classe em ordem alfabética e imprimir, mas, cada vez que entrasse um(a) colega novo(a) na turma, você teria que escrever toda a relação novamente e colocar em ordem alfabética. Claro que a ordenação ficaria mais fácil, mas o trabalho manual de “entrada de dados” é irritante, pois dá a sensação de retrabalho o tempo todo.
Para evitar este problema, foram sendo desenvolvidas formas de armazenamento de dados, iniciando com cartões perfurados – cartões de papel grosso com furos que indicavam ao computador quais eram os dados que deveriam ser processados. O maior problema que apareceu, inicialmente, foi que esses cartões eram perfurados, manualmente (programados), e colocados em pilhas para serem inseridos nas leitoras do computador de forma ordenada. Um cartão fora de ordem ou um furo errado impedia todo o processamento.
Com o passar do tempo, cientistas e engenheiros desenvolveram novas formas de armazenar os dados que deveriam ser processados. Primeiramente, em fitas magnéticas e, posteriormente, em discos magnéticos, que facilitavam e agilizavam o processo de armazenamento e recuperação dos dados e das informações.
Agora que você conheceu como apareceu o problema com os dados, vamos pensar que, cada vez que alguém precisava processar alguns dados para obter uma informação, deveria solicitar a um técnico que fizesse a carga dos dados no computador e, em seguida, por meio das linguagens de computador (linguagens de programação), conseguiria a informação necessária. Com certeza, isso já era bem mais rápido que os antigos cartões, mas ainda era bem demorado, pois o trabalho de fazer a recuperação dos dados era muito manual.
Já na década de 60, com base na forma como os bibliotecários organizavam seus acervos, Charles Bachman publicou um dos primeiros trabalhos na área de Banco de Dados, onde definia um modelo de dados em rede, ou seja, de forma bem simples, ele definiu que os dados seriam agrupados em um registro de um tipo de dados (chamado de coleção – coleção de Clientes, coleção de Conta Corrente etc.). Cada coleção tinha os seus dados e seria vinculada a outra coleção por um endereçamento. No desenho a seguir, podemos ver a representação de como seriam armazenados os dados de um Cliente e da sua Conta Corrente.
Este modelo em rede tinha diversas limitações de volume de dados e, então, ele evoluiu para um modelo de dados hierárquico, onde os dados de uma coleção “pai” poderiam ter um ou mais dados vinculados em uma coleção “filho”. A maior referência desse modelo foi um sistema chamado SABRE, desenvolvido pela IBM (International Business Machines), em parceria com a empresa aérea American Airlines, que tinha como principal objetivo gerenciar a emissão de passagens aéreas e o controle de passageiros. Veja, no exemplo a seguir, como ficaria a representação dos dados dos clientes e suas contas bancárias.
Conforme a possibilidade de armazenamento de dados foi aumentando em virtude do desenvolvimento de novas tecnologias, as necessidades de organização dos dados também foi evoluindo até que, em junho de 1970, o Dr. Edgar Frank “Ted” Codd, da IBM, propôs um modelo de dados relacional, por meio do artigo intitulado “A Relational Model of Data for Large Shared Data Banks”, em português “Um modelo relacional de dados para grandes bancos de dados compartilhados”, ou seja, ele propôs o desenvolvimento de uma estrutura lógica para gestão dos dados independentemente do método de armazenamento físico.
Para você entender melhor, até então, os dados eram armazenados em grupos e endereçados de acordo com a estrutura física onde eles estavam armazenados. Seria como se você tivesse uma coleção de vários sapatos em caixas e, cada vez que você precisasse do sapato, teria que saber em qual pilha de caixas estava o sapato e em qual armário. Com a proposta do modelo relacional, haveria um sistema que faria esta gestão física e que possibilitaria a ligação de todas as coleções de dados que estariam armazenadas para o sistema, ou melhor, além de você identificar o sapato, poderia já trazer a roupa e a bolsa que combina com o sapato escolhido, pois eles estariam relacionados.
Nessa época, a estrutura de armazenamento de dados já recebia o nome de Database (Base da Dados, ou Banco de Dados, em português). Então, o sistema proposto pelo Dr. Codd passou a ser conhecido como Sistema de Gerenciamento de Banco de Dados - SGBD (ou Database Management System - DBMS).
Com toda esta mudança, a área de armazenamento de dados passou a ser uma área de grande destaque na computação, e várias universidades e empresas pelo mundo se dedicaram a estudar formas de organizar e agilizar a recuperação de dados, transformando-os em informações. Um dos pesquisadores mais famosos nessa evolução é o Dr. Peter Chen, que, em 1976, propôs um modelo revolucionário, baseado no modelo relacional, foi proposto um modelo denominado Modelo Entidade Relacionamento, em que as coleções passaram a ser denominadas Entidades, e o vínculo entre as coleções passou a ser denominado Relacionamento.
Você estudará mais a fundo esta teoria em lições futuras, mas, apenas para você entender, de forma simples, esta revolução, ficou definido que todas as Entidades representam uma estrutura de dados comum com identidade única e, por meio dessa identidade, cada uma pode ser ligada (ou relacionada) a outras entidades, criando uma grande rede que possibilitaria a recuperação de dados vinculados de diversas maneiras por meio de um dado denominado “chave” de acesso, ou seja, cada vez que o usuário registrasse um conjunto de dados (conhecido como registro), seria indicada ou criada uma chave única que permitiria o acesso a ela. No exemplo dos sapatos, podemos entender que sapatos seria uma entidade, roupa seria outra entidade e bolsa seria uma terceira entidade, sendo que o vínculo entre essas entidades seriam os relacionamentos.
Acho que já temos bastante informação nesta lição, não é mesmo? Mas não se preocupe se algo ainda não está muito claro para você, pois retomaremos este assunto e detalharemos nas próximas lições.
Ficou interessado(a) sobre esse tema? Clique no play a seguir e assista ao vídeo:
Nesta lição, você aprendeu que usamos informações o tempo todo, e que as informações têm que ser confiáveis e seguras, caso contrário, tomaremos decisões erradas e, com certeza, teremos problemas. Para exercitar um pouco toda esta teoria que vimos até aqui, tente identificar quais são os dados que temos relacionados com a sua turma na escola, temos: alunos, professores, disciplinas, provas etc.
Se você conseguiu observar bem, cada uma das “entidades” citadas tem atributos específicos, ou seja, podemos dizer que cada tipo de dado é um atributo da entidade, por exemplo, a entidade Alunos tem os atributos nome, data de nascimento, data de matrícula na escola, entre outros.
Vamos, então, agora, montar tabelas com cada uma das nossas entidades, colocando os atributos de cada uma, ou seja, quais são os dados que cada uma delas armazenará.
Este é apenas um exemplo simples de como podemos organizar os dados em nossas atividades ou em nosso ambiente, e é dessa forma que o projetista de Banco de Dados enxerga o mundo das informações que temos que gerenciar. Falando nisso, espero você em nossa próxima aula para conhecermos quais são as funções e as profissões ligadas ao mundo dos Bancos de Dados, até lá.
ALVES, G. F. O. A história dos bancos de dados. Dicas de Programação, 2018. Disponível em: https://dicasdeprogramacao.com.br/a-historia-dos-bancos-de-dados/. Acesso em: 24 jan. 2022.
REFERÊNCIAS ON-LINE
¹Em: https://dicionario.priberam.org/abstrair. Acesso em: 24 jan. 2022.
²Em: https://www.devmedia.com.br/a-historia-dos-banco-de-dados/1678. Acesso em: 24 jan.