Quer aprender como é feita a criação de um banco de dados? Nessa aula eu vou te mostrar uma breve introdução a modelagem de dados!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Nessa aula eu quero te mostrar uma breve introdução à modelagem de dados, assim como as oito etapas para modelagem de dados.
Isso quer dizer que eu vou te explicar o que é a modelagem de dados e em seguida vou te mostrar quais são os passos para que você consiga fazer essa modelagem de forma eficiente!
Além disso, para que você possa compreender os conceitos básicos de modelagem de dados, vamos aplicá-lo a um banco de dados real, utilizando como exemplo o dataset EMPLOYEE.
Você já deve ter percebido que grande parte ou na maioria das vezes que utiliza um banco de dados ele já está pronto não é mesmo?
Mas você já imaginou qual o processo de criação ou de modelagem de banco de dados? É isso que eu quero te mostrar nessa aula!
A modelagem de dados é uma das etapas essenciais no desenvolvimento de sistemas de banco de dados, pois define a estrutura de armazenamento das informações.
É nesse processo que planejamos e estruturamos a forma como os dados serão armazenados no banco de dados, visando representar a realidade de uma organização ou sistema, através de dados que serão usados para análises.
Aqui no blog nós geralmente utilizamos a linguagem SQL para fazer a manipulação desses bancos de dados.
Geralmente esses bancos já estão prontos e vamos apenas analisar ou fazer algumas manipulações, mas é claro que ainda podemos criar esses bancos com os comandos CRUD.
Só que até esse momento não nos preocupamos com a etapa que vem antes da utilização desses bancos.
Essa é a etapa de Modelagem de Bancos de Dados, pois é através dela que vamos definir quais as informações serão armazenadas dentro das tabelas e como serão feitas as relações entre elas.
Um modelo de dados é uma descrição formal da estrutura de um banco de dados. Podemos dividi-lo em três modelos: Modelo Conceitual, Modelo Lógico e Modelo Físico.
Agora vamos entender um pouco de cada um desses modelos para que fique mais claro como é feita essa construção.
Aqui estamos apenas representando uma informação, que nesse caso é uma pessoa, então podemos utilizar tanto as informações de nome quanto CPF para representá-la.
Já no modelo lógico nós vamos “traduzir” essas informações para uma tabela, da forma que já estamos acostumados a visualizar as informações.
Então em cada linha nós vamos ter um registro, ou seja, cada linha vai representar uma pessoa.
Além disso a coluna de CPF é uma coluna identificadora, por isso está sublinhada. Isso quer dizer que é a partir dessa informação que vamos obter todas as outras dessa pessoa.
Da mesma forma que fazemos com um produto em uma base de vendas ou estoque, a partir do ID do produto é que conseguimos trazer o custo, quantidade, valor de venda.
Por fim, temos o modelo físico, que é pegar todo esse planejamento e transformar em um código SQL para de fato criar esse banco de dados.
Essa parte de modelagem de dados é importante, pois é nessa parte que vamos verificar quais as informações vamos precisar dentro do banco de dados, quais informações vamos ter para cada “pessoa” ou “item”.
Como essas informações se relacionam, se vamos ter mais tabelas para facilitar a visualização dos dados… Tudo isso é importante para que a pessoa que receba o banco de dados tenha todas as informações para trabalhar e saiba o que cada uma delas representa!
Agora eu vou te mostrar as 8 Etapas para Modelagem De Dados.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Nessa aula eu quero te mostrar as 8 etapas que devem ser seguidas para que você consiga modelar um banco de dados de forma eficiente.
Ter um banco de dados organizado é extremamente importante para as empresas! Para conseguir fazer isso corretamente temos o que chamamos de modelagem de dados.
Vamos falar um pouco sobre cada uma dessas etapas delas?
Podemos começar dizendo que um banco de dados é feito para resolver um problema.
Por este motivo você vai precisar entender qual a natureza dos dados e como eles se conectam.
Se você é do setor financeiro em uma empresa você terá que saber o que é importante modelar dentro daquele sistema.
Em uma faculdade, por exemplo:
O que é importante você modelar dentro do sistema para que a universidade tire o maior proveito desse banco de dados?
Você terá que se informar com o responsável pelo projeto, fazer perguntas, saber o que é importante para ele.
Depois disso, começar a fazer a criação do modelo entidade relacionamento.
O que são entidades?
Entidades são elementos que são importantes dentro da realidade que nós vamos modelar.
Por exemplo:
Quais são os elementos importantes para você modelar em um banco de dados de uma faculdade?
Nesse caso são os alunos, professores, os diretores, etc.
Cada uma dessas entidades terá uma série de características.
O que são características de uma entidade?
No caso dos professores será seu departamento, curso, matrícula, nome, contrato, etc.
No caso dos alunos será o nome, matricula, curso, etc.
É no MER que nós iremos identificar essas entidades, atributos e relacionamentos.
Temos que identificar quais são os relacionamentos entre essas diferentes entidades.
O relacionamento entre a entidade PROFESSOR e a entidade ALUNO, por exemplo, é que o “professor ministra aula” para o aluno.
Definido as nossas entidades, características e relacionamentos temos que colocá-los em um diagrama simples de ser compreendido.
A isso, damos o nome de DER (diagrama entidade relacionamento).
O quarto passo é a cardinalidade, temos que definir quais são as cardinalidades entre esses elementos.
O que são cardinalidades?
Vamos exemplificar usando o professor e o aluno. De que forma eles se relacionam?
O professor pode dar aula para um aluno ou ele pode dar aula para mais de um aluno, da mesma forma o aluno pode ter aula com um ou mais professores.
Então a cardinalidade vai definir a maneira como as entidades se relacionam, temos várias formas de cardinalidade, um para um, “n” para um, “n” para “n”, etc.
A quinta parte é definir o modelo lógico a partir do MER e do DER.
Quais são as tabelas que nós vamos ter dentro do nosso banco de dados?
Cada uma das nossas entidades vai dar origem as nossas tabelas e cada atributo vai dar origem as nossas colunas dentro da tabela. Por exemplo:
A entidade professor vai dar origem a tabela professor, os seus atributos vão dar origem às colunas, que podem ser seu ID, sua matrícula, departamento, etc.
O processo de normalização é aplicar uma série de verificações nas tabelas para garantir que elas atendem a certos requisitos.
Daí vem a ideia de formas normais. Primeira forma normal, segunda forma normal, terceira, quarta e assim sucessivamente.
Tudo isso para garantir que essas tabelas estarão bem estruturadas!
Feito isso, podemos ir para o sétimo passo, desenvolver o dicionário de dados.
O dicionário de dados vai ser um documento onde vamos registrar toda a lógica usada para a criação daquele banco de dados.
Qual foi a lógica por trás de criar as entidades, os atributos, os relacionamentos e as restrições?
Por que motivo criamos a coluna ou a tabela?
É basicamente uma forma de documentar o nosso projeto para ser fácil dentro de alguns meses ou anos fazer a manutenção dessa tabela e manter a gestão do conhecimento.
Agora é o momento de pegar todas as informações e tabelas que tratamos até aqui e implementar dentro de um sistema de banco de dados.
Por meio da linguagem SQL vamos organizar as nossas tabelas dentro do sistema e iniciar uma série de testes cujo objetivo é garantir que tudo está funcionando perfeitamente.
Eventualmente, por meio desses testes vamos conseguir observar se alguma coisa importante foi deixada de lado.
Verificar possíveis problemas e as correções necessárias para garantir que o sistema foi bem modelado.
TRABALHO CÍCLICO!
Após terminar é importante voltar todo ciclo e rever cada etapa, garantir que não esquecemos nenhuma entidade, atributo, relacionamento, nenhum processo de normalização das tabelas ou cardinalidades.
Este é um trabalho cíclico!
É muito importante ter esse entendimento, saber que quando chegar na última etapa você deve voltar a primeira etapa e refazê-las.
Garantir que todo trabalho está realmente bem feito.
É muito comum nessa verificação perceber várias oportunidades de melhoria.
Agora vamos entender os conceitos básicos de modelagem de dados aplicados a um banco de dados real, utilizando como exemplo o dataset EMPLOYEE.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Nesta aula, vou te mostrar alguns conceitos de modelagem de dados aplicados ao banco de dados EMPLOYEE.
Isso é extremamente importante para que você entenda como relacionar tabelas dentro de um banco de dados, garantindo que o faça da maneira correta, o que auxiliará na melhoria de suas análises.
Esses conceitos podem ser aplicados a qualquer banco de dados. No entanto, caso queira acompanhar com o dataset EMPLOYEE, veja primeiro esta aula, onde ensino como baixar e importar esse banco de dados para o MySQL:
Como Importar o Banco de Dados EMPLOYEE para MySQL
Para visualizar as informações desse banco de dados, podemos realizar um comando SELECT na tabela employee.
SELECT * FROM employee;
Para otimizar o tempo da consulta, já que o objetivo é apenas conhecer o banco de dados, podemos utilizar o comando LIMIT, que restringe a quantidade de linhas retornadas e otimiza a visualização dos dados.
Como já vimos, uma entidade pode ser definida como qualquer objeto ou elemento que queremos armazenar em um banco de dados. No caso do dataset EMPLOYEE, as entidades incluem funcionários, departamentos, cargos, entre outros.
Cada entidade possui características próprias, que se transformam em colunas dentro da tabela no banco de dados.
Por exemplo, a entidade Funcionário representa todos os trabalhadores da empresa e possui atributos como número do funcionário, data de nascimento, nome, gênero e data de contratação.
Os relacionamentos definem como as entidades se conectam. Em um banco de dados relacional, as tabelas podem se relacionar de várias formas.
No dataset EMPLOYEE, por exemplo, a tabela de funcionários (employee) se relaciona com a tabela de departamentos (department), indicando em qual departamento um funcionário trabalha.
Esses relacionamentos são representados por diagramas de entidade-relacionamento.
O diagrama de entidade-relacionamento é uma representação visual que ajuda a entender como as entidades, atributos e relacionamentos se organizam no banco de dados.
Vamos criar nosso modelo no MySQL para que você possa visualizar esse diagrama.
Com o MySQL Workbench aberto, clique no ícone de “casinha” no canto superior para retornar à página inicial.
Acesse a guia de Modelo, clicando no ícone de retângulo com linhas conectadas, e selecione a opção Create EER Model from Database.
Na janela que será aberta, clique em Next, selecione o banco de dados EMPLOYEE e clique em Next novamente até chegar à última etapa.
Com isso, o diagrama será exibido, mostrando as tabelas como retângulos, cada uma com suas colunas e chaves representadas por ícones específicos.
Cada retângulo com o nome da tabela representa uma entidade, como title, employee, salary, department, dept_manager e dept_emp. Dentro de cada entidade, temos a lista de atributos, ou seja, as colunas presentes nas tabelas.
Por fim, temos os relacionamentos, representados por linhas que conectam as tabelas. Por exemplo, a tabela employee (funcionários) se conecta à tabela department (departamentos).
O diagrama visualiza como as entidades e os relacionamentos entre as tabelas estão organizados, permitindo entender como elas estão conectadas.
As entidades geram tabelas, os atributos formam as colunas dessas tabelas, e os relacionamentos definem como essas tabelas interagem entre si.
As chaves são elementos fundamentais em um banco de dados relacional. São elas que identificam e criam os relacionamentos entre as tabelas.
A chave primária é o identificador único para cada registro de uma tabela. Já a chave estrangeira é usada para criar o relacionamento entre duas tabelas.
Por exemplo, na tabela de funcionários (employee), a chave primária é o número do funcionário (emp_no). Já na tabela de salários (salary), a chave estrangeira também é o número do funcionário, conectando essa tabela à tabela de funcionários.
Isso nos permite verificar e conectar informações entre as tabelas. Ou seja, através dessa coluna em comum, podemos determinar o salário de cada funcionário, mesmo que os dados estejam em tabelas diferentes.
No diagrama, podemos visualizar as chaves primárias pelo ícone de chave amarela ao lado do nome da coluna, enquanto a chave estrangeira é identificada pelo ícone de chave laranja.
Além disso, ao posicionar o mouse sobre a linha de relacionamento entre as tabelas, o MySQL destacará quais colunas são responsáveis por esse relacionamento.
Nessa aula eu te dei uma breve introdução a modelagem de dados, como funciona e qual a importância dessa etapa.
Até porque na grande parte dos casos, você já vai receber o banco de dados já pronto para utilizar e fazer suas análises, mas é muito importante o processo de construção desse banco.
Só que é possível que você tenha que criar um banco de dados, então é importante que faça isso da maneira correta para não ter problemas.
Por isso eu te mostrei as 8 etapas para modelagem de dados, dessa forma você vai conseguir construir o seu banco de dados quando precisar e vai fazer isso de forma eficiente.
Além disso, compreender conceitos como entidades, atributos, relacionamentos, além do papel das chaves primárias e chaves estrangeiras, é crucial para garantir que os dados estejam organizados e relacionados corretamente.
Para acessar outras publicações de SQL, clique aqui!
Posts mais recentes de SQL
Posts mais recentes da Hashtag Treinamentos
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.