|
October 29, 2017
|

Banco de Dados – Relacional vs Não relacional

Banco de dados

Banco de dados é uma aplicação que lhe dá a possibilidade de receber e armazenar dados. Estão em todos os tipos de sistemas, smartphones, servidores, computadores pessoais, já que guardam as informações necessárias para o funcionamento dos sistemas.

O que faz com que o banco de dados seja ou não relacional é a forma a qual os dados são inseridos e organizados nele.

Banco de dados relacional

Como já foi citado, o que diferente os bancos de dados relacionais e não relacionais são suas formas de armazenamento e organização. No banco de dados relacional nós teremos os dados sendo guardados em forma de tabelas. Dentro das tabelas os dados são organizados em colunas e em cada coluna contém um tipo de dado (strings, inteiros…). Os dados que irão para cada coluna são guardados como suas linhas. Além disso, no modelo relacional, primeiramente toda a estrutura do banco de dados deve ser projetada, caso os esquemas das tabelas não estejam definidos, não será possível inserir dados nelas.

Aqui temos uma tabela chama Cliente, na tabela temos as informações necessárias divididas por coluna, tendo como coluna: id_cliente, primeiro nome, segundo nome e telefone. Cada coluna tem suas linhas, e nessas linhas serão armazenadas as informações pedidas de acordo com cada coluna.

Também deve ser criada novas tabelas, caso exista mais informações necessárias. E então você cria uma relação entre uma tabela e outra, havendo um ligação entre os dados das duas.

Alguns exemplos de banco de dados relacionais:

  • Oracle
  • MySQL
  • PostgreSQL
  • SQLite
  • SQL Server

Banco de dados não relacional

Banco de dados não relacional, ou NOSQL, pode ser visto como um padrão de armazenado alternativo ao modelo SQL (relacional), podendo oferecer uma maior escalabilidade. E eles surgiram exatamente pela necessidade de se ter uma melhor performance e alta escalabilidade, para dessa forma ter um maior e melhor gerenciamento de dados.

Utilizando NOSQL, não se tem a necessidade de fazer todo o esquema antes de começar a utilizá-lo,até porque todas as informações serão agrupadas em um registro, então não precisa que se tenha relacionamentos entre várias tabelas para ser formada a informação, ela estará em sua totalidade no mesmo registro. Se precisa apenas fazer o registro diretamente e de uma forma que o banco de dados que você está usando consiga entender. Como no mongodb, que ele utiliza json. Lá bastaria que você fizesse o seguinte:

db.clientes.save( {_id: 1, fones: ["93254-8267", "93418-9592"]})

Para você acessar, só precisa localizar o _id do cliente. Tendo então acesso a todas as informações que pertencem a determinado cliente, sem precisar

Alguns exemplos de banco de dados não relacionais:

  • MongoDB
  • Cassandra
  • Voldemort
  • CouchDB
  • Riak

Podemos citar também alguns exemplos de empresas que trabalham com um grande gerenciamento de dados e adotaram ao banco de dados NOSQL. Entre elas temos a Google, Amazon, Facebook, LinkedIn

Relacional ou não relacional, qual usar?

Bom, isso vai depender muito da sua aplicação.

O principal motivo para se escolher a utilização de um banco NOSQL é a escala. Por isso as grandes empresas que fazem uso costumam utilizá-los apenas em partes. Desta forma pode-se trocar a confiabilidade e a consistência pela escalabilidade. Então para casos que se tem muita informação e nem todas elas são tão importantes, pode-se trocar o uso de um banco de dados relacional por um não relacional. E apesar dos bancos de dados relacionais serem bem menos flexíveis que os nãos relacionais, eles tem umas alta consistência de dados, além da confiabilidade e de ser usado a propriedade ACID(Atomicidade, constistência, isolamento e durabilidade).

O TotalCross, por padrão, utiliza o o SQLite como banco de dados. Ele vai integrado à plataforma, para garantir a compatibilidade com todos os equipamentos suportados pelo TotalCross, inclusive desktops e handhelds. Caso queira saber mais como usar o SQLite junto do TotalCross, confere nosso exemplo 😉

Comments

More articles

X dicas para você criar uma estratégia de mobile marketing infalível

November 20, 2018

Pesquisa de mercado: Por que ela é importante para o desenvolvimento de apps?

November 19, 2018

Como transformar um website em aplicativo?

November 14, 2018

É possível instalar aplicativos Android no Windows?

November 9, 2018