Modelagem de Dados e SQL | Guia para Iniciantes

Introdução Modelagem de Dados

Com certeza o assunto de Modelagem de dados e SQL é um dos temas mais importantes quando queremos desenvolver sistemas ou aplicativos robustos.

Estruturar a modelagem de dados SQL do seu aplicativo pode fazer toda a diferença no futuro, economizando trabalho e trazendo muita perfomance e escalabilidade.

Esse conteúdo de Modelagem de Dados e SQL irá explicar os fundamentos mais importantes de banco de dados e apresentar uma metodologia passo a passo para estruturar os dados do seu negócio e transformar em aplicativo.

Veja o conteúdo completo em vídeo aqui:

O que você aprenderá?

  • Fundamentos da Modelagem de Dados e SQL
  • Metodologia como modelar seu banco de dados
  • Modelo Conceitual, Lógico e Físico na prática
  • Como criar um aplicativo a partir do seu modelo de banco de dados

Fundamentos de Banco de Dados

Antes de entrarmos no assunto de Banco de Dados, é necessário você entender alguns conceitos importantes:

  • Dado: Um valor em sua forma individual
  • Banco de Dados: Conjunto de dados organizados e relacionados entre si
  • Informação: Insights importantes a partir de um banco de dados que ajuda decisões estratégicas
    • Quantos cursos vendeu no mês? 
    • Quais são os melhores meses do ano para a venda?

Parar realizarmos a gestão e manipulação de dados de um sistema, geralmente utilizamos um Sistema de Gerenciamento de Banco de Dados, os mais famosos são:

  • MySQL
  • NoSQL
  • MongoDB
  • Firebase

Para entender a diferença entre eles, é necessário que você entenda o que são Bancos de Dados Relacionais e o que é SQL.

Bancos de Dados Relacionais e SQL

Bancos de Dados relacionais são bancos que armazenam e manipulam dados relacionados entre si.

Geralmente as tabelas se conectam por meio de chave primária e estrangeira. A chave primária (Primary Key – PK) é o identificador daquele registro na tabela, e deve ser único.

A chave estrangeira (Foreign Key – FK) é a chave primária de outra tabela, dessa forma conseguimos fazer conexão dos dados.

Os banco mais famosos do mercado são PostgreSQL, MySQL e SQLite.

Para manipularmos as informações no banco de dados utilizamos SQL, que é a forma como fazemos consultas (queries) em nosso banco.

Bancos de Dados Não Relacionais e NoSQL

NoSQL significa Not Only SQL, o que mostra que os bancos NoSQL podem ter relações ou não.

Há diversas forma de estruturarmos nossos dados:

  • Documento e coleção
  • Grafos
  • Chave Valor
  • Colunar

Nosso foco será documento e coleção.. onde armazenamos os dados em “pastas” que são as coleções e “documentos” que são os registros.

Os principais bancos NoSQL do mercado são MongoDB, Firebase e Cassandra.

O foco deste conteúdo será de SQL, veja depois nosso conteúdo de modelagem de dados NoSQL.

Metodologia para Modelagem de Dados

Para realizar a modelagem de dados do zero, é necessário você seguir os passos:

  1. Levantamento de Requisitos;
  2. Modelo Conceitual;
  3. Modelo Lógico’
  4. Modelo Físico.

Na etapa de análise de requisitos é realizado o levantamento de todas funcionalidades que o software fará, isso tudo deve ser alinhado de acordo com a visão do usuário final.

Nesse conteúdo de modelagem de dados não será o foco explicar a parte de levantamento dos requisitos, mas poderá ser uma aula futura por aqui.

Bora iniciar?

Vamos começar pelo modelo conceitual!

Etapa 1 Modelagem de Dados – Modelo Conceitual

Para realizar a modelagem de banco de dados utilizaremos como exemplo o case da No-Code Start-Up, aqui na nossa comunidade temos nossas Formações (cursos) e os alunos pode adquirir esses cursos.

Bora entender como modelar?

A primeira etapa é o Modelo Conceitual, onde entendemos o conceito geral do negócio e quais serão os principais dados envolvidos. Daremos as seguintes ações:

  1. Definir Entidades
  2. Definir Atributos
  3. Definir Relacionamentos
  4. Construir Modelo Conceitual Final – Diagrama de Entidade Relacionamento (DER)

As entidades são todos as tabelas principais envolvidas, como por exemplo “Alunos”, “Cursos” e “Vendas”. Os atributos são os campos que teremos nessas tabelas, o desenho ficará dessa forma:

A partir dai podemos definir como as entidades se relacionam, para isso temos algumas opções:

  • Relação 1 pra 1
  • Relação 1 para Muitos
  • Relação Muitos para Muitos

Veja alguns exemplos

Assim, nosso modelo conceitual final ficará deste modo:

Etapa 2 Modelagem de Dados – Modelo Lógico

No Modelo Lógico, detalharemos melhor as entidades e atributos. Nós também faremos o desenho dos schemas e suas relações.

Antes de prosseguir precisamos garantir que estamos segundo as 3 Formas Normais.

Normalização é a otimização que realizamos nas tabelas para reduzir redundâncias, duplicações e inconsistência dos dados. 

Assim conseguimos ter um modelo de dados mais consistente, organizado e com maior performance.

  • NF1 – A tabela deve possuir apenas atributos únicos, não podem existir atributos multivalorados.
  • NF2 – Os atributos (não chave) dependem apenas da chave primária
  • NF3 – Os atributos (não chave) devem ser independentes entre si

Veja o vídeo no YouTube sobre modelagem de dados para entender com exemplos reais.

A partir da normalização de dados podemos prosseguir para desenho dos schemas e suas relações. O Desenho final ficará dessa forma:

Etapa 3 Modelagem de Dados – Modelo Físico

A etapa 3 é onde damos vida à nossa modelagem de dados, devemos escolher um dos SGBD do mercado para criar nosso banco. Ela consiste em 3 ações:

  1. Escolha da Tecnologia SGBD
  2. Criar banco com SQL
  3. Gestão e manutenção Banco

Nós criaremos todas as tabelas a partir de SQL.

Finalização

Espero que tenha gostado desse conteúdo de modelagem de dados, para maiores detalhes veja nosso vídeo completo onde criamos um app a partir do nosso banco de dados pronto. O aplicativo criado é feito em 100% sem programar, com Bubble.

Se quiser saber mais sobre o mundo nocode, entenda como criar um aplicativo sem código.

Até a próxima!

Matheus Castelo

Mais Artigos Blog No-Code Start-Up:

plugins premium WordPress
pt_BRPT