You are currently viewing Artigo | Relação Temporal e de Arquitetura dos Bancos de Dados

Artigo | Relação Temporal e de Arquitetura dos Bancos de Dados

Nathan Ataide Bomfim
Analista de Suporte Técnico

1. Introdução

Desde os primórdios, nos princípios da contagem, sempre tivemos a necessidade e fomos obrigados a desenvolver métodos para quantificar as coisas, seja cabeças de gado, distâncias, quantidade de massa ou energia. Com as expansões da tecnologia e consequentemente da capacidade computacional, uma nova unidade de engenharia foi criada, dessa vez, para a contagem de dados. Num mundo onde o fluxo de dados cresce ano a ano, o método de armazenagem desses dados se torna intrinsicamente essencial.

E um banco de dados, nada mais é, do que uma coleção organizada de informações, ou dados, estruturados e armazenados em um computador. Usualmente, é acompanhado por um controlador, ou melhor dizendo, um sistema de gerenciamento de banco de dados (SGBD ou DBMS).

2. Banco de dados Convencional e Banco de dados Temporal

Ademais, dentro do conceito de banco de dados existem tipos. Os bancos de dados convencionais, são os bancos que possibilitam o armazenamento do estado presente de um dado, ou seja, você tem acesso ao valor vigente, não é possível consultar informações de histórico de registros desse mesmo dado. Entretanto, com o passar do tempo, a necessidade de se saber, não somente o estado atual desse dado, mas também o passado e o futuro, é necessário criar um modelo de gerenciamento temporal desses dados.

Um banco de dados é dito temporal, de forma simples, quando possui na organização de suas informações alguma correlação de tempo e principalmente, ordenando os eventos cronologicamente. Uma forma de se ver dados de série temporal é num gráfico de linhas ou dispersão, onde são plotados diante da sua data/hora que está compondo o eixo da abcissa.

Os bancos de dados também podem ser classificados de acordo com o método de tempo que está utilizando:

 

grafico_banco_de_dados

2.1. Classificação de Tempo

2.1.1. Bancos de Dados Instantâneos

São os bancos que disponibilizam um único valor para um determinado dado, o atual, quaisquer alterações serão sobrescrevidas e o histórico de registro é perdido. Para utilizar controle temporal nesse banco, se faz necessário a criação de atributos para definição de datas associadas aos registros.

2.1.2. Bancos de Dados de tempo de transação

Nesse caso, para cada transação efetuada em um registro, um rótulo de data do evento é gravado. Desse modo, o histórico de alterações é mantido, a data da atualização pode ser exibida e o dado mais recente permanece como vigente.

2.1.3. Bancos de Dados de tempo de validade

Similarmente ao BD de transação, no qual o histórico de alterações é guardado, trazem consigo, informações de validade que é definida pelo usuário. A informação de validade, define o tempo em que os dados começarão a ter validade e não correspondem necessariamente a data/hora em que a atualização foi inserida ou o dado alterado na tabela

2.1.4. Bancos de Dados bitemporais

São os bancos que combinam características do BD de transação e o BD de validade, pois armazenam tanto as informações de validade dos dados quanto a data em que essa atualização foi efetuada

3. Banco de Dados Relacional e Banco de Dados Orientado a Objeto

Podemos classificar um banco, não somente pela sua classificação temporal, mas também o modo como é estruturado e disponibilizado esses dados, todo banco tem sua própria forma de armazenamento e modo como correlaciona seus dados, nesse tópico, abordaremo modelos de desenvolvimento de arquitetura dos bancos de dados

3.1. Banco de Dados Relacionais

O modelo relacional, traz um banco de dados com um conjunto de relações interconectadas. De maneira intuitiva, um exemplo de representação é uma tabela de valores. Numa tabela, a linha, representa um conjunto de dados relacionados, no qual, cada linha possui um ID único e imutável, garantindo assim, a unicidade dessa entidade. Já as colunas, são usadas para trazer significado nas interpretações dos valores, dessa forma correlacionamos diferentes atributos para uma mesma entidade. Podemos ilustrar isso numa simples tabela de alunos, onde a coluna “Alunos” representa a entidade, pois todas as colunas de uma única linha, trará os valores de atributos para essa entidade única.

grafico_banco_de_dados

Fonte: Proprietário

O modelo relacional traz um formato simples de armazenamento, de uma maneira simples de utilizar e interpretar, trazendo ao usuário uma capacidade de consulta de alto nível com uma linguagem própria, como é o SQL. Entretanto, quando as relações começam a ficar mais complexas e as fronteiras do banco começam a expandir, deixa de ser um modelo tão eficiente.

3.2. Banco de Dados Orientado a Objeto

Os objetos são a representação física dos elementos do mundo real, onde possuem características própria (classes) e comportamentos (ações).

No modelo orientado a objeto, o que define a estrutura e o comportamento de um conjunto de objetos são as classes, ou também podemos chamar de instâncias de objetos. As classes possuem a definição dos atributos e das ações de um tipo de objeto e é por ela que os objetos são instanciados. Como por exemplo, o Rafael, a Juliana, o Pedro e a Joana, pertencem a mesma instância da classe Aluno, já que possuem atributos em comum (nome) e comportamentos comuns (Estudar, questionar)

Banco de Dados Orientado a Objeto

Fonte: Proprietário

Diferente do modelo relacional, o modelo OO é capaz de abrigar todas as informações necessárias que descrevem o objeto, nos bancos tradicionais as informações sobre objetos complexos, necessitam ser distribuídas em várias relações, assim, dificultando a análise de correlação dos atributos.

O modelo Orientado a Objeto possui um outro diferencial extremamente importante, que é o suporte a heranças. Um membro é capaz de herdar dados e comportamentos de uma classe, trazendo os mesmos atributos para essa nova classe, por exemplo.

4. Conclusão

Os bancos de dados estão mais próximos de nossas vidas do que imaginamos, as ferramentas para armazenar dados são presentes nos supermercados, nas escolas, numa lista do Excel e quando você acessa um site e entrega seus cookies. Existindo um estabelecimento ou processo, que necessita historizar dados ou ter uma base de dados para o pleno funcionamento da operação, um banco de dados existirá em sua infraestrutura.

Os exemplos pioneiros de aplicabilidade de bancos de dados foram as organizações que necessitavam manter um grande registro de estrutura semelhantes, como os hospitais, bancos e univesidades. Esse, por exemplo, registrando dados de aluno, curso, nota e etc… Havia muitos registros e inter-relacionamentos entre eles, um registro de nota de um aluno específico, por exemplo, usalmente, poderiam ser armazenados fisicamente próximo ao registro de aluno e isso causava problemas no gerenciamento. Hoje, podemos ver o mesmo exemplo numas simples planilha de notas do Excel, onde podemos sobrepor nossos conhecimentos adquiridos hoje, como um banco de dados relacional, que não necessariamente possui um registro de tempo para as notas, podendo se tornar uma banco convencional, pois apresenta apenas o estado presente desse dado.

Com o avanço do banco de dados relacional, quando implementado as linguagens de consulta de alto nível, tornou o acesso a esses dados mais rápido e novas aplicabilidades surgiram. Bancos, por exemplo, utilizam consultas para verificar se uma transação solicitada está de acordo com o conjunto de regras da operação. Aplicações de data mining que trazem análises de grandes quantidades de dados, pesquisando por padrões e relacionamentos é um outro exemplo de que se utiliza.

Com o surgimento da programação orientada a objetos, a necessidade de armazenar informações de objetos complexos estruturados trouxe a criação desse banco. Aplicações nas quais apresentam estruturas mais complexas de objetos, como necessidades de projetos de engenharia e arquitetura com CAD/CAM, desenvolvimento de Sistema de computação auxiliado por computador (CASE) e até mesmo softwares onde temos programação Orientada a Objetos ou modelagem de ativos.

Em suma, a escolha da arquitetura do banco vai variar de acordo com a aplicabilidade, como terá o inter-relacionamento dos dados, a gestão temporal e o nível de complexibilidade da estrutura. Assim como hoje se faz muito presente no nosso dia a dia as utilizações no banco de dados, tendo uma perspectiva de crescimento ano a ano, não apenas em volume, mas também variedade e velocidade de produção dos dados, a evolução do modelo e da tecnologia é inexorável.