Modelagem SQL x NoSQL

Com este artigo é possível compreender melhor como a modelagem funciona nos bancos de dados NoSQL. Neste contexto são discutidos exemplos de como as integridades de entidade, de domínio e referencial afetam a modelagem tradicional.

Fique por dentro
O conteúdo deste artigo é útil para aqueles que estão começando a aprender tecnologias NoSQL e possuem dificuldade para se adaptar e utilizar o conhecimento já adquirido na modelagem relacional. A partir da discussão apresentada é possível compreender melhor como a modelagem funciona nos bancos de dados NoSQL do ponto de vista da modelagem de entidades, relacionamentos e atributos. Neste contexto são discutidos exemplos de como as integridades de entidade, de domínio e referencial afetam a modelagem tradicional e como estes aspectos são tratados pelas tecnologias agrupadas pela sigla NoSQL.

A modelagem é uma das atividades iniciais envolvidas no processo de criação de bancos de dados tradicionais que conta com diversas técnicas consolidadas e utilizadas nas tarefas do dia a dia que envolvem programação e banco de dados. Estas técnicas são diretamente ligadas aos bancos de dados relacionais que suportam a linguagem SQL. Contudo, novas abordagens para o armazenamento, manipulação e tratamento de dados abrem discussão sobre novas formas de modelagem de dados.

Apesar de existir muito material, recursos, exemplos e aplicações voltadas para os bancos de dados NoSQL, pouco se fala sobre as características, aspectos e técnicas de modelagem que podem ser utilizados com tecnologias NoSQL. De fato, esta falta de discussão acaba se tornando uma barreira de aprendizado para muitas pessoas que, muitas vezes, simplesmente desistem de experimentar tecnologias NoSQL por não encontrar uma comparação com o que já existe no mundo SQL. Desta maneira, este artigo apresenta uma discussão sobre a criação de modelos para bancos NoSQL tendo como guia as técnicas e recursos empregados na concepção e criação de bancos que suportam a linguagem SQL.

A discussão apresentada neste artigo não se propõe a ser muito extensa ou se concentrar em um banco de dados relacional ou NoSQL específico, pois o foco é nas possibilidades que a modelagem proporciona quando se está trabalhando com bancos de dados reacionais ou NoSQL.

Aspectos gerais de modelagem

De um ponto de vista mais geral, a modelagem representa uma abstração da realidade. Basicamente o que estamos fazendo quando modelamos um banco de dados é montar uma representação da realidade de acordo com o nosso objetivo, que no caso é o armazenamento de dados. Além da abstração, também realizamos outras tarefas, tais como filtrar o que nos interessa, interpretar cenários, enquadrar os dados em um formato que seja interessante e saber o que é relevante ou não para o modelo.

Estas atividades são realizadas de forma iterativa, ou seja, o modelo provavelmente vai passar por várias versões antes de chegar à versão final que será implementada em um sistema gerenciador de banco de dados relacional (SGBDR)."

[...] continue lendo...

Artigos relacionados