Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Modelagem de dados: construindo o modelo físico

Modelagem de dados: construindo o modelo físico

Iniciando o projeto - Apresentação

Boas-vindas ao nosso curso de modelagem de dados, onde iremos desenvolver um modelo físico! Meu nome é Beatriz Magalhães e serei sua instrutora nesta jornada!

Audiodescrição: Beatriz se descreve como uma mulher branca, de cabelos longos, ondulados e loiros. Veste uma camiseta verde e está sentada em uma cadeira gamer. Ao fundo, uma janela e móveis iluminados sob tons de verde.

Neste curso, vamos nos concentrar na construção do modelo físico, que é a etapa final do processo de modelagem de dados. Abordaremos a tipificação das colunas em nossas tabelas, o limite de caracteres, e a aplicação de restrições de negócios ao nosso modelo de dados.

Além disso, veremos como integrar esse modelo de dados com outras ferramentas e softwares que utilizamos no dia a dia, especialmente para quem trabalha com dados.

Discutiremos também a importância da modelagem de dados em diversas áreas profissionais e como esse processo é fundamental, independentemente da ferramenta que você utiliza para gerenciar seus dados.

Esperamos que aproveite esta jornada de aprendizado! Lembre-se de que é importante ter concluído os três cursos anteriores desta formação, pois o projeto que desenvolveremos é uma continuação das etapas anteriores de modelagem de dados.

Se tudo estiver em ordem, nos vemos no próximo vídeo. Até lá!

Iniciando o projeto - Validando o modelo lógico e escolhendo um SGBD

Neste curso, vamos focar na última etapa do processo de modelagem de dados: a construção do modelo físico. Essa fase é crucial, pois o modelo físico é o elo entre a parte conceitual e teórica que desenvolvemos até agora e a implementação prática, onde transformamos o modelo em um banco de dados acessível por um Sistema de Gerenciamento de Banco de Dados (SGBD).

No modelo físico, tomaremos decisões importantes sobre o banco de dados, como os tipos de dados, restrições, e regras para cada coluna. Esta etapa final é essencial para a construção do nosso banco de dados.

Validação do modelo lógico

Para começar a construir o modelo físico, precisamos validar o modelo lógico já normalizado, que foi desenvolvido no curso anterior pela instrutora Daniele. A validação de cada etapa, garantindo que esteja alinhada com os requisitos levantados junto à Flex Empresta, é fundamental. Isso assegura que o modelo reflita fielmente as necessidades e processos da empresa, bem como os dados que ela deseja armazenar.

Utilizaremos a plataforma Visual Paradigm Online para criar nossos diagramas. Caso você ainda não tenha uma conta, pode criar uma facilmente com seu e-mail e senha. Na parte superior direita da tela, você encontrará um botão azul com a opção "Crie um novo". Após baixar o arquivo do modelo lógico normalizado, ele será salvo em seus documentos. Na seta do botão "Crie um novo", há a opção "Importar/Abrir". Vamos clicar sobre ela.

Na tela central, há várias opções para importar o arquivo. O formato que disponibilizamos, salvo diretamente como .vpd, pode ser aberto a partir da sua máquina. Para isso, clicamos em "Dispositivo" e vamos em "Escolher arquivo". Se você já baixou o arquivo fornecido na atividade anterior a este vídeo, ele estará disponível em seu computador com o nome Modelagem de dados - Normalização.vpd, então basta selecioná-lo e abri-lo.

Revisão do levantamento de requisitos

Agora, vamos revisar o levantamento de requisitos. Este levantamento foi realizado no primeiro curso para entender exatamente o que a Flex Empresta precisava incluir no banco de dados.

Disponibilizaremos nas atividades a documentação necessária para que você possa fazer detalhadamente esse levantamento de requisitos.

No levantamento de requisitos, identificamos quais dados precisam ser armazenados. É essencial garantir que todos esses dados estejam representados em nosso modelo.

Por exemplo, para clientes, devemos armazenar informações como nome, CPF, telefone, endereço, data de nascimento, e-mail, dados bancários, tipo de conta, saldo e número da conta. Vamos conferir se o nosso modelo inclui todos esses elementos.

No modelo, observamos que a tabela de clientes contém ID do cliente, data de nascimento, CPF, nome, e-mail, endereço e ID do colaborador. Para facilitar a consulta e melhorar a eficiência, o endereço foi dividido em rua, bairro, cidade, estado e CEP. O ID do colaborador também está presente na tabela de clientes para rastrear qual colaborador atendeu cada cliente.

Essa verificação é crucial para garantir que todos os atributos e entidades mencionados pela Flex Empresta estejam representados fielmente no modelo lógico. Faça a verificação com cuidado para as demais tabelas!

Além disso, algumas restrições de negócios serão especificadas no modelo físico. Por exemplo, foi determinado que cada cliente deve fornecer dois telefones, um e-mail e um endereço completo. Isso significa que os campos de telefone, e-mail e endereço não podem ser nulos. Além disso, o campo de telefone deve conter dois números de telefone.

Escolha do Sistema de Gerenciamento de Banco de Dados (SGBD)

Outro passo importante na construção do modelo físico é a escolha do Sistema de Gerenciamento de Banco de Dados (SGBD). O SGBD é a ferramenta que será usada para armazenar e gerenciar o banco de dados da Flex Empresta.

Não nos aprofundaremos em SGBD neste curso, mas há formações específicas sobre este tema.

A empresa já optou por usar o MySQL como seu SGBD devido a várias vantagens: é gratuito, tem uma ótima usabilidade, e conta com uma grande comunidade de usuários, o que facilita o acesso a suporte e treinamento.

É muito importante escolher o SGBD antes de iniciar a construção do modelo. Isso porque cada SGBD trabalha com tipos de dados específicos, além de restrições e regras próprias, que influenciam diretamente na forma como o modelo físico será implementado.

Conclusão e próximos passos

Agora que já escolhemos o SGBD, revisamos o levantamento de requisitos e confirmamos que nosso modelo lógico está correto, podemos começar a construção do modelo físico. O primeiro passo será classificar os tipos de dados para cada coluna, ou seja, para cada atributo das nossas entidades.

Faremos isso no próximo vídeo. Espero você lá. Até mais!

Iniciando o projeto - Conhecendo os tipos de dados

Agora, vamos começar a trabalhar no diagrama do modelo físico, que é a etapa final do processo de modelagem de dados.

Mudança de terminologia na modelagem

Antes de avançarmos, é importante entender que, ao migrarmos para o modelo físico, alguns termos mudam de nome. Usaremos a tabela a seguir como base:

Dicionário de modelagem

MODELO CONCEITUALMODELO LÓGICOMODELO FÍSICO
EntidadeEntidade/RelaçãoTabela
Entidade fracaEntidade dependenteTabela
Entidade forteEntidade independenteTabela
AtributoAtributoColuna
Atributo chaveChave primáriaChave primária
Atributo chaveChave estrangeiraChave estrangeira
Atributo chaveChave CompostaChave Composta
Regra de negócioRegra de negócioRestrição de integridade

No modelo conceitual, cada elemento importante com atributos associados é chamado de "entidade". No modelo lógico, ainda podemos chamá-lo de "entidade" ou "relação". No entanto, no modelo físico, esses elementos são chamados de "tabelas". Assim, uma entidade, seja ela fraca ou forte, será representada como uma tabela.

Os "atributos", que no modelo conceitual e lógico eram chamados assim, agora são chamados de "colunas", referindo-se às colunas das nossas tabelas. Essa mudança de nomenclatura reflete a terminologia usada nos Sistemas de Gerenciamento de Banco de Dados (SGBDs), que se baseia na estrutura interna do banco de dados.

As regras de negócio, que identificamos no levantamento de requisitos, agora são chamadas de "restrições de integridade". Estas restrições representam as regras de negócio dentro dos SGBDs.

Classificação dos tipos de dados no modelo físico

Vamos começar classificando os tipos de dados em nosso modelo físico. Para isso, abrimos o Visual Paradigma e carregamos o modelo lógico normalizado, que disponibilizamos no início da aula. A estrutura básica será a mesma, mas vamos adicionar informações essenciais para o SGBD, como os tipos de dados.

Por exemplo, se trouxéssemos a estrutura atual para o banco de dados sem especificar os tipos de dados, poderíamos ter problemas, como alguém inserir um texto na coluna de CPF. Isso causaria desorganização no banco de dados. Portanto, ao especificarmos os tipos de dados permitidos para cada coluna, garantimos que o banco de dados possa detectar e prevenir erros, mantendo a organização dos dados.

Existem alguns tipos de dados principais que precisamos conhecer. Por exemplo, VARCHAR e CHAR são tipos usados para armazenar texto, enquanto INTEGER é utilizado para números inteiros, e DATE para datas. Há vários outros tipos, e vamos disponibilizar uma atividade para que você possa aprender mais sobre cada um deles.

Vamos começar pela tabela de clientes. A primeira coluna é o ID do cliente, que já está definida como a chave primária da tabela. Esse ID pode ser armazenado como texto (usando o tipo VARCHAR) ou como um número inteiro (INTEGER), dependendo do tipo de informação que queremos guardar.

O MySQL aceita diferentes tipos de dados como chave primária, mas para se aprofundar nesse assunto, recomendamos que você faça a formação de MySQL, onde explicamos todos os detalhes sobre os tipos de dados e suas especificidades.

Neste caso, como o ID do cliente pode incluir letras e números, vamos classificá-lo como VARCHAR, que permite armazenar qualquer tipo de texto. É uma boa prática escrever os tipos de dados em letras maiúsculas, então vamos seguir essa convenção: id_cliente: VARCHAR.

Agora, vamos para data de nascimento. Esse dado é do tipo DATE, que é específico para armazenar datas. Há variações como DATETIME, que inclui tanto a data quanto a hora, mas, neste caso, como estamos lidando apenas com a data de nascimento, o tipo DATE é suficiente: DataNascimento: DATE.

Em seguida, temos o CPF. Vamos classificá-lo também como VARCHAR, pois, embora o CPF seja numérico, ele tem um formato específico que precisa ser respeitado. Podemos definir o tamanho máximo do VARCHAR para garantir que o CPF tenha a quantidade correta de dígitos, evitando erros. Ao longo do curso, mostraremos como definir esses detalhes. Por enquanto, vamos focar na atribuição do tipo de dado, que neste caso será VARCHAR.

Uma dica importante é sobre o tipo de dado VARCHAR, que será amplamente utilizado. Ele é popular porque tem uma característica muito útil: ocupa apenas o espaço necessário para cada valor armazenado, tornando o banco de dados mais eficiente, sem desperdiçar espaço. É uma ótima escolha para armazenar textos ou strings.

Agora, vamos para a coluna de nome, que também será do tipo VARCHAR. Se olharmos para a tabela de clientes, veremos as demais colunas como Email, Rua, Bairro, Cidade, Estado, CEP, e id_colaborador. Todas essas colunas também serão do tipo VARCHAR, então basta preenchê-las corretamente.

TabelaClientes
id_cliente: VARCHAR
DataNascimento: DATE
CPF: VARCHAR
Nome: VARCHAR
Email: VARCHAR
Rua: VARCHAR
Bairro: VARCHAR
Cidade: VARCHAR
Estado: VARCHAR
CEP: VARCHAR
id_colaborador: VARCHAR

Vamos agora explorar tabelas que contêm tipos de dados diferentes, para entender melhor como funcionam.

Na tabela de empréstimos, por exemplo, temos uma coluna de status, que indica se o empréstimo está ativo ou inativo. Este tipo de dado é chamado de BOOLEANO, ideal para situações com respostas binárias, como "sim" ou "não" ou "ativo ou inativo", entre outras. O dado booleano é armazenado de forma muito eficiente, ocupando apenas um bit (1 ou 0), o que contribui para a eficiência do banco de dados.

Veja que nesta fase da modelagem, já estamos focando na praticidade e eficiência do SGBD. Para o status, vamos usar o tipo BOOLEANO.

A coluna de prazo, que indica um número em dias, será do tipo INTEGER, adequado para números inteiros e cálculos.

Agora, vamos falar sobre valores monetários, que são um pouco diferentes. Para valores em dinheiro, como o valor de um empréstimo, usaremos o tipo DECIMAL. Esse tipo é ideal para números com casas decimais, como os centavos, garantindo precisão no armazenamento.

TabelaEmprestimo
id_emprestimo
Status: BOOLEANO
Prazo: INTEGER
DataInicio
Tipo
Valor: DECIMAL
id_cliente

Exercício de classificação dos tipos de dados

Agora é a sua vez de classificar as colunas:

Preencha as colunas das tabelas como um exercício, aplicando essa lógica. No próximo vídeo, vamos falar sobre como definir o número máximo de caracteres para cada coluna, evitando, por exemplo, que um CPF seja cadastrado com dígitos a mais. Nos vemos lá!

Sobre o curso Modelagem de dados: construindo o modelo físico

O curso Modelagem de dados: construindo o modelo físico possui 99 minutos de vídeos, em um total de 46 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas