Modelagem relacional e normalização de dados
Veja nesse artigo um caso prático de modelagem de dados a partir de uma planilha utilizada por um corretor de imóveis e as regras do mundo real.
Veremos também algumas dicas práticas de projeto físico de um modelo normalizado. Este artigo é útil em casos de modelagem de dados, onde o analista deseja garantir que seu modelo se enquadra no padrão ACID (Atomicidade, Consistência, Isolamento, Durabilidade) e mostra também como esse conceito, dentro da teoria de bancos de dados, pode ajudar o analista de dados a obter ganhos de armazenamento e desempenho em seu banco de dados.
O artigo intitulado “A Relational Model of Data for Large Shared Data Banks” - Um modelo relacional de dados para grandes bancos de dados compartilhados (em tradução livre), definiu as Relações que deram origem às entidades e as tabelas que usamos hoje em dia, definiu as propriedades que uma linguagem de manipulação de dados deveria apresentar e definiu também, o que hoje conhecemos como Primeira Forma Normal.
Isso tudo numa época onde o armazenamento de dados era um desafio, o acesso a computadores era muito menor, o hardware era muito mais modesto e caro do que hoje e os bancos de dados da época utilizavam modelos não relacionais, como o modelo hierárquico.
Nos anos seguintes, Codd ainda viria a publicar outros artigos a respeito do seu modelo relacional onde explicava em mais detalhes a sua ideia, baseada nos conceitos matemáticos de teoria dos conjuntos e definia novas regras de normalização, que tinham por objetivo proteger os usuários do que ele chamava de “mudanças potencialmente disruptivas” nos dados, causadas pelo crescimento do volume e da complexidade dos dados.
Tudo isso no início da década de 70, criando assim a base para a tecnologia que usamos até os dias de hoje nos nossos trabalhos, nas nossas contas bancárias e até mesmo no restaurante que almoçamos durante a semana.
Neste artigo, iremos abordar a concepção do modelo relacional e as formas normais definidas por Codd, veremos onde elas se enquadram e quais vantagens podemos ter com seu uso.
Vamos criar um modelo relacional para um agente imobiliário fictício, que controla seus negócios com uma planilha eletrônica em seu computador.
Como o artigo trata de um conceito teórico, não vamos utilizar nenhum sistema gerenciador de banco de dados relacional, tampouco ferramentas de modelagem de dados.
A propósito, eu quero convidar o leitor a deixar de lado os conceitos técnicos de modelagem para focar nos elementos principais de um modelo relacional: as “suposições semânticas” das quais Date fala a respeito, o projeto de relações e as regras e benefícios da normalização do modelo final.
Como você deve ter notado, ao longo deste artigo evitaremos falar em tabelas e usaremos o termo relações. Por que? Por dois motivos: o primeiro é manter a consistência com os artigos publicados por Codd, que afinal é o pai do conceito; e o segundo é para dissociar a prática que vemos em alguns bancos de dados, onde o analista precisa criar um banco “a toque de caixa” e não tem as condições necessárias, como tempo, para modelar um banco relacional normalizado.
Bem-vindo ao mundo real
Anteriormente, citamos o autor C.J. Date e suas suposições semânticas. Mas o que é isso? Como podemos criar essas suposições? Qual o melhor software para criar as suposições semânticas e transformá-las automaticamente em um banco de dados e em classes CRUD nas principais linguagens de programação do mercado?
Vamos por partes: o termo “suposição semântica” é um sinônimo para as conhecidas regras do mundo real. Sim, aquelas regrinhas definidas pelo dono do negócio ou então codificadas na cabeça do analista-programador responsável pelo sistema são o primeiro passo para a criação do modelo relacional normalizado.
É importante notar que este é também um passo imprescindível e insubstituível na criação de um banco de dados. E o melhor software? Fica a critério de cada um.
E com o que se parecem essas regras? Simples: são frases que descrevem cada parte do negócio, e as ações que elas realizam com outras partes. Para nosso modelo de controle imobiliário, o corretor fictício possui algumas regras, por exemplo:
- Eu posso trabalhar com venda, aluguel ou financiamento de imóveis;
- Existem diversos tipos de imóveis como: casas, apartamentos, flats, etc.;
- Eu trabalho apenas com pessoa física;
- Um cliente pode alugar vários imóveis.
Entre outras regras que vamos conferir durante o estudo de caso, note que cada regra é bem definida, mostrando quantidades como as três operações da primeira regra, definindo agentes específicos como o cliente e o imóvel da quarta regra e também listando propriedades de cada agente, como os tipos de imóveis. " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo