A modelagem de dados é o processo mais precioso na geração de informações coerentes, estratégicas e de valor para o negócio de uma instituição empresarial, institucional e pesquisa científica. Nessa etapa, são definidas as estruturas de tabelas, entidades, associações e restrições para os dados que serão armazenados em um banco de dados.
Por isso a importância em desenvolver essa modelagem de dados de forma adequada às regras de negócio do sistema de software que será implementado. Se realizada de forma assertiva, facilitará na análise e projeção de informações estratégicas e na tomada de decisões corretas, seja em ambiente big data ou não.
Nesse artigo vamos abordar todas as etapas que compõem a criação da modelagem de dados. Vamos conhecê-los:
- O que é Modelagem de Dados?
- Qual a importância da Modelagem de Dados?
- Como funciona a Modelagem de Dados e quais os 4 elementos?
- Quais as 4 etapas da Modelagem de Dados?
- O que é a Modelagem de Dados evolucionária?
- Como Modelar Dados? 7 dicas essenciais!
- Quais as diferenças entre Modelagem de Dados e Mineração de Dados?
- Quais as diferenças entre Modelagem Transacional e Informacional?
O que é Modelagem de Dados?
Na ciência da computação, a modelagem de dados exerce um papel muito importante, que consiste em construir as estruturas de dados que possibilitam o armazenamento e a recuperação de informações em pesquisas para contextos específicos.
O desenvolvimento do software é elaborado com base em uma modelagem de dados já estabelecida e armazenada em um sistema de banco de dados. Dessa forma, o software será capaz de processar esses dados de forma inteligente e organizada, oferecendo informações que façam sentido e possam gerar valor para a empresa.
Para exemplificar, vamos pensar em um software escolar. Esse sistema precisa ser capaz de cadastrar, atualizar, consultar e excluir dados de pessoas estudantes, além de notas e pessoas instrutoras. É nesse ponto que a modelagem de dados vai atuar, realizando a construção e o mapeamento correto desses dados, proporcionando informações consistentes e fidedignas para o usuário ou usuária final.
Por isso é importante entender que um dado isolado não oferece informação. Como exemplo, considere o valor 9. Esse valor isolado representa apenas um dado, mas se incluirmos ele na frase “A pessoa estudante X teve a nota 9 na disciplina de Matemática”, temos uma informação devidamente consistente e estruturada.
Por isso os esforços na construção de modelagem de dados que proporcionem informações que gerem valor, seja para empresas, instituições educacionais, ciência e tecnologia.
Qual a importância da Modelagem de Dados?
Modelagem de Dados é a etapa mais importante no processo de construção de um sistema de software.
Nessa fase ocorre o levantamento de requisitos junto à pessoa cliente, que permitirá entender qual será a estrutura de dados pretendida para o sistema.
É importante considerar cada detalhe apresentado, pois isso facilitará na definição de entidades e seus respectivos relacionamentos.
Uma modelagem bem definida é importante na identificação de melhorias, correções e novas funcionalidades no produto desenvolvido.
Como funciona a Modelagem de Dados e quais os 4 elementos?
A modelagem de dados tem como base quatros elementos que atuam diretamente na criação desse modelo de dados. São eles:
Entidade
Entidade, também chamado de entity, representa um objeto distinto, podendo ser pessoa, máquina, animal, alimento… Tudo que tenha existência física ou virtual, poderá ser identificado como entidade.
A entidade está classificada em três grupos:
- Entidade forte: É uma entidade que tem existência física, sem qualquer tipo de dependência com outras entidades. Seu valor pode ser compreendido isoladamente. Por exemplo: em uma sala de aula, as entidades: pessoa estudante, pessoa instrutora de curso, lousa, apagador, caderno, mesa e cadeira, pertencem a este padrão.
- Entidade fraca: É uma entidade de existência virtual, ao contrário da entidade forte, possui alta dependência com outras entidades para existir, pois individualmente essa entidade não gera valor. Por exemplo: a entidade linguagem de programação depende da entidade computador, pois sem o computador não é possível executar uma linguagem de programação.
- Entidade associativa: Essa entidade surge quando precisamos associá-la em um relacionamento já existente. Por exemplo: a entidade avaliação final está diretamente relacionada com as entidades pessoa estudante e disciplinas. Essa nova entidade fornecerá as notas de cada pessoa estudante em suas respectivas disciplinas cursadas.
Instância
É o conjunto de entidades e os seus respectivos dados armazenados em um determinado banco de dados. Uma instância pode conter um ou mais bancos de dados, devidamente agrupados de acordo com regras de negócio de uma instituição. Por exemplo: A instância Sistema de Vendas contém os bancos de dados: vendedores, produtos, clientes, fornecedores e vendas. Em cada um desses bancos, teremos as suas respectivas tabelas e os registros de dados.
Atributo
As entidades de existência física ou virtual têm atributos. São as características que definem essas entidades em um determinado banco de dados. Por exemplo: a entidade pessoa estudante possui nome, telefone, endereço, filiação, notas e sala de aula. Esses atributos estão diretamente associados a uma modelagem de dados para um sistema educativo. Para uma modelagem de dados de um sistema de vendas, os atributos notas e sala de aula não são relevantes, portanto, para cada modelagem de dados, teremos atributos distintos.
Os atributos estão classificados nas seguintes regras:
- Descritivo: Representa as características de uma entidade. Exemplos: cor, data de nascimento e idade.
- Nominativo: Cumpre a função do atributo descritivo e serve para definir e identificar o objeto de uma entidade. Por exemplo: código do produto, nome da pessoa estudante e chassi de um automóvel.
- Referencial: Representa a associação entre uma entidade com um relacionamento. Por exemplo: uma nota atribuída para uma pessoa estudante está diretamente associada com as entidades disciplina e pessoa instrutora.
A estrutura do atributo possui duas classificações:
- Simples: Quando um único atributo define a característica de uma entidade. Exemplos: idade, cor, peso e nome;
- Composta: quando é necessário utilizar vários atributos para definir a característica de uma entidade. Exemplo: a entidade endereço será composta dos atributos logradouro, cidade, estado, CEP e país.
Relacionamento
É a relação lógica entre duas ou mais entidades que têm regras de negócio compatíveis entre elas.
Para cada instância em um banco de dados, as entidades e os seus atributos, de certa forma, terão correlações com outras entidades para a geração de informações coerentes e válidas para o contexto a que pertencem.
Por exemplo, em um sistema de vendas, todas as tabelas contidas no banco de dados de uma determinada instância precisam conter relacionamento entre uma ou mais entidades, de forma que a ligação lógica desses dados resultem em informações de vendas para o usuário ou usuária final.
Existem características que facilitam no entendimento desses relacionamentos, são eles:
- Cardinalidade: Indica o total de ocorrências que uma determinada entidade possui com outra.
Existem três tipos de variações, são:
- n: quando a variação ocorre várias vezes;
- 1: quando a variação ocorre apenas uma única vez;
- 0: quando não ocorre variação.
Nas figuras 3 e 4, as cardinalidades de relacionamento estão identificadas em cada figura de losango.
A leitura dos relacionamentos apresentados nas figuras acima, é realizado da seguinte forma:
Na figura 3 temos dois tipos de cardinalidade:
- (1:n) : Significa que a ocorrência de uma entidade para com a outra pode acontecer várias vezes;
- (n:n): Significa que a ocorrência pode acontecer entre ambas as entidades.
Na figura 4 temos dois tipos de cardinalidade:
- (1,1): Significa que a ocorrência de uma entidade pode acontecer apenas uma vez com a entidade relacionada;
- (0,n): Significa que a ocorrência pode ou não acontecer ou a entidade relacionada.
- Opcionalidade: Indica se o relacionamento entre uma entidade e outra poderá ocorrer. Nesse grupo temos três tipos:
- Opcional: quando a entidade poderá possuir ou não um determinado valor. Por exemplo: em um sistema de clientes, a entidade telefone deverá ser opcional, pois haverá clientes que não possuem esta informação, conforme figura 5.
- Contingente: quando uma entidade possui várias ocorrências acontecendo em um modelo de relacionamento. Por exemplo: a entidade projeto está relacionada com as entidades equipe técnica e gerência, conforme figura 6:
Mandatório: quando a entidade deve possuir um determinado valor. Por exemplo: em um sistema de clientes, a entidade nome deverá ser obrigatório, pois todo cliente deve possuir esta informação, conforme figura 7.
Quais as 4 etapas da Modelagem de Dados?
Na modelagem de dados, precisamos conhecer detalhadamente todas as rotinas de execução que um sistema realizará para compreender os dados que serão armazenados.
Conheça quais são as quatro etapas desse processo de modelagem de dados:
Análise de Requisitos
Nessa etapa, ocorre o levantamento de todas as regras de negócio que vão compor o sistema a ser desenvolvido. Essas regras são analisadas diretamente com o Product Owner do produto.
Essas regras serão catalogadas e documentadas para as etapas seguintes da modelagem de dados.
Nessa fase, quanto mais informações relevantes obtermos, mais assertivo será a modelagem.
Modelos de Dados Conceituais
Nessa etapa, serão criados os primeiros desenhos referentes ao sistema de banco de dados de um projeto.
A linguagem UML é utilizada para realizar esses desenhos, possibilitando a visualização gráfica das ações que o sistema vai realizar, bem como os atores envolvidos nesses fluxos.
Por isso a importância da etapa de levantamento de dados. Assim, será possível estabelecer todas as entidades e suas correlações.
Veja o exemplo de um diagrama Entidade-Relacionamento ou DER:
Exemplo de tabelas que compõem o diagrama da figura 9:
Relacionamento | Atributos |
tem | Codigo_Disciplina, Codigo_PessoaInstrutora, Codigo_PessoaEstudante, Nome |
Entidade | Atributos | Relacionamentos |
Pessoa Instrutora | Codigo, Nome, Endereco, Telefone | com Disciplina 1:N total |
Disciplina | Código, Nome | com Endereco 1:N total & com Pessoa Instrutora 1:N total & com Pessoa Estudante 1:N total |
Pessoa Estudante | Código, Nome | com Disciplina 1:n total |
Modelos Lógicos de Dados (MLDS)
Na etapa de Modelo Lógico de Dados, é possível visualizar todas as interações lógicas e suas respectivas chaves primárias que garante a unicidade de cada dado registrado em um banco de dados, e as chaves estrangeiras que apontam o relacionamento distinto entre duas tabelas.
As chaves primárias são responsáveis por determinar que o registro em um banco de dados ocorrerá apenas uma única vez, evitando duplicidade de registros e garantindo a confiabilidade das informações.
As chaves estrangeiras são responsáveis por indicar a ligação entre dados contidos em um mesmo modelo de relacionamento de dados.
Veja o exemplo de um modelo lógico de dados:
Modelos Físicos de Dados (MFDS)
Essa etapa consiste na criação do banco de dados, respeitando a modelagem lógica de dados ocorrida na etapa anterior.
Nesse modelo, será criado primeiramente uma instância de dados, em seguida, um ou mais bancos de dados e suas respectivas tabelas e colunas.
A linguagem SQL realizará a criação de toda a estrutura dessa modelagem, e também será utilizada para a manipulação dos registros e outras funções mais complexas.
A definição de qual SGBD será utilizado na criação desse modelo, não muda o modelo lógico já definido.
Veja o exemplo de um modelo físico de dados:
O que é a Modelagem de Dados evolucionária?
A modelagem de dados evolucionária permite modelar as entidades de um sistema, de forma incremental e iterativa.
A proposta dessa modelagem é permitir que o esquema da base de dados (SGBD) evolua, o que faz com que novas entidades e relacionamentos sejam criados na mesma proporção que as implementações de regras de negócio são inseridas na aplicação do software.
Por isso é importante que as pessoas de tecnologia da informação possuam conhecimentos básicos sobre modelagem de dados; dessa forma, estarão mais preparadas para as implementações evolutivas de um sistema, sendo capazes de realizarem a leitura da modelagem lógica desses dados, entender como criar e aplicar as técnicas necessárias para novos modelos.
Como Modelar Dados? 7 dicas essenciais!
As melhores práticas na modelagem de dados facilitam na eficiência e agilidade na criação do projeto e nos possíveis incrementos que poderão ocorrer durante o seu ciclo de vida. Assim, vamos apresentar algumas dicas essenciais:
- Requisitos da modelagem de dados: essa é a etapa inicial no processo de modelagem de dados, onde serão analisados e documentados todos os requisitos necessários para o desenvolvimento de um sistema de software. Nessa etapa são realizadas entrevistas com os responsáveis pelo projeto para entender a amplitude e o objetivo deste;
- Modelagem de dados flexível e modular: desenvolver a modelagem inicial das entidades e seus relacionamentos de forma simples, permitindo o aprimoramento da modelagem sem impactar a estrutura inicial já desenvolvida. Nessa fase, é indicado documentar a modelagem, assim, todas as pessoas envolvidas no projeto poderão consultar essas informações, permitindo possíveis upgrades do sistema;
- Mapeamento de dados: etapa de suma importância na construção da modelagem de dados. Com a estrutura inicial projetada, será analisado se possíveis migrações e integrações de dados externos farão parte desse projeto. Caso afirmativo, a modelagem precisará viabilizar esses relacionamentos, permitindo o fluxo eficiente de todos os dados e a geração de informações de valor para a instituição corporativa ou educacional;
- Nome de entidades e associações: na modelagem de dados, é importante que toda a nomenclatura de entidades e suas associações sejam pertinentes às regras de negócio que se pretende implementar. Quanto mais simples e objetivo o nome da entidade e da associação representar, maior será o ganho de toda a cadeia de Entidade-Relacionamento (DER);
- Representação gráfica de dados: permitirá a análise mais eficiente e prática dos dados armazenados em um banco de dados. Essas ferramentas permitem acessar, relacionar e manipular rapidamente as informações. A representação gráfica também é indicada para cenários de melhorias e novas implementações na modelagem de dados. Conheça alguma dessas ferramentas: Tableau, Infogram, Plotly, RAW, D3.js, Google Charts, Chartio, TimelineJS;
- Organização de dados: na modelagem de dados, é importante considerar os dados que serão armazenados em cada tabela no banco de dados. Dessa forma, cada tabela deverá conter somente colunas que fazem parte da regra de negócio específica do sistema. Por exemplo: na tabela Vendas, não é relevante incluir a coluna Valor com Desconto, já que é possível obter esta informação utilizando as colunas Porcentagem de Desconto e Valor do Produto. Essa organização permitirá análises de dados mais rápidas e eficientes;
- Documentação: A elaboração de uma documentação sobre a modelagem de dados implementada, deverá conter todos os detalhes sobre as quatro etapas de modelagem de dados, sendo: a análise de requisitos e os modelos conceitual, lógico e físico. Esse documento será utilizado para qualquer tipo de consulta, alteração, atualização ou implementação no sistema, podendo ser realizada por qualquer pessoa desenvolvedora de sistemas.
Quais as diferenças entre Modelagem de Dados e Mineração de Dados?
As diferenças entre modelagem de dados e mineração de dados são:
1. Modelagem de dados:
1.1. Define toda a estrutura e suas associações para a criação de tabelas e banco de dados em um SGBD;
1.2. Responsável em garantir a consistência e organização dos dados;
1.3. Etapa da preparação e finalização da documentação técnica da modelagem dos dados de um sistema;
1.4. Garantir que a exploração de dados será executada com rapidez e valor de informação para o negócio de uma instituição corporativa ou educacional;
1.5. Facilitar no processo de consulta, alteração e melhorias do modelo já implementado.
2. Mineração de dados:
2.1. É o processo da exploração dos dados inseridos em um SGBD;
2.2. É formado por quatro principais etapas: definir o objetivo, excluir as redundâncias e duplicidades de dados, limpeza de dados e filtrar e tratar os dados recolhidos;
2.3. Utiliza ferramentas da tecnologia da informação para descobrir regras e padrões de relacionamentos ocultos, auxiliando em tomadas de decisões e em vantagens competitivas;
2.4. Análise de dados realizada com base nas técnicas da estatística, inteligência artificial e reconhecimento de padrões;
2.5. Proporciona a descoberta de informações utilizando as técnicas de classificação, agregação, suavização, aglomeração e generalização.
Quais as diferenças entre Modelagem Transacional e Informacional?
1. Modelagem Transacional:
1.1. Apresenta as informações de acordo com cada transação realizada. Exemplo: fatura de compras, onde cada item adquirido e o preço é listado linha por linha. Nesse cenário, não é possível apresentar o histórico de compras realizado pela pessoa compradora;
1.2. Modelagem utilizada para grande processamento de dados realizada em grande escala, Exemplos: inserção, atualização e exclusão;
1.3. Não tem aplicabilidade em análises de informações úteis para o gerenciamento e tomadas de decisões;
1.4. Utilizada para análises de dados pontuais, pois caso haja algum problema ou necessidade de alteração urgente, essa modelagem proporciona ação imediata;
1.5. Utilizada para eliminar o máximo de redundância dos dados, proporcionando informações mais pontuais e detalhadas.
2. Modelagem Informacional:
2.1. Conhecida também como modelagem dimensional, apresenta um modelo simplificado extraído da base original de dados. Por exemplo: em um sistema de loja de artigos esportivos, poderá ser criado uma subdivisão chamada categoria. Com isso, os produtos serão separados por tipo de equipamentos, acessórios e roupas, proporcionando maior rapidez nas buscas por categorias específicas e no controle de estoque;
2.2. Utilizado para mensurar um processo de negócio, pois utiliza o histórico dos dados cadastrados em um SGBD;
2.3. Utiliza os conceitos Star Schema e o Snowflake. O Star Schema, conhecido como modelo estrela, apresenta a modelagem de dados em tabelas dimensionais ligadas a uma tabela de fatos. O Snowflake, apresenta a modelagem de dados com a menor redundância dos dados possível;
2.4. Apresentar os dados o mais próximo à realidade de uma organização, facilitando no processo de novas descobertas.
Nesse artigo você compreendeu a importância que a modelagem de dados exerce sobre o negócio de uma instituição corporativa ou educacional.
A modelagem de dados, quando bem construída, proporcionará todos os elementos necessários para a composição de informações coerentes e valiosas nas tomadas de decisão, além de facilitar nos processos de alteração, atualização e implementação da estrutura já construída.
O que você achou de entender sobre como construir uma modelagem de dados correta? Se gostou desse conteúdo, aprenda agora sobre MongoDB e sua relação com o banco de Dados NoSQL!