modelagem de dados é um dos temas mais importantes quando se trata de desenvolvimento de software por outro lado pode ser um assunto um pouco mais complicado de se entender principalmente para aqueles que estão começando em sua jornada de ti ter um banco de dados bem estruturado e organizado é base para qualquer aplicativo de sucesso e esse vídeo aqui é praticamente um curso de modelagem de dados 100% gratuito onde você vai aprender os fundamentos e conceitos principais de modelagem de dados e a metodologia para modelar o seu banco de dados passo a passo além de toda
a teoria repassada a gente vai fazer passo a passo A modelagem de dados de um projeto do mundo real e olha só essa aula de modelagem de dados é exatamente o conteúdo eu queria ter aprendido a quando eu tava iniciando Então assiste esse conteúdo com calma no início a fim que você vai aprender muito sobre modelar de dados esse desafio e muito prazer em te conhecer eu me chamo Matheus castelo e faço parte né não code Startup aqui ensinamos a criar aplicativos lucrativos sem precisar programar e já se inscreve no canal se você se por
conteúdo de muita qualidade sobre o mundo de tecnologia e sem mais enrolação bora começar esse conteúdo Então vamos lá quais vão ser os tópicos que você vai estar aprendendo durante esse curso aqui de modelagem de dados primeiro a gente vai ver tudo sobre os fundamentos e dados de SQL e no SQL de banco de dados relacionais e bancos de dados não Racionais depois a gente vai fazer a modelagem de um banco na prática a gente vai passar pelo modelo conceitual lógico e pelo físico tá Fica tranquilo que vai ser bem fácil a gente vai fazer
tudo passo a passo depois que a modelagem já estiver pronta a gente vai construir o nosso banco de dados a ferramenta Bubble e vamos criar um aplicativo a partir da modelagem esse banco de dados também vai ser muito fácil então fica comigo até o final e você vai se impressionar com o resultado se você quiser fazer o download dessa apresentação aqui em PDF é só ir no link abaixo aqui na descrição do vídeo Quais são os conceitos mais importantes que você vai aprender necessariamente como eu falei a gente vai ver tudo dos fundamentos de banco
de dados relacionais e não-lacionais a gente também vai fazer a modelagem do zero passo a passo vamos entender o que que é o modelo conceitual como que faz o entendimento do negócio para criar as relações dos dados vamos entender também o que que é um modelo lógico para construção dos esquemas e o desenho da modelagem de dados e também vamos fazer modelo físico que é passar tudo que a gente construiu tudo que a gente desenhou para um aplicativo Real para um sistema de banco de dados real Então bora começar com os fundamentos de banco de
dados e eu acho que tá claro para todo mundo que hoje muita gente fala que o novo petróleo a nova riqueza mundial são as grandes empresas e possuem dados porque com isso elas têm muito poder e elas conseguem tomar as ações estratégicas para crescer ainda mais os seus negócios veja aí grandes empresas como a Amazon a Microsoft Google Facebook Instagram todas são grandes empresas que trabalham com uma grande quantidade de armazenamento de dados e manipulação desses dados para transformar em formação e qualquer tipo de negócio vai ser armazenado em dados e só para você ter
uma ideia sobre o volume de dados no YouTube e um dia 5 bilhões de vídeos são assistidos todos os dias e no Instagram 95 milhões de fotos e vídeos são postadas todos os dias então esses São só alguns exemplos gigantes como YouTube e o Instagram e todos os dias um grande volume de dados é transacionado em grandes empresas como essas Mas vamos conversar dos conceitos iniciais bom o que que é um dado uma definição que temos de dado é um valor em sua forma individual a diferença fica mais clara quando a gente pensa em banco
de dados que vão ser esses valores individuais relacionados entre si como é fácil aí eu trouxe um exemplo aqui de uma tabela criada numa planilha e todo mundo conhece né e fica bem didático para explicar em uma tabela uma planilha por exemplo a gente tem as linhas ou seis registros então cada linha vai ser um registro temos as colunas né que são os campos aqui da nossa tabela nós temos os nomes dos Campos que são os nomes das colunas e temos o valor tempo né então por exemplo aqui eu trouxe uma tabela dos cursos que
a gente tem nanokut Startup de um ponto importante aqui em banco de dados a gente tem que sempre tem um campo que vai ser um ID que vai ser vai ser um valor único para identificar aquele registro é um padrão para todo banco de dados tá se você não faz isso na sua planilha é bom também ter uma idéia para sua planilha é que eu tenho nome do curso a carga horária cada dado aqui vai ter um tipo né Por exemplo Ah que vai ser um tipo de texto aqui vai ser um tipo de data
que é um tipo de número um valor então a gente sempre vai trabalhar com diferentes tipos de dados e numa tabela então um dado seria um valor único e um banco de dados seria os valores de dados organizados entre si e a gente tem o último conceito importante que a informação o que que é informação são em sites importantes que a gente tira a parte de um banco de dados então por exemplo vamos supor que a gente quer fazer a pergunta ah Quantos cursos Venderam no mês Quais são os melhores meses do ano para venda
de curso a gente vai precisar pegar uma quantidade e analisar e fazer consultas desse banco e consultas em bancos de dados a gente chama de Kery que é consulta em inglês eu quando a gente faz mccury a gente está fazendo uma consulta para trazer alguma informação importante do banco de dados agora que a gente já entendeu conceitos importantes e um exemplo aqui de planilha eu quero dar uma sugestão Na verdade uma boa prática a gente nunca vai usar planilhas para organizar bancos de dados estruturados por quê tem alguns tópicos importantes eu sugiro você não usar
planilha para estrutura de banco de dados primeiro tópica padronização de acesso nas planilhas é um pouco difícil a gente conseguir padronizar e que vai ter acesso ao que vai ser o tipo de acesso e também edições no banco de dados em conjunto tem várias pessoas interagindo com dado e com um pouco difícil da gente controlar isso em planilhas E além disso tem a questão de segurança é claro que a gente consegue bloquear planilha a gente consegue dar acesso para outras pessoas mas as planilhas do Excel o Google cheats elas não são seguras como bancos de
dados estruturados que depois a gente vai dar uma olhada nos sistemas que são só para isso garantem uma segurança aí para a gente conseguir também fazer uma auto escalabilidade e lembrando né os bancos de dados do nosso negócio eles podem ter informações sensíveis que não podem ser acessadas protozoários também tem que estar seguras para táxibernéticos aí no nosso Banco por isso é um outro motivo que planilha não é indicado Além disso temos o ponto de integridade das informações então nas planilhas por mais que a gente formate as colunas dos Campos é difícil te garantir que
aquele Campo vai ter o tipo que a gente precisa por exemplo se eu tenho um campo com data e eu vou lá e coloca um texto um valor às vezes para ele pode permitir e bancos de dados estruturados se não acontece se aquele campo é do tipo texto nunca vai aceitar outro tipo de valor se aquele que tipo data não vai aceitar valores numéricos então a gente consegue ter uma melhor integridade das informações e o último ponto é performance E escalabilidade então em planilhas por mais que a gente consiga ter vários registros né eu trabalhei
com planilhas aí de quase 1 milhão de linhas O problema é que começa a tra E aí você não consegue escalar E você tem um Excel uma planilha ali com muita informação também ela trava você não consegue abrir em banco de dados isso é bem diferente a gente consegue escalar nosso negócio escalar os registros de forma que a gente mantenha uma performance aí do gerenciamento do banco então as planilhas elas são excelentes para a gente fazer muitos tipos de trabalhos aí para gerenciar alguns pequenos conjuntos de dados mas para trabalhar com padronização de acesso com
segurança escalabilidade em nossos aplicativos ou sistemas a gente vai ter que usar outra tecnologia que são os sistemas de gerenciamento de banco de dados ou conhecidos como sgbd esses sistemas são responsáveis por toda a criação e manipulação e gestão do seu banco de dados e ele vai garantir todos aqueles pontos e que as planilhas não garantiam para a gente e para a gente conseguir se comunicar com esse banco fazer consultas criar tabelas a gente usa o SQL ou no SQL que são as formas que a gente manipular os dados em um sistema de gerenciamento de
banco de dados e vamos entender primeiro o que que são os bancos de dados os relacionais e o que que seria SQL mais a fundo Então vamos supor que a gente tem duas tabelas aqui a tabela vendas e a tabela cursos então aqui eu tenho meu ID da venda Eu tenho minha data de compra eu tenho uma valor da compra é uma tabela de curso eu tenho informações sobre os cursos Então eu tenho curso aqui que a gente tem lá no curso Startup de proteção ele é carga horária desse curso uma tabela diferentes nessas tabelas
como eu tinha falado nós temos o ID esses aí diz a gente vai chamar de chave primária de cada tabela que vão ser primer Quiz ou PK E como eu tinha explicado isso vai identificar as informações de uma forma única que a gente conseguir aquela informação e ela nunca tá igual a outro tipo de exercício da tabela e em banco de dados relacionais a gente consegue relacionar as tabelas entre si então aqui nessa tabela a gente tá vendo que é de curso tá relacionando com a tabela curso porque em cada venda eu vou ter um
curso para venda a gente vai ter outra chave que vai ser a chave estrangeira ou fora em que a gente chama também de FK logo o é de curso vai ser uma chave estrangeira que vai conectar a tabela curso Então aqui eu vou saber exatamente qual venda teve para qual curso sem precisar juntar as tabelas e nos bancos de dados a gente busca não trabalhar com tabelas muito grandes e que se repitam ou que tenham valores nulos para deixar banco de dados estruturados e normalizado a gente trabalha com informações únicas e sem valores nulos Porque
isso pode ser um problema pra gente na hora de fazer consultas ou trabalhar com performance no banco de dados Então dessa forma a gente divide as tabelas se consegue conectar elas por meio das chaves primárias e das chaves estrangeiras é claro e uma outra forma da gente desenhar esse tipo de tabela é com os diagramas de entidade e relacionamento Então aqui estão as mesmas tabelas que eu fiz lá naquele modelo de Excel Mas a gente pode ver que são entidades de venda e curso e aqui eu tenho as colunas né os campos Então tinha a
venda de em a coluna do campo curso aí de E aí ele tá conectado aqui ó concurso aí de temos falando que a nossa venda aí de é Nossa Chaves primária e o nosso curso é de é Nossa chave estrangeira e tá lá conectado com a tabela de curso e tem os outros tipos de Campos e os outros tipos também de dados aqui mas pode ficar tranquilo que depois eu vou explicar como é que funciona e como a gente vai desenhar isso passo a passo por enquanto a gente pode continuar E aí a partir desse
modelo de banco de dados do diagrama a gente consegue fazer aqueles desenhos completos do planeamento banco de dados da modelagem não sei se você já chegou a ver mas a gente consegue criar as nossas várias aqui ó tabelas com nossos Campos E como que elas vão se relacionar entre si isso que a gente vai fazer durante esse curso aqui de modelagem de dados isso vai te ajudar nos seus projetos futuros e no planejamento do seu banco de dados do seu projeto E aí muito importante Quais são os sistemas de gerenciamento de banco de dados que
a gente tem sendo formato de banco de dados relacionais e utilize mais ql a gente tem muito famoso mais Kelly a orku o post grier e muitos outros tipos de sistemas e vão garantir todos aqueles pontos que o havia mencionado que o Excel não garante um que eu coloquei aqui que eu acho bem interessante é o super base é um back end essa service que a gente fala que é um Bass ou seja além de prover a estrutura do banco de dados tudo isso e por exemplo postigli faz ele provê outras ferramentas como forma de
autenticação armazenamento de arquivos e também a gente vai ver mais para frente e banco de dados super base é o postigli que vai ter lá por trás e para sistemas de gerenciamento de banco de dados como eu falei a gente vai usar o SQL SQL significa linguagem de dados padrão para trabalhar com banco de dados e fazer quares que as consultas vamos supor que a gente tem uma tabela né uma tabela de produtos aqui canetas notebooks pagamento e a gente quer fazer uma consulta como que a gente se cuidados é a partir do SQL então
a gente pode fazer consultas como por exemplo aqui a gente fala para selecionar sempre vai ter o select Star quer dizer que está selecionando todos os campos da tabela notas fiscais que essa tabela aqui a gente pode colocar um filtro como por exemplo Hair onde o valor for apenas maior que 1000 né a gente só tem notebook e Macbook então aqui select selecionar todos é d né Qual a origem eles são todos de notas fiscais onde o valor for maior que 1000 Olha que fase E aí Traz a tabela filtrada onde apenas tem os valores
maior que 1000 É claro que dá para fazer consultas mais complexas a gente pode criar tabelas a gente pode juntar tabelas uma com as outras mas por enquanto é interessante você saber o que que é SQL e para que que a gente vai usar que vai ser um tópico que a gente vai deixar mais para frente e agora falando sobre os bancos de dados não relacionais e o no SQL no SQL quer dizer not only cycle em um skate vai ser tudo muito flexível pode ter as relações ou não você é poder desenhar e modelar
a estrutura do seu banco de dados de várias maneiras e não esquece a gente tem algumas formas estruturas para organizar os nossos dados a primeira forma a estrutura de coleções e documentos um lixo organiza nossos dados em pastas como se fosse coleções e documentos onde a gente vai conseguir encontrar os nossos dados a gente também consegue estruturar o nosso banco de dados em gráficos chave valor e colunar o tipo de banco de dados que eu queria me aprofundar um pouquinho mais durante esse conteúdo aqui é no modelo de coleções e documentos porque ele é um
modelo muito consistente utilizado por grande sistema gerenciamento de banco de dados e a gente consegue também criar sistemas muito complexo com eles e como é que funciona o modelo de documentos basicamente as tabelas que a gente tem nos bancos de dados elas vão ser coleções como se fosse realmente uma pastinha e as linhas vão ser os documentos nessas pastinhas essas coleções eu vou diferentes documentos Então vai ser mais ou menos essa relação as tabelas coleções e as linhas documentos Mas para ficar um pouquinho mais claro eu separei aqui alguns exemplos vamos supor que a gente
tem aqui a nossa pastinha a nossa coleção cursos entre minha nossa coleção alunos a coleção vendas a coleção professores e aí é que dentro dessa pasta dessa coleção vai ter vários documentos e nesse documento vai ter os dados então aqui por exemplo pode ter o documento do aluno do Mateus Castelo ou documento do aluno Neto documento do aluno Carol então eu vou ter vários documentos e cada documento vai ser um registro olha como é que fica legal esses documentos esses dados eles vão ser organizados dessa forma aqui ó a gente vai ter por exemplo coleção
alunos dentro do aluno você o teu campo é o teu nome né Castelo a idade 29 o e-mail celular e cada documento vai ter essa organização de dados que vai ser sempre um campo um valor essa forma aqui da gente organizar e desenhar os dados é no formato Jason é um formato que fica muito fácil para a gente conseguir ler e também fica fácil para o computador conseguir ler o formato de som é utilizado em muitos tipos de sistemas a gente conseguir ter performance e uma melhor estrutura de dados Então dessa forma a gente vai
ter vários arquivos de som que vai ser fácil a gente conseguir ler e fácil da gente conseguir escalar e um detalhe nós que ele que é muito flexível ou seja em um documento eu posso ter por exemplo celular né do aluno castelo e no outro documento eu posso não ter eu posso ter Campos diferentes em documentos diferentes isso deixa o sistema flexível porque é diferente do SQL tabelas relacionais eu não posso ter Campos vazios eu não posso trabalhar com dados repetidos é que não eles querem é diferente é bem flexível E aí os sistemas de
gerenciamento de banco de dados mais famosos Não esquece a gente tem um longo bebê tem um dos mais usados temos o caute também temos cá Sandra que utiliza no Sky e temos o Fire base tinha falado lá do Sul para base ele é um back end essa service então ele não tem só a parte de gestão do banco de dados por trás mas como também outro serviços né como por exemplo autenticação a tia Analytics uma forma tendente de conseguir salvar arquivos de mídia Como por exemplo o pdf imagens então ele vai ser um baço um
backing de servers Esses são os mais famosos do mercado e por fim para deixar claro qual que são as diferenças do SQL e dono SQL a gente tem em banco de dados relacional né Não esquece esquemas aí bem definidos organizados e bem rígido e tem uma estrutura assim muito consistente ele é mais focado em relações entre tabelas então ele sempre quer buscar uma informação a gente vai para outra relação na tabela Além disso é bom para isso consultas mais complexas e também muito bom para Jones que é quando a gente quer juntar duas tabelas para
achar algo em comum entre elas e eles querem para grandes projetos ele não é muito bom para escalabilidade ele pode apresentar alguns problemas de performance já e não esquece a gente tem os bancos de dados não relacionais como eu falei ele vai ter um esquema de dados mais flexível em alguns Campos a gente pode ter outros não ele vai permitir relações entre o nossos Campos mas não é o foco no SQL ele não é muito bom para quares mais complexas e também não é muito bom para fazer Jones a gente recomenda assim nunca fazer join
o banco não esql mas por outro lado ele é muito bom para performance o banco de dados vai escalar e você precisa de alta performance por exemplo em projetos de Big Data e que acaba usando Não esquece então não tem o melhor ou pior que o outro entre eles querem e não esquece vai ser apenas diferente e você vai ter que escolher qual que vai ser o melhor do seu projeto esse vídeo aqui o foco vai ser 100% em modelagem de banco de dados SQL Então a gente vai passar por todos os passos modelando uma
quantidade mas até a parte dois desse conteúdo de modalidade de dados onde a gente vai ver toda a metodologia para modelar de dados no SQL e esse vai ser o próximo vídeo aqui do canal então fica bem atento para conectar a modelagens Kelly como modelagem no SQL mas olha que legal olha quanta coisa a gente aprendeu até agora a gente viu todos os conceitos iniciais né os fundamentos que que é um dado que que é o meu cuidados informação a gente viu também porque não usar planilhas para organização de bancos de dados estruturados e porque
usar o sistemas de gerenciamento de banco de dados né é o que a gente viu que por exemplo por Chiquinho Mas eles querem o mais indicados para a gente fazer organização desses dados entendemos o que que são bancos de dados relacionais como que eles funcionam e Lemos também o que são bancos de dados não relacionais as diferenças também do SQL com nós que L né Quais são os pontos positivos e negativos Então agora que está bem afiado no conhecimento bora continuar agora a gente vai passar para a parte de modelagem de banco de dados você
vai entender em detalhes qualquer metodologia para a gente modelar um banco de dados do zero e por que que a gente aplica as técnicas de modelagem de banco de dados primeiro que a gente replicar O que que está acontecendo no mundo real no mundo dos negócios e no sistema que você tá desenvolvendo a gente tem que entender o que que tá acontecendo os dados envolvidos as relações é poder conectar no digital e assim construir um sistema um software e a partir da modelagem de dados feita e dentro do sistema a gente consegue tomar as decisões
estratégicas ou prosseguir para nossa criação no nosso software de uma forma incompleta eu quero te mostrar rapidamente A modelagem final do banco de dados do que a Experience é a minha outra Startup focada no nicho de experiência de turismo Então esse daqui é o banco de dados completo com as relações então a gente consegue ver aqui todos os campos os tipos de Campos aqui uns exemplos Quais são as chaves primárias as chaves estrangeiras e como é que as tabelas aqui elas estão relacionadas né os clientes estão relacionados com as reservas aqui os aqui também as
outras tabelas também que a gente precisa ter e aqui embaixo as experiências Então quais são as relações como dados ele se relacionam entre si para a gente conseguir construir o nosso sistema que no caso foi o ikigai Experience que é uma plataforma que a gente consegue gerenciar as experiências de turismo Esse é um exemplo final de modelagem de banco de dados é interessante ir para o seu aplicativo para o seu software ou a nível de aprendizado você entenda bem os conceitos Gerais a estruturar Seu banco de dados e começar a criar seu aplicativo não saia
criando sem nenhum planejamento sem nenhuma organização porque pode dar muito muito retrabalho lá na frente mas vamos então para metodologia de banco de dados como que a gente faz essa modelagem do banco primeiro a gente vai ter análise de requisitos do sistema Aqui é onde o analista de sistemas vai entender Quais são as necessidades do usuário e o que que ele vai querer fazer com software aí eu vou querer fazer um cadastro ai eu vou querer visualizar tá informação eu vou querer gerenciar essa ação aqui vou também ou também vou ter uma integração com calendário
vou ter uma integração com o Facebook com o Google aqui a gente vai levantar todos os requisitos de sistemas entender exatamente o que o sistema ou software vai fazer e qual que é a solução que ele se propõe essa é uma etapa muito importante que você não deve pular e que também não é o objetivo desse vídeo aqui aqui eu tô considerando que você já vai ter essa etapa de análise de requisitos do sistema feita a poder modelar Seu banco de dados e a gente não pode pular essa etapa porque a gente precisa entender primeiramente
o que que o sistema vai fazer Quais são os usuários envolvidos quais vão ser as relações entre os nossos dados para poder modelar o banco de dados esse conteúdo aqui de modelagem vou dar um exemplo prático mas simples mais didático a gente fazer passo a passo do zero mas a gente não vai a fundo nessa parte de análise de requisitos de sistemas se você quiser um vídeo só sobre isso comenta aqui embaixo a gente pode trazer um conteúdo de qualidade apenas sobre esse tema Então a partir de análise de requisitos do software feita a gente
pode ir para o modelo conceitual que é onde a gente vai ter a visão de alto nível do negócio ou seja Quais são as principais tabelas e como elas vão estar relacionadas entre si vai ser um esboço geral por exemplo aqui ó vai ter a tabela aluno que vai estar no quadradinho e vão ter os campos né Quais são os campos quais vão ser as informações que a gente vai precisar desse aluno né Por exemplo e-mail do aluno o nome do aluno e o ID também desse dessa tabela o modelo conceito ao pronto a gente
pode ir para o modelo Lógico que o detalhamento das entidades dos atributos do relacionamento que você já vai entender um pouco mais mas é aqui que a gente vai conseguir fazer aquele desenho dos esquemas ele bem detalhado de mais atributos vão ter esses esquemas E como eles vão estar relacionados entre si e a gente vai fazer essa parte passo a passo aqui dentro desse vídeo depois que a gente tem um desenho final com todas as tabelas tudo entre conectado a gente pode ir para o modelo físico é onde a gente vai criar o nosso banco
de dados ou algum daqueles sistemas selecionados né Por exemplo Poxa higiene Rio uma mais que é ele e daí a gente vai usar o SQL para criar essas tabelas e fazer a conexão entre elas que nessa anotação de SQL eu tô criando aqui os meus Campos né um campo vadio um campo nome do aluno e-mail e definindo qual que vai ser a chave primária Então vamos lá vamos começar do zero e fazer um modelo conceitual da concepção geral do negócio e para isso a gente vai usar o exemplo aqui da noucode Startup nós nanocouts Startup
trabalhamos com conhecimento nós temos algumas formações e nosso site para você e quer construir um aplicativo um software sem saber programar e uma das formações que a gente tem hoje por exemplo a formação fluterflow Onde você consegue criar aplicativos aí seja para web para celular e precisar e passar anos aprendendo linguagem de programação Então nesse exemplo eu descrevi qual que seriam os requisitos negócios aí de uma forma super simplificada né no Coach Startup oferece capacitações do monoconte ensinando a criar aplicativo sem programar os alunos podem comprar variar os cursos para aprender a criar aplicativos sem
código monetizar seu negócio professores são sucesso Neto e Mateus Castelo então aqui a gente já começa a entender o que vai ter um negócio para modelar nossos dados E aí nessa etapa inicial do modelo conceitual a gente vai fazer o quê A gente vai definir as entidades que eu já vou explicar como definir os atributos definir os e construir um modelo conceitual final que é um diagrama de entidade relacionamento um pouco mais simples e como é que vai ficar esse diagrama que eu só para mostrar a gente vai ter as entidades aqui que os alunos
vão ter exemplo curso venda e como que os alunos vão se relacionar com os cursos Isso vai ser a cardinalidade e para o aluno e para o curso a gente vai ter os atributos Vamos definir tudo esses conceitos e para explicar melhor vamos um por um para você entender 100%, o que que seria as entidades as entidades são os conceitos gerais do negócio que tinha precisa ter para armazenar informações Eu por exemplo aqui nesse exemplo a gente vai ter a entidade aluno a entidade curso entidade professores e vendas exemplo aqui é bem mais simples então
eu organizei apenas essas quatro atividades que basicamente são as tabelas que a gente vai ter na nossa modelagem de dados depois que você mapeia as entidades você tem que mapear Quais são os atributos os atributos nada mais são que os campos as colunas que a gente vai ter nessas tabelas né Por que eu coloquei algumas informações aqui vai ter os alunos vai ter o aluno aí dia o curso aí de lembra da Chaves primárias toda tabela tem que ter uma chave primária para identificar ela uma chave única E aí vai ter o nome do aluno
vai ter o e-mail do aluno nome do curso carga horária então cada tabela vai ter seus Campos Novos atributos agora que a gente definiu os atributos as entidades a gente pode definir Quais são os relacionamentos Então como que as tabelas vão se relacionar entre si e quais são os tipos de relacionamento parte bem importante primeiro a gente tem relacionamentos um para um ou seja aqui ó nesse meu exemplo a gente tem os professores e os cursos os professores só pode ter um curso cada Então eu só tenho curso de flutterflow e o Celso Neto eu
tenho curso de Bubble então cada um só tem um curso e um curso só pode ter um professor então no caso lá no curso Startup não tem mais de um professor é o mesmo curso Então essa é uma relação para um Olha que simples um professor possui apenas um curso tem apenas um professor beleza tá claro né E temos a relação um para n aqui a gente tem cursos e temos as vendas então um curso pode ter várias vendas mas toda vez que tem uma venda a pessoa não pode comprar dois cursos na mesma venda
é uma venda só tem um curso Então aqui o mesmo curso Ele pode ter várias vendas né pode ter várias compras nesse curso mas é uma venda por curso é um curso tem várias compras e uma venda por curso é uma relação um para n ou um para muito e por fim a gente tem relação muitos para muitos né Ele para Ele vamos supor alunos um aluno pode comprar e pode adquirir vários cursos e um curso tem vários alunos e tem uma relação ele para ele uma relação muitos para muitos fiquei bem claro esse tipo
de relações aqui na modelagem de banco de dados porque a gente vai estar usando para sempre vamos estar sempre nos perguntando qual que é a relação entre as entidades e a partir dessas relações a gente pode tomar alguma ação por exemplo aqui na relação um para um é sempre se um professor tem um curso e o curso tem um professor a gente pode juntar as tabelas porque os campos eles não vão se repetir a gente vai precisar ficar conectando nesse caso eu vou manter separado porque talvez lá no futuro vai ter mais de um professor
para um curso isso pode mudar mas você poderia juntar as tabelas quando tem esse tipo de relações a gente tem uma relação um para n aqui nos campos a gente vai ter uma chave estrangeira lembra que a gente conecta as duas tabelas por uma chave estrangeiras então o lado n a receber a chave estrangeira do lado do curso depois vai ficar um pouco mais caro quando a gente desenhar Nosso Banco de dado e nessa relação de n para n a gente geralmente vai ter uma nova tabela que vai ser uma tabela aqui de conexão uma
tabela auxiliar Então nesse caso se vários alunos tem vários cursos e vários cursos tem vários alunos a gente pode ter uma tabela de alunos cursos uma tabela enche-me vendas né que mostre as vendas desses alunos né E vai ser tabelas pra conectar esses muitos para muitos e também esse exemplo vai ficar claro quando a gente desenhar lá passo a passo o nosso banco de dados mas para um exemplo diferente aqui do mundo real né Um Desafio eu quero que você faça as relações de uma imobiliária ou seja tem um locador eu coloquei as entidades aqui
né em um locador lá de corretora identidade móvel identidade locatário não precisa fazer os tributos eu só quero que você faça Quais são as relações entre eles ou seja um indicador como se relaciona com uma corretora locadora como se relaciona com imóvel um para um para ele algo esse vídeo Pega um papel uma caneta e faz as relações igual assim você vai conseguir entender a prática depois volta aqui dá o play que a gente vai ver o resultado E aí já pausou então vamos lá o modelo final né que é o diagrama de entidade de
relacionamento eu deixei aqui separado os quatro já tinha dado até a dica né de uma forma de fazer essa relação é claro que tem várias formas diferentes mas vamos começar a locadora imóvel uma relação um para ele ou seja um educador é o proprietário né quem tem um imóvel ele pode ter vários Imóveis mas no meu caso aqui um imóvel tem um indicador é claro que tem que pode ter várias proprietários por imóvel mas eu tô simplificando tá é um locador tem vários Imóveis mas o imóvel tem apenas um locador um proprietário e locador e
a corretora mobiliária é um pode ser uma relação ene para n na hora que ele vai compactar eu posso chamar várias imobiliárias várias corretoras para divulgar o meu imóvel divulgar o imóvel que eu tenho né então eu posso ter várias corretoras Além disso as corretoras tem vários e vários locatários e proprietários não pode ser uma relação ele para ele em relação a Imobiliária e o locatário a corretora Vai gerir um trato desse locatário Então ela também pode ter vários locatários Mas a partir do momento que eu sou um locatário Eu Tô logando no lugar eu
vou estar alugando só com apenas uma imobiliária é uma relação apenas de um locatário é uma corretora mas uma corretora tem vários locatários mas acho que tá claro né e por fim temos locatário imóvel Então locatória vai alugar um imóvel a gente tem uma relação um imóvel pode ter vários locatários Diferentes né quando você aluga uma casa um apartamento com amigos você pode ter várias locatários pelo mesmo imóvel mas geralmente você vai estar morando em um só lugar você não vai ter vários Imóveis que tá alugando nessa situação aqui é uma relação de n para
um é claro que é um exemplo a gente vai ter tecido ficar e dependendo do modelo de banco de dados com certeza pode ficar mais complexo aí mais detalhado Espero que você tenha entendido e tenha feito toda essa relação vamos entender Quais são as relações agora do meu exemplo dos alunos dos cursos Startup Então como que eu fiz esse meu diagrama de entidade de relacionamento alunos e vendas como que ele se relacionam um aluno pode ter várias vendas tranquilo não pode comprar várias vezes né mas vai ser sempre uma venda por aluno tá então você
tem dois alunos que querem comprar vai ter que ser uma compra por vez é uma relação para um feito isso a gente tem relação de vendas e cursos que vai ser um para ele também então um curso pode ter várias vendas né do mesmo curso mas cada vez que faz uma compra uma venda vai ser um curso só não pode comprar dois cursos ao mesmo tempo essa seria a forma que eu desenhei aqui e os alunos os cursos é uma relação n para n ou seja um aluno pode ter muitos cursos em um curso pode
ter muitos alunos então acaba sendo uma relação muitos para muito e por fim temos cursos e professores eu vou manter em um para um ou seja um curso tem apenas um professor e um professor dá apenas um curso né no curso agora a gente fez um modelo conceito ao final que seria esboço geral sabemos as nossas entidades nossos atributos e nossos relacionamentos para prosseguir para a próxima etapa agora que a gente já sabe o esboço Geral do nosso negócio das entidades os relacionamentos a gente pode começar a detalhar isso em um passo um pouquinho mais
a fundo como fazer execução passo a passo do modelo lógico e tapa um considere oferta ele é Nossa metodologia poder conceitual feito e agora um modelo lógico aqui a gente vai ter a normalização das tabelas detalhamento dos atributos e dos relacionamentos e construir um modelo lógico final Então bora começar temos a normalização das tabelas que que seria a normalização é quando a gente otimiza a nossas tabelas a gente realiza otimizações para reduzir redundâncias duplicações inconsistências nossos dados uma das etapas aí mais importante na consistência nos dados que a gente tem que fazer com calma para
deixar nosso banco de dados organizado aí com alta performance eu vou entender passo a passo como que funciona a normalização de dados para isso ele também vai seguir algumas ações a gente vai normalizar as nossas tabelas primeira coisa que a gente faz é normalizar tabelas de acordo com a primeira forma normal depois a gente vai para segunda forma normal nf2 e a partir daí a terceira forma normal tudo isso são passos para a gente deixar os dados bem estruturados e organizados e também nf4 nf5 mas a gente não vai entrar em detalhes assim esse é
um conceito bem importante que eu quero te mostrar na prática para você nunca mais esquecer e sempre deixar isso os dados muito bem organizados e consistente e o que que diz a primeira forma normal nf1 diz que a tabela deve possuir atributos únicos ou seja não pode possuir atributos multi valorados vamos analisar Nossa tabela aqui ó tá eu tenho o nome do aluno tem o CPF e aí tem o endereço só que o endereço tem cara muito informação aqui banco de dados a gente tem que ter um valor para cada Campo a gente não pode
ter vários valores dentro do campo é isso que a primeira forma normal disso você não pode ter um atributo multi valorar tem que ser o único e aqui a gente vê que aqui temos um atributo composto como que a gente pode fazer para resolver isso Pensa aí pensou forma fácil da gente resolver isso é a gente criar outros Campos e dividir nossas informações para ter atributos aí únicos a cada cama então aqui no endereço ao invés de ter todo endereço junto a gente vai ter o endereço aqui Rua vai ter o número bairro e cidade
né a gente vai dividir bater tributo sair únicos a gente ficou claro né agora a nossa tabela Tá ok aqui não quem é que viu ali o telefone o telefone é um atributo multi valorado e como que a gente pode fazer para resolver isso em vários telefones né E aqui e aqui pode ocorrer vários problemas no banco de dados e depois o Mateus ele tem dois telefones mas é o neto tem um telefone vazio aqui o segundo telefone a gente pode fazer Será que a gente poderia colocar a mesma coisa que a gente fez aqui
pro endereço colocar um campo de telefone um depois de um campo de telefone 2 iPhone 3 Essa não é a melhor forma porque primeiro porque Vai juntar um monte de que eu tô vazio nem sempre as pessoas vão ter telefone dois telefone três isso pode causar inconsistência numa cuidado a gente nunca trabalha com dados vazios E se a gente cresce outro Campo a gente poderia repetir os dados aqui que a gente não quer então a gente não quer criar um outro campo para não ter esses dados vazios e nem para também ter chance de algum
dado ficar repetindo a gente quer a nossa uma cuidado muito consistente como que a gente faz isso a gente vai criar outra tabela que a tabela de alunos telefones onde a gente vai ter como que cada aluno se relaciona com outro fone é por exemplo aqui o aluno um Mateus ele tem dois telefones então vai ter duas linhas para ele o aluno 2 tem um telefone só prometeu uma linha só e dessa forma a gente consegue conectar a tabela uma outra sem precisar ficar repetindo o dado ou trabalhando com dados vazios então separando dessa forma
Nossa tabela foi consistente e agora sim a gente consegue seguir a primeira forma normal a gente tem a tabela com atributos únicos e não são multi valorados Olha que fácil é F1 né ficou bem tranquilo vamos para nf2 e que ela fala os atributos não chavem dependem apenas da chave primária e também tem que seguir a F1 né então é um pré-requisito e que fala aqui ó tributos não chave e que são atributos Chaves são esses né tem a chave primária e a chave estrangeira e são os atributos Chaves certo esse todos os atributos são
atributos não Chaves esses quatro aqui né o que ele fala esses que são os não chaves eles dependem apenas da chave primária a chave primária é de da vida certo vamos lá datas da compra depende apenas da chave primária em tudo certo valor da compra depende apenas da chave primária Sim tudo certo urso depende apenas da chave primária não não por que tá relacionado com a chave estrangeira não está relacionado com a chave primária o Edir do curso teria que estar na tabela curso também esse daqui ó carga horária do curso tem que estar na
tabela do curso Então esses dois atributos eles não dependem da chave primária Então a gente tem que tirar eles daqui a gente faz muita gente é visto no exemplo a gente vai fazer tabelas Diferentes né Então temos a tabela aqui das vendas certo e a tabela dos cursos uma tabela diferente com informações diferentes e agora todas as tabelas dependem apenas da chave primária então aqui ó esses dois Campos os atributos dependem apenas a gente vai primária esses dois Campos dependem apenas da chave primária resolvido então nf2 e por último a terceira forma normal o que
que ela fala e os atributos não chave deve ser Independentes entre si e em seguir a nef-1 e a nf2 né Wine F1 atributos eles têm que ser únicos nf2 tem que depender apenas do atributo chave então aqui na compra primeiro que segue na F1 nf2 né porque não tem atributos muito valorizados e aqui a data de compra valor da compra quantidade Total tão tudo desconectados com a medida compra mas olha só tem um campo aqui ele não é independente entre si que é o campo total porque o campo Total ele não depende apenas da
chefe primária ele tá dependendo aqui do valor da compra e da quantidade Então esse campo aqui que não precisa dele quando a gente for fazer uma consulta uma cryern com alguma coisa de dados a gente pode usar essas duas informações para achar essa a gente não precisa ficar trabalhando com Campos a mais isso vai atrapalhar a performance no nosso banco de dados por isso a gente pode apenas Cortar esse campo e deixar a nossa tabela mais clean mais direto ela vai seguir dessa forma três formas normais e a gente tem para normalizar nossos dados eu
espero que tenha claro essa parte normalização Às vezes pode ser um pouquinho confuso para quem está começando tentei deixar aqui bem didático e sempre aplique as formas normais aí para suas tabelas analise ela com calma para não ter essa parte ruim de performance organização do seu banco de dados e agora que a gente já entendeu tudo sobre normalização sobre a parte das entidades a gente pode construir o nosso diagrama de entidade e relacionamento mais detalhado a gente já fez um esboço Inicial né e agora a gente pode detalhar construindo aqui né nossas caixinhas né Quais
são os campos que tem os tipos de Campo Quais são as relações entre as nossas caixinhas que é só um exemplo vai tentar chegar no modelo parecido nosso Case aqui da formação no Cold start E essas relações né a cardinalidade como a gente chama a gente tem algumas formas de desenhar essas relações aí um pouco mais completa primeiro a gente tem um tracinho só que é uma relação de um três tracinhos é uma relação de muitos dois tracinhos é uma relação de um somente um geralmente vai ter no mínimo e máxima né então por exemplo
um curso para uma venda pelo menos tem que ter uma venda né para resistir esse registro eu não pode ser zero por exemplo vai ter algumas relações pode ser zero uma cesta em baixo é uma relação pode ser zero ou pode ser um aqui a relação pode ser um ou pode ser muitos e Que relação pode ser zero ou pode ser muitos então sempre vai variar de acordo pode ser uma relação de zero ou seja nenhum dado para esse campo existir eu tenho que ter um ou muitos a partir daí a gente consegue detalhar um
pouco mais a nossa cardinalidade na hora de desenhar Nosso Banco eu queria passar também alguns tipos de dados e não esquece então só para entender bem depois você pode acessar esse link aqui que tem detalhadamente os tipos de dados que a gente vai registrar as primeiras a gente tem as chaves né a chave primária e a chave estrangeira que é APK e a FK vai usar essa anotação temos os campos do tipo string que é o tipo de texto geralmente coloca achar um n aqui é um valor de texto tamanho fixo então eu quero ter
por exemplo um texto de CPF Ah o CPF vai ser 11 dígitos Então vou colocar uns aqui para sempre seguir apenas 11 então se alguém colocar mais não o CPF tem apenas 11 ditos eu não pode colocar mais nem menos tem que ser sempre esse Ou a gente pode colocar aqui como baixar que é um texto ele vai ter no limite né então por exemplo aqui ah vou colocar nome então a pessoa vou colocar 200 caracteres então ela não vai poder passar de 200 para a gente conseguir ser consistente também trabalhar amanhã de banco de
dados né quando esse banco de dados vai escalando a gente não pode deixar o usuário e distrair muitas informações no banco Senão ele pode espalhar na performance e Nós também vamos ter tipos de dados numéricos né Então vem aqui os inteja que a gente chama gente os números inteiros desse mal né inteiros aqui a gente pode colocar pontos ó quantidade de valores a esquerda da vírgula da esquerda da vírgula do ponto né Qual a quantidade de valores na direita da vírgula do ponto ou sei lá é 107,8 54 você dividir isso você pode definir para
falar sempre a pessoa colocar um tamanho limitado isto também tem dados de data né o date time que vai armazenar a data com um mês de hora também do tipo date que vai armazenar apenas uma data e fixa são vários tipos de Campos a gente pode ter nossos Campos de nossa modelagem de banco de dados aqui só alguns deles os principais para a gente conseguir construir aí a nosso modelagem do banco de dados e daí nós temos algumas ferramentas para fazer essa modelagem né temos aqui essa dose de chart que é bem famosa pausa bastante
temos também por exemplo mais mais Kelly workbach também a gente consegue estruturar essa forma é um pouco mais profissional estruturada de banco de dado temos um Miro que é uma ferramenta aí para criação de bojo muito completa para várias tipos de forma de desenho para trabalhar em conjunto E essa que eu vou utilizar porque eu achei ela bem interessante e bem tranquila de ser usada não sei se você já usou um milho Mas é uma ferramenta incrível e para modelar a gente pode usar ela vai conseguir visualizar o nosso modelo completo de candidatos então agora
bora para prática vamos pegar aquela modelagem que a gente fez o modelo conceitual passar para o modelo Lógico lá dentro do Miro fazer o passo a passo o nosso banco de dados e as suas relações Então já abri um Miro aqui no meu computador se você não conhece depois entra no site do Miro Dá uma pesquisada que é uma ferramenta excelente não só para fazer por exemplo modelagem de cuidados Mas a gente pode trabalhar com processos organização de projetos Ela é bem interessante é que o propósito não ensinar a usar o milho Ele É bem
intuitivo tá E sempre só arrastas blocos aqui textos para nossa tela é bem tranquilo depois dá uma olhadinha aqui o foco vai ser a gente conseguir construir o nosso diagrama dentro da ferramenta e aqui no board já trouxe o diagrama de entidade de relacionamento que a gente construiu aqui os alunos vendas cursos e professores né como que elas vão se relacionar vai ser base pra gente começar a construir o nosso diagrama mais completo de entidade relacionamento então para construir aquele tipo de diagrama que a gente tem e que pode vir aqui em templates e aqui
templates existem vários né Por exemplo quanta coisa aqui a gente pode fazer aqui no milho pode fazer vários desenhos muito legais e aqui em procurar pode procurar por entidade entidade é que vai aparecer ó índice chip pode vir aqui ó eu coloquei para ver ele vai mostrar que são esses diagramas que a gente consegue usar eles são bem legais e bem fáceis de usar Às vezes dá um bugzinho no outro mas é bem tranquilo pra gente começar a modelar o nosso dados vamos que usar template já trouxe um template aqui eu vou arrastar esse tempray
para essa minha área tá eu fiz uma área fiz uma área para eu conseguir organizar esses templates tá e eu vou vir aqui eu vou deletar vou construir aqui meu primeiro diagrama deixar arrastar tudo aqui ficou meio torto puxar aqui eu vou colocar aqui no meu bloco tá então aqui ele já traz um diagrama a gente pode até fazer algumas mudanças Eu só clico nele eu consigo editar esse diagrama eu não vou primeiro deixar tudo branco Ó eu clico aqui alternar Rose ele pode deixar ou com as linhas alternadas ou eu vou deixar tudo branco
e aí vamos fazer primeiro a tabela de alunos tá clicar aqui em cima e vou falar tá Então qual que vai ser a chave primária de alunos aqui ó eu vou deixar na verdade o nome do campo vai ser aluno essa tabela aumentar um pouco aqui ó cabe tudo aluno ID certo e o aluno aí de vai ser a chave primária Então vou colocar aqui primer só APK tá embaixo Vamos colocar aqui ó aluno nome aluno nome e também da boca essa tabela Vamos aumentar ela porque ela tá meio eu vou deletar essas na verdade
porque aqui vai criar depois do zero as outras também então aqui é aluno pode vir aqui vamos dar uma esticada alunos vai ter aluno nome né Vamos colocar todos Antes também vai ter aluno e meio aluno e-mail aluno é telefone para colocar mais linhas é só a gente clicar aqui no mais Zinho que ele vai criar uma nova tabela que é uma nova no campo né vai ter o aluno endereço né que a gente vai separar por aluno Rua aluno bairro aqui não vou colocar todos só para entender Qual que é o qual que é
a lógica né na verdade eu não vou deixar vou deixar assim ó colocar aqui endereço Rua endereço bairro tá E vamos e vamos colocar aqui algo que faltou Ó se eu clico aqui eu posso vir em cima ele fala assim quer adicionar um novo que eu pensei baixo pode adicionar um novo campeão em cima e vai ser o aluno CPA que é um campo importante aqui a identificação do aluno certo aí você poderia perguntar Castelo Por que que a gente não usa o CPF com essa tabela meu CPF é único né uma pessoa só pode
ter um CPF cara é uma boa ideia porém a gente nunca pode depender de Campos em que o usuário vai digitar para usar com uma medida da nossa tabela porque vai que ele digita o CPF errado vai querer que eu troco um número pelo outro aí quando vem a pessoa para colocar o vídeo CPF certo não vai dar certo entendeu sempre deixa o ID da tabela para o próprio sistema de gerenciamento de banco de dados criar de forma automática então quando foi criado um registro quando tiver rolo do nosso sistema né já no automática o
próprio banco de dados vai criar uma de único tá então a gente não usa CPF e nem e-mail como é de único porque o usuário pode digitar errado a gente deixa o banco de dados criar esse ID Então já definimos a nossa entidade aqui o nossos Campos Vamos definir os tipos né do campo é um aluno nome vai ser um baixar e vamos colocar no máximo aqui e lá sem caracteres aluno CPF lembra que CPF não é número tá se colocar número vai dar ruim no seu sistema cpf também ele vai ser tipo string acho
que tem 11 dígitos né se eu não me engano Sem contar os pontos de traços são 11 dígito vamos deixar assim uma coisa corrigir depois baixar que também é um texto baixar texto 11 telefone também vai ser um texto né não vai ser pode ter meio maior né colocar aqui meio-dia e lá 50 caracteres telefone deixa eu colocar 20 aqui mas também não sei qual que seria o padrão e Pri bom usar o nome da rua Vamos colocar aqui 50 caracteres né o bairro também baixar 50 certo colocar mais alguns aqui só para ficar bem
completinho Vamos colocar aluno idade alunidade e aqui já vai ser um número inteiro né em anos eu vou colocar só em 20 Então é isso esse daqui é uma tabela aqui do alunos como é os campos né como é a chave primária agora que que eu vou fazer eu vou construir as outras entidades Tá mas eu quero que você constrói sozinho as outras três entidades bem simples não precisa ter me colocar todos os campos só coloca alguns exemplos para você aprender como é que faz e daí eu vou pausar esse vídeo quando eu voltar eu
já vou mostrar as entidades prontas também para não estender tanto esse vídeo aqui que se não vai ficar muito grande e aí você só Confere se você fez certo beleza eu pausa esse vídeo e volta lá Pronto conseguiu construir as entidades seus Campos eu já construí aqui as minhas vamos conferir se fez tudo certo não temos os alunos aqui eu coloquei minha tabela de vendas então aqui já comecei a entrar algumas Chaves estrangeiras né a gente tem uma higi da nossa venda e a gente tem também o id o aluno aí de e o curso
aí de né Então essas duas vão ser Chaves estrangeiras que para a gente conectar com as nossas outras tabelas Então beleza E além disso a gente tem a data de compra e o valor da compra né que uma time stamp quando a pessoa comprou e o valor da conta E aí para cursos a gente tem aqui a chave primária do curso né a chave estrangeira para conectar com a tabela de professores temos o curso nome curso duração e Curso valor né as os campos para a entidade de curso e aqui ó muito importante certo essa
e para alunos lembra que vai ser uma relação ele para ele eu sei que foi ver aqui ó elas são n para n ou tem uma relação n- para n a gente cria uma nova tabela como a gente falou então essa tabela aqui vai ser a tabela alunos cursos e vão ter duas Chaves estrangeiras a chave aluno de curso é de Então vai ser muitos para muito vão ser essa tabela aqui para evitar a duplicação de dados beleza essa tabela que feita este nossa última tabela de professores né que a gente tem o nome do
professor o ID do professor né o nome a ferramenta aqui na verdade é um versar né que a qual ferramenta que ele ensina a darstina Nascimento coloquei dente celular é Claro que aqui é só alguns exemplos de atributos né não tá um exemplo completo mas é só que a gente conseguir entender e fazer alguns testes feito isso agora a gente pode fazer as relações entre as tabelas e entender como que elas vão se conectar beleza para fazer uma relação como que a gente vai fazer a gente sabe que essa relação aqui ó mais simples curso
e professores professor é a chave estrangeira aqui e temos conectar com a chave e mar da tabela professores como que a gente faz ó tá vendo quando clico aqui para esse pontinho eu posso vir aqui e conectar com o professor Olha que fácil que legal ele já faz uma conexão só que aqui ele já estabeleceu uma conexão padrão de um para muitos a gente sabe que a conexão é um para um né nesse caso a gente sabe que a conexão mínima é um né um curso tem que ter um professor em um professor ele tem
que ter um curso né e a conexão máxima também é um então é um curso para um professor um para um para isso eu coloquei aquelas anotações aqui ó relações entre tabelas então aqui ó a gente tem esses dois tracinhos que apenas um não pode ser zero nem muitos é um para um não é isso que a gente vai usar as duas formas eu vou vir aqui vou clicar na minha linha aqui e agora como que eu vou fazer a gente tem ó uma linha do fim e a linha do início então a linha do
início vai ser os dois tracinhos ou eu posso selecionar todos os tipos de relações que a gente tem no banco de dados e além do fim também todos os tipos de relações e agora tá certo relação de cursos para professores né que é Opa coloquei errado aqui ó ninguém para me avisar para baixo né Chave estrangeira com a chave primária do professores pronto vamos para as outras relações Então vamos ver aqui a nossa colinha a gente tem para alunos e vendas temos a relação de um para n então para muitos eu vou vir aqui vou
conectar meu aluno eu vou deixar em só porque eu gosto de deixar em a Chaves primárias estrangeiras então eu vou conectar a chave primária aqui ó aqui embaixo pode puxar para baixo e o conectar com aluno aqui que um aluno pode fazer várias vendas né não pode fazer várias vendas mas uma venda por aluno certo é uma relação para muitos ó que já foi certo uma relação de um eu posso deixar aqui também apenas um tá não pode ser zero também para um para muitos e qualquer relação mínima relação mínima vamos voltar na nossa colinha
aqui pra gente fazer certo né E a nossa colinha temos aqui ó a nossa relação muitos ou relação um ou muitos então uma venda ela não é só de muitos né pode um aluno pode fazer uma renda apenas uma compra pena de um curso Então vai ser um para muitos beleza vamos lá aqui eu vou voltar aqui vou clicar e no final vou colocar agora um tracinho e aqui o pé de galinha né que a gente chama agora tá certo é uma relação Para muitos é só que uma venda realmente só pode ter um aluno
não pode ter zero né então aqui é somente um e aqui é um para muitos daí tinha vamos relacionar agora o curso aí de esse curso aqui deixa em isso aí de que tá relacionado aqui com a chave primária do curso vou colocar aqui e vou relacionar com a chave primária e essa relação Nossa sacolinha aqui é um curso para muitas vendas Vamos colocar aqui um para muitas vendas um curso pode ter uma vendas apenas né Pode posso deixar Cadê é isso daqui né é um curso na verdade é um curso vai ter muita vendas
né fazer várias vendas de um curso Só se fizer uma venda de um curso quer dizer que não deu certo não eu vou colocar muitos elege muitos e do outro lado né A gente vai colocar aqui vai ser somente um tá porque sempre vai ser apenas um e não pode ter um curso não pode ter zero uma relação zero para muitos tá beleza aqui tá certo Agora falta aqui ó nossa tabela números e Ursos Vamos conectar Então a nossa chave primária com a nossa chave estrangeira aqui do aluno e mídia vou aproveitar aqui para conectar
a nossa chave estrangeira do curso com a nossa chave primária aqui na tabela cursos agora só vamos ver se as relações estão certas então aqui um aluno pode ter um ou mais cursos aqui tá certo né um ou mais um ou vários a gente for ver aqui também né Aqui tem essa relação também vai ser de um para muitos Então vai ser a gente colocou aqui ó NN né um para muitos por isso que a gente tem essa tabela aqui ela vai colocar a nossa relação numa tabela só e aqui na verdade é o contrário
né aqui vai ser muitos para um curso a gente tem muitos a que vai pode ter pode ser repetir né várias vezes nessa tabela nos cursos porque vai ser ele é que também alunos para cursos pode ter vários cursos para os alunos e vários alunos para curso Então a gente tem feito aí o nosso diagrama de entidade e relacionamento completo aqui ó completinho já da nossa do nosso exemplo lá no Coach Startup que legal então aí tudo bem organizado bem estruturado para você também começar a modelar o seu banco de dados do seu projeto é
de uma forma aí seja mais estruturada é bom sempre ser praticar pega o seu projeto e faça A modelagem do zero e vai vendo está tudo certinho e a partir disso agora a gente pode ir para a última etapa na metodologia de modelagem de banco cuidados que etapa de modelo físico Bora lá então olha que legal a gente já fez todas as etapas de análise de requisitos o modelo conceitual modelo lógico e daí a gente pode partir para fazer final que é modelo físico e no modelo físico a gente vai pegar tudo que a gente
modelou e vai construir um uso do SQL dentro do banco de todas as tabelas e nossas relações para depois fazer o gerenciamento dessas tabelas e quais vão ser as etapas né dentro do da parte 4 vai ser escolha da tecnologia do sistema gerenciamento de banco de dados aí a gente vai criar um banco de dados com SQL e fazer depois a gestão e manutenção e uso desse banco de dados e no modelo físico para escolha a gente tem vários sistemas né Por exemplo Poxa criei o mais Kelly que são os bancos de dados aí mais
utilizados do mundo junto com a órgão Eu gosto bastante do post grill e você vai ter que fazer um estudo né sobre qual banco de dados vai te atender na melhor forma e qual que vai ser da sua preferência para criar o banco de dados do seu sistema e a partir disso a gente vai criar o nosso banco utilizando a anotação SQL então por exemplo aqui né eu coloquei apenas um exemplo onde a gente consegue criar a tabela dos alunos e a gente fala assim alunos aí de coloca o tipo da tabela se ela vai
se achar primária e a gente coloca o nome do aluno que baixar notebook a gente já tem tudo mapeado e daí a gente consegue criar nossa tabela anônimos depois que é a nossa tabela cursos também né Por causa que criar o curso aí de utilizar a função Crate table o nome do curso do carga horária E também o fórum que a gente fala que na verdade a chave do aluno Edge vai estar conectada lá com a tabela permaneki lá na creche table da tabela lá essa anotação também ela pode mudar de acordo com a tecnologia
escolhida mudar alguns detalhes mas sempre a essência o SQL vai ser o mesmo pra gente criar essas tabelas e fazer o uso delas esse curso aqui de modelagem de banco de dados não tem objetivo da gente como entrar na ferramenta ou seguir criar um pouco de dados não é um treinamento de SQL é mais para você entender os conceitos Gerais e modelar o seu banco então a gente não vai entrar nesse assunto aqui nesse conteúdo é só mais para você entender qual seria o último passo do modelo lógico mas antes disso vamos revisar tudo que
a gente aprendeu cara foi muita coisa a gente viu toda a metodologia o modelar um banco de dados e passo a passo e eu também um modelo conceitual vamos fazer a identidade dos atributos relacionamentos modelo lógico como fazer o design do banco de dados né De acordo com o modelo Lógico os aspectos da normalização de tabelas e por fim também um modelo físico a gente conseguiu construir do zero o nosso banco de dados aí de uma forma muito organizada e estruturada Espero que você tenha aprendido muito até aqui e você deve imaginar que esse conteúdo
deu muito trabalho fiquei semanas planejando esse curso eu não vi nenhum conteúdo na internet no YouTube no Google a nível desse treinamento modelagem de banco de dados aqui que é isso que eu peço para você também tá me ajudando é esse conteúdo de modelagem ainda não acabou e tem uma surpresa final que é fazer A modelagem com no code a gente vai pegar toda a parte do modelo físico vai usar a nossa modelagem que a gente fez o modelo conceitual e no modelo lógico para construir uma quantidade uma ferramenta no code e chama Bubble o
por trás o banco de dados os Tigres que é um sistema estruturado de gsql e a gente vai conectar todo o nosso modelo de banco de dados e vai criar um aplicativo um frontind para a gente conseguir ver todos os nossos dados e como eles relacionam entre si uma ferramenta no code e tudo isso de uma forma aí super fácil sem precisar mexer com código nenhum então para fechar com chave de ouro eu quero chamar meu sócio Neto que especialista em Bubble para fazer esse processo e te explicar como é fácil então agora é contigo
Neto vai lá salve pessoal Valeu pelo repasse aí castelo que conteúdo hein meu amigo quem já tá colocando a mão na massa aí desenvolvendo seus próprios aplicativos tá ficando maluco esse conteúdo show demais realmente pessoal nos foi dada a missão ainda a gente construir na prática o modelo criado até aqui então nesse curso de modelagem de dados E para isso a gente vai estar utilizando o Bubble uma das Ferramentas no code mais poderosas aí do mercado Então bora para a tela do computador aqui já começar essa nossa prática pessoal já quero começar aqui mostrando o
resultado final que a gente vai durante essa nossa aplicação aqui eu já tô dentro do aplicativo que a gente vai estar construindo durante essa modelagem esse aplicativo basicamente consiste em três telas a tela de login Qual a gente está vendo agora a Telas meus cursos onde o usuário vai poder ver todos os cursos né o aluno pode ver todos os cursos que ele faz parte e uma página de detalhamento do curso então nessa página que a gente pode fazer o login então tô acessando a ficar conta do Bobinho que ele é um dos nossos alunos
pode colocar a senha aqui apertar em login para acessar a conta do Bobinho então é que eu já venho para tela meus cursos a gente vê a foto do Bobinho aqui bobinha nosso mascote aí o Doguinho do castelo no mascotinho aqui dando Startup aqui a gente vê os meus cursos então o bobinho ele faz parte tanto do curso da formação fatherflow da formação de Bubble e também na formação de Up giver então aquele ver todos os cursos que o bobinho faz parte que a gente já começa a ver uma relação né então a gente tem
um aluno usuário ali que tá atrelado alguns cursos então ele consegue ver os cursos dele e aí clicando no curso aqui na formação a gente acessa após a terceira página que a nossa página de detalhamento desse curso aqui a gente tem o nome da formação na formação o único curso que você vai precisar na vida aqui a gente tem um professor então a gente já vê uma relação do curso com o professor tem aqui a duração né algumas informações extras desse curso se a gente voltar lá para Abra meus cursos clicar na formação agora de
Bubble a gente já vai ver informações Diferentes né agora a gente vai ter a formação de Bubble unicurso de Bubble que você vai precisar na vida aqui já tem uma capa uma imagem de capa de fundo diferente e também o professor aqui Como eu como professor Então já tem um professor diferente também formação de Bubble atrelada a outro professor Então a gente vai aprender a criar essas relações a como criar A modelagem de dados para a gente ter como resultado essa nossa aplicação porém antes da gente partir para modelagem do banco de dados propriamente dito
dentro do Bubble queria comentar rapidamente para os que não conhecem o que que é o Bubble O Bubble é uma ferramenta no code para criação de aplicativo Ou seja a gente não necessariamente precisa colocar a mão no código para criar aplicações por Esse é o principal objetivo do Bubble Cuba a gente consegue criar aplicativos com design responsivo ou seja aplicativos que se comportam bem Tanto para computadores laptops tablets celulares a gente consegue criar lógicas das mais simples as mais complexas dentro do Bubble e conectar assim o nosso front-end com o banco de dados né que
até o que a gente vai analisar então o banco tem um grande diferencial que através de uma ferramenta a gente consegue criar tanto front-end quanto o back end e conectar essas duas partes através das suas lógicas com baú a gente consegue fazer conexões api com qualquer aplicação que permita conexão via api E além disso boa possui um ecossistema enorme de plugins que são utilizados aí para estender as funcionalidades aplicação ou até mesmo você aí sim caso tenha necessidade desejo criar códigos customizados para estender a sua aplicação caso você tenha desejo e também a habilidade para
isso como eu e o Mateus já vimos comentado com o Bubble a gente consegue criar tanto o front-end da aplicação quanto o Candy e para o seu back end né com o motor atrás dos panos O Bubble utiliza o post gree SQL por isso que o Bullet se encaixa muito bem para a gente fazer esse exemplo aqui dessa nossa modelagem né utiliza como motor de fundo ali posto tigres ql né um banco de dados relacional e revisitando novamente A modelagem que a gente vai estar construindo dentro do Bubble aqui a gente tem nosso esquema da
nossa modelagem final a gente tem a nossa tabela alunos as vendas alunos cursos cursos professores e todos seus Campos correspondentes vai aprender agora a passar tudo isso para dentro da ferramenta do Bubble e também entender rapidamente como que a gente faz as relações né Desse nosso banco de dados como frontienge para chegar naquele resultado que eu mostrei agora pouco para os que quiserem acessar o editor do bolo que a gente utilizou para criar essa aplicação que eu mostrei agora pouco pode também eu deixo aqui disponibilizado o link do nosso editor vocês podem acessar o editor
utilizar todos os elementos copiar aplicação como todo copiar elementos específico entender como que a gente criou essa aplicação que a gente vai estar mostrando agora e também né replicarem isso de alguma forma se for útil para vocês então deixa aqui disponível o link do editor também para vocês fazerem uso feito essa introdução Bora partir para dentro do editor do Bubble e começar essa nossa modelagem Então pessoal já estou dentro aqui da plataforma do Bubble do editor onde a gente constrói toda a nossa aplicação aqui eu estou na nossa aba de design que é onde a
gente consegue construir todo frontchange na nossa aplicação que é o que a gente vê quando a gente acessa né url de uma aplicação acesse uma aplicação aqui eu estou na aba de meus cursos que foi o que eu mostrei para vocês não de usuário consegue ver todos os cursos que ele faz parte e aqui a gente consegue ver né como é que foi feita a configuração de design para a gente ver de fato a nossa aplicação naquela forma que eu mostrei para vocês aqui do nosso lado esquerdo a gente consegue ver essa nossa barra lateral
e aqui a gente encontra Nossa aba de deira como eu comentei com o Bubble a gente consegue criar tanto front ainda aplicação quanto o back end que é o que nos interessa aqui pra gente fazer A modelagem de dados então clicando aqui em deira a gente tem aqui já todas as tabelas pré configuradas e modeladas claro para eu fazer aquela pré demonstração para vocês já precisaria ter essa Mode construída Então já tem ela construída Mas pode ficar tranquilo que a gente vai deletar isso aqui começar tudo do zero fazer essa modelagem em conjunto aqui a
gente tem essa abadideira taipes que é onde a gente consegue ver todas as nossas tabelas e os campos das tabelas e que se a gente vê em epideira eu consigo ver essas tabelas mais os dados que existem nelas né então aqui eu já tenho tabela de vendas usuários eu vejo que eu tenho um usuário aqui que em curso a gente consegue ver que a gente tem três cursos cadastrados e aqui a gente consegue ver muito mais uma carinha que a gente tá bem acostumado quer uma tabela mesmo né então aqui a gente tabela de cursos
com as suas colunas de nome duração fotos professor então bem mais característico aí uma tabela que a gente conhece utilizando plataformas como Excel por exemplo e para fazer a conexão entre esses aba de design com o nosso Back And quer que nós sabe de ideia a gente tem os nossos work flows que são as nossas ações né então se eu preciso por exemplo fazer o cadastro de um usuário eu tenho lá o e-mail dele a senha dele a gente precisa registrar esse usuário no banco de dados é através dessas ações que a gente consegue fazer
essa conexão e criar as demais diversas que a gente precisa na nossa aplicação fazendo assim essa conexão entre aba de design com o nosso back end e povoando né de fato nosso banco de dados e tendo assim de fato uma aplicação algo inteligente aí pra gente não vou ficar me delongando muito aqui explicando como que o Bull funciona Porém esse é o coração né a gente tem aba de designer e vindo aqui para nossa abadedeira que é o que nos importa nesse momento a gente fazer a nossa modelagem de dados vou vir aqui em beira
types e vou excluir todos esses campos todas as tabelas Que Eu Já criei me deixar a aplicação por completo zerada aqui né então excluindo aqui essas nossas tabelas isso as tabelas e vou excluir também os nossos Campos então agora a gente tem aqui uma aplicação zerada como se ela tiver acabado de ser criada Nossa tabela de usuários lá uma tabela que ela já vem construída por padrão e aqui a gente tem também tem alguns Campos que já vem construídos por padrão vou estar explicando isso no detalhe para vocês porém apenas quero comentar que de fato
agora a gente tá em uma aplicação zerada se vocês criarem uma nova aplicação no Bubble agora e até recomendo para vocês consegui acompanhar aqui em conjunto vocês vão ter um banco de dados aqui nessa madeira exatamente dessa forma então dando início agora de fato a nossa modelagem eu vou voltar aqui no nosso Miro onde a gente fez essa modelagem de dados trazendo aqui o Nossa modelagem final Então o que a gente vai estar modelando né a gente vai ter nossa tabela de alunos com os campos aluno ID aluno nome CPF meio telefone a gente vai
ter também as tabelas de vendas de cursos a tabela de alunos cursos para conectar essas duas tabelas e a tabela de professores eu quero começar aqui com vocês pela nossa tabela de alunos que vai ser a tabela Cora aí que a gente vai utilizar que até a tabela de usuários que a gente já tem na nossa aplicação então quero comentar brevemente sobre isso com vocês voltando aqui para o nosso editor como eu comentei Nossa tabela de usuários ela já vem pré configurada e pré construída aqui pra gente quando a gente cria uma nova aplicação no
Bubble essa tabela já vem com o campo de e-mail é pré configurar também e alguns outros Campos que são padrões pra todo tipo de tabela que a gente criar são as datas de modificação as datas de criação e o Slug desse item no banco de dados então esses três itens então esses três itens existem em todas as tabelas que a gente Criar e o item de e-mail a gente tem Principalmente agora Obrigatoriamente no nosso tabela de campo de usuário o campo de senha também é um campo que está aqui porém escondido que nem o administrador
né nem quem tá criando aplicação do Bubble vai ter acesso é um dado criptografado que apenas vive no servidor do Bubble para que ele consiga fazer né identificação de fato se aquela senha é daquele usuário para conseguir logar a pessoa na plataforma Mas a gente não tem acesso de maneira alguma a senha de alguma pessoa então ela a gente não vê ela aqui mas também é um dado obrigatório para nossa tabela de usuários feito essa explicação Inicial sobre a tabela usuários e a gente fazer uma relação rápida Nossa tabela de usuários na verdade vai ser
a nossa tabela de alunos né porque quem vai estar utilizando e vai estar logando aqui na plataforma para ver quais cursos faz parte viu detalhamento daquele curso são os alunos né são os alunos aqui a gente vai estar modelando eles como os nossos usuários porque eles vão ter deles eles contacessando a plataforma Então como a gente já vem com essa nossa tabela para configurada nossa tabela de alunos aqui ela já está criada né então o que basta para gente e agora configurar os campos que vão vão existir dentro dessa tabela então voltando aqui para o
nosso Miro a gente pode ver que a gente vai ter nome CPF meio telefone rua bairro e idade vamos passar isso ali para nossa aplicação do banco e depois a gente vai construindo uma uma e a gente vai entendendo como a gente faz as relações voltando aqui para o nosso editor então a gente vai ter nome CPF meio telefone Rua Bairro idade vamos ver se eu lembro Qualquer coisa a gente volta aqui estão vindo aqui nossa tabela de usuários eu não consigo renomear essa tabela para alunos né o bubb não me deixa então Obrigatoriamente ela
tem que ser chamado tabela de user mas ela vai ser a nossa tabela de alunos então aqui a gente vai ter agora a gente pode criar né os nossos Campos de nome como o Mateus né comentou e deixou bem detalhadinho ali pra gente já comentou que vai ser não tipo shar né tipo puxar aqui no Bubble Na verdade é um tipo de texto Então aqui O Bubble já deixa muitas coisas mais simplificadas para a gente né então a gente tem aqui tipo de texto de número um randing número né de um número Até outro número
tipo de data intervalo de data sim e não se é um arquivo se é uma imagem e aí a gente também tem as relações que a gente consegue fazer com outros tipos de dados Então esse primeiro campo que a gente vai querer criar não vai ser o tipo nome né que vai ter o tipo de vai ser um campo nome que vai ter o tipo de texto Então texto que a gente vai estar adicionando que vai ser referente ao nosso nome do nosso aluno aqui a gente pode criar agora esse campo vamos ver lá os
outros Campos que a gente vai ter a gente tem o nome CPF que também é texto Então voltar aqui CPF cpf também é um tipo de texto A gente pode selecionar e criar aqui então simples e facilmente assim a gente já tá criando a nossa tabela né então agora voltando ali a gente tem um e-mail só que como eu comentei o e-mail na nossa tabela usuário ela já vem pré-configurada então isso já tá feito pra gente a gente tem aqui telefone rua bairro e idade Então volta lá agora criar aqui o nosso telefone também vai
ser um tipo de texto telefone a gente tem a nossa rua também vai ser um texto bairro bairro também tipo texto e a idade que a gente pode colocar aqui no tipo de número né então o número inteiro um número inteiro aqui o baú entende como o número eu vou então vou colocar aqui também uma imagem né uma foto de perfil Desse nosso usuário Então vou colocar aqui foto perfil e aí vai ser do tipo de imagem e podemos criar então simples e facilmente assim a gente finalizou essa nossa tabela de usuários quero partir agora
para as nossas próximas tabelas pra gente começar a entender um pouco essa questão de relação como a gente faz essa relação entre tabelas aqui no Bubble e mostrar para vocês o quão simples e fácil a gente fazer isso então voltando aqui para o nosso milho quero modelar com vocês agora nossa tabela de vendas né na tabela de vendas ela vai ter um id e algo que eu acabei não comentando né vou voltar aqui pra gente fazer esse comentário rapidamente aqui nessa na tabela de alunos a gente tem o nosso ID de aluno se a gente
viu a gente não criou isso aqui no Bubble porque que é o Bubble ele já cuida disso pra gente então a gente não precisa necessariamente criar nosso ID dessa nossa tabela porque o Bubble já cuidados no final e ele vai estar sempre relacionando todos os nossos itens quando a gente faz uma relação através desse D então ele já faz isso para gente já cuida desse ponto do ID para a gente para a gente não ter nenhum problema já que isso tem que ser algo de fato um ID único tem todo um cuidado que precisa ter
um SD tão Bubble já já faz esse trabalho duro aí para gente voltando aqui para o Miro Então vamos fazer essa modelagem Nossa tabela de vendas na tabela de vendas ela vai ter venda ID Como comentei o bubb já cuida disso para gente a gente tem uma relação com um aluno então aqui se a gente analisar ele tá aqui aluno ID porque a relação É de fato com ID a gente vai ver aqui no bubb e só um pouquinho diferente porque ele já cuida disso pra gente a gente só faz uma relação com um aluno
ali de uma forma bem mais facilitada a gente vai ter também uma relação com a nossa tabela de curso que a gente não criou ainda então a gente vai entender um pouco sobre isso e depois vai ter a data de compra e o valor da compra também pra gente construir Então vamos voltar aqui nossa editor do Bubble e vamos criar essa nossa tabela de vendas como que a gente cria uma nova tabela simples facilmente também a gente tem aqui New Type Então vai ser um novo deletar que a gente vai criar a gente pode vir
aqui escrever venda né que vai ser a nossa tabela de vendas e vamos criar uma tabela simples e facilmente assim criamos já essa nossa tabela de vendas e agora que abre as possibilidades para a gente adicionar Campos nessa nossa tabela então a gente tinha o ID da venda como eu comentei algo que o Bubble já cuida pra gente a gente tem uma relação com os alunos então a gente pode criar seja relação já que seria o nosso segundo campo então aqui a gente pode vir e adicionar o aluno que fez essa compra né então realizou
essa compra que gerou para a gente no caso essa venda então a gente pode vir aqui aluno e aqui a gente vai ter que fazer uma relação agora né Qual que é o tipo de dado que a gente vai buscar ele não vai ser mais um texto não vai ser mais um número não vai ser uma data ele vai ser um tipo usuário que é o Nossa tabela de alunos né então aqui a gente pode ver aluno vai ser do tipo usuário criar a gente já fez aí uma relação com a nossa tabela de alunos
aqui O Bubble por trás dos panos está relacionando com o ID Desse nosso campo alunos então assim que o Bubble trabalha perfeito a gente teria que fazer também a relação com a nossa tabela de curso só que se eu vier aqui tentar fazer essa relação como a gente não tem o nosso direito criado ainda eu não vou conseguir então para isso eu vou criar rapidamente aqui nessa tabela de curso que a gente vai precisar fazer essa relação mas depois a gente vai cuidar dela então vou criar aqui rapidamente tabela curso agora sim eu consigo vir
aqui em Venda e fazer a relação com a nossa tabela de curso Então colocar aqui o curso que vai ser essa vai ser relacionado dessa venda e aqui eu vou adicionar agora a gente tem a possibilidade de fazer essa relação com a nossa tabela de curso cliquei aqui no tipo curso o nome do campo vai ser curso vai ser relacionado a nossa tabela curso poder criar aqui já feito também essa relação próximo Campo que a gente tinha a gente tem aqui a data da compra e o valor da compra E aí tem algumas possibilidades né
se a gente vê observar aqui a gente já tem por padrão uma data de criação aqui abaixo já pré-configurada do Bubble então a gente não precisa necessariamente criar essa essa data né data de criação ou data ainda porque assim que a venda cair esse item vai ser criado no banco de dados quando ele for criado quer dizer que essa venda aconteceu e aí a gente já tem esse campo aqui para configurado Então nesse caso nem vou criar um campo novo porém dependendo da situação se você precisar ter certas flexibilidades fazer alguma coisa diferente com essa
com essa data daí talvez você poderia criar um novo campo para ser um campo diferente data da venda da data da criação do item especificamente no banco de dados nesse momento eu vou manter aqui essa nossa data de criação por padrão como sendo Nossa data da venda e aí o que resta pra gente é criar o valor dessa venda né o valor dessa compra Vamos colocar aqui basicamente valor e aqui vai ser um tipo de tipo inteiro não tipo número um valor tipo inteiro e criar feito isso a gente acabamos aqui nossa tabela de venda
exatamente para configurada tudo certinho podemos então Seguir para a nossa próxima tabela próxima tabela que a gente vai criar vai ser a tabela de curso que a gente até Já construiu ela precisa ver quais Campos vão ser necessários nessa tabela então voltando aqui no nosso Miro a gente pode ver que a gente tem aqui o campo curso de que o Bubble já cuida pra gente a gente tem uma relação com os professores que é uma tabela que a gente vai precisar criar a gente tem aqui o nome desse curso a duração do curso e o
valor do curso eu vou querer também adicionar aqui duas outras Campos que vão ser a imagem de miniatura do curso que vai ser aquela imagem que a gente vê quando o aluno Tá acessando a aba meus cursos que a gente vê aquelas fotinhos e também uma imagem de capa que é quando o aluno clica para abrir detalhamento desse curso tem uma imagem de fundo grande que aparece no fundo da nossa da nossa aplicação Então vou adicionar também essas duas imagens para a gente ter essas imagens de dinâmicas conforme o curso Então vamos lá vamos começar
primeiro campo que a gente vai ter é o campo de professor Vamos criar aqui um novo Campo se a gente tentar aqui adicionar professor e buscar Que professor a gente não vai conseguir porque a gente só tem as tabelas de usuário curso e venda então a gente precisa criar essa tabela para conseguir fazer essa relação com o professor a gente pode vir aqui agora criar um novo dele atire que vai ser a nossa ideia Type de professor criei esse daí da Type ele já tá aqui agora ele já vai ficar disponível aqui a nossa tabela
para fazer essa relação Vou colocar aqui professor e vir aqui buscar agora nosso tipo de dado Professor fechou Já conseguimos fazer essa relação podemos criar esse campo campo criado a gente precisa agora criar o nome desse curso né então vamos colocar aqui o nome ou título tanto faz como o nome e o tipo de texto além disso a gente também tem a duração desse curso Então vamos criar aqui duração do huracão e aqui legal né a gente não adicionar nem cedilha nem acento não caractere especial a gente poderia O Bubble ele já trabalha e ajusta
isso no fundo dos panos para gente mas por padrão sempre legal a gente não utilizar então aqui a gente pode colocar aqui como tipo de número né que é uma duração tipo número e criar esse nosso novo Campo além de duração a gente tem o valor também nesse nosso curso Então vamos colocar aqui valor também tipo número e acredito que a gente fecha assim os campos necessários já criados eu comentei Quero adicionar dois novos Campos para a gente também ter de forma dinâmica as nossas imagens então eu vou adicionar aqui uma imagem uma imagem capa
eu vou colocar aqui com um tipo de imagem e vou também também vou colocar aqui como imagem imagem miniatura imagem de miniatura também colocar um tipo de imagem a gente consegue deixar dinâmicas nossas imagens nossos cursos também fechado a nossa tabela de cursos que a gente precisa criar agora é a tabela de professores e essa tabela de relação entre aluno e curso eu vou criar primeiro essa tabela de professor que é uma tabela simples apenas por algumas informações bem simples para a gente construir em conjunto E aí depois quero fazer alguns comentários sobre essa tabela
especial aqui que essa tabela de relação entre alunos e Curso algo aí que a gente tem alguns comentários legais pra gente fazer e vocês terem uma ideia como que a gente faz isso no Bubble Porque que a gente faz isso no Bubble Enfim então aguardem Vamos lá fazer primeiro essa de professores que a gente até já tem criada então a gente precisa do nome da ferramenta que o professor da aula data de nascimento e celular Vamos criar esses nossos Campos voltando aqui para o nosso editor Professor colocar aqui o nome do professor o nome vai
ser um tipo texto a ferramenta a ferramenta vai ser do tipo texto também aqui Claro a gente poderia também ter ele é um já mensagem poderia ter outro deletape seria da ferramenta e fazer um vínculo com a ferramenta claro que poderia aí vai da complexidade que a gente quer colocar aqui no nosso banco de dados aqui a gente está simplificando então a gente pode clicar colocar a ferramenta de fato como apenas um texto aqui então criar ferramenta voltar ali para a gente lembrar data de nascimento e celular então voltando data de nascimento data nascimento nascimento
nascimento aí vai ser uma tipo de data então Criar e falta o celular no celular celular tipo texto e criado aqui também vou querer adicionar mais um campo também para a gente deixar dinâmica a imagem do professor lá na tela de detalhamento do nosso curso não vou criar aqui também uma imagem imagem perfil imagem perfil do professor colocar aqui uma imagem e aí a gente pode criar e só para a gente deixar a nossa aplicação mais bonita né Toda dinâmica com as imagens dos professores tudo certinho fechamos aqui nossa tabela de professor podemos agora comentar
sobre Aquela nossa tabela de aluno essa nossa tabela alunos cursos ela tem o único objetivo de fazer essa relação né entre Nossa tabela de alunos e a nossa tabela de curso né quem são os alunos do curso e quais cursos o aluno possui isso porque né a gente já viu já aprendeu nesse nosso curso de modelagem sobre uma relação n para N E aí no Bubble Existem algumas formas que a gente pode construir essa relação de n para n aqui a gente vai construir da forma como foi modelado porque a forma mais performática também de
fazer a forma mais correta de fazer isso para esse caso em específico por a gente tem outras formas de fazer uma relação n Prime no Bubble E aí cada forma vai ser mais performática para cada uso de caso e para a gente entrar nessa discussão uma discussão mais profunda nível de performance algo que a gente elabora explora bastante dentro das nossas formações então apenas dando esse comentário né que existem outras formas de fazer que podem ser mais performáticas que outras em devido momento mas aqui é para esses de casa também a forma mais adequada e
mais performática de criar seria de fato criando essa nossa tabela de vínculo alunos cursos Então vamos construir essa nossa tabela novamente que a gente precisa criar nosso dira Type então aqui a gente pode ver em alunos colocar aqui alunos cursos e criar o nosso novo diretai para nossa nova tabela e aqui nenhum segredo novo nessa tabela aqui basicamente vai ser uma tabela de relação então aqui eu vou ter basicamente o campo de aluno que vai ser do tipo a aluna no caso usuários né que nós tabela usuário Criar e a gente vai ter a nossa
campo de curso tipo nome curso do tipo curso criado já temos a tabela de aluno curso criada assim a gente consegue fazer uma relação bem performática preciso de caso já que os alunos podem ter muitos cursos e os cursos podem ter infinitos alunos também pessoal então simples e rápido Quanto isso a gente pegou nossa modelagem que a gente construiu e colocou aqui dentro do Bubble ela já tá basicamente construída pronta para ser utilizada né com base aí nos nossos requisito que a gente tinha desse Nossa aplicação obviamente é uma aplicação simplificada a gente tem algumas
simplificações aqui porém já temos aqui nossa modelagem construída pronta para utilizar pensada com uma boa estrutura que nos traria na sustentação aí para criar uma aplicação performática que eu ainda vou querer fazer aqui com vocês é criar alguns dados nesse nosso banco de data para a gente conseguir visualizar essas informações no nosso frontiend para isso eu vou utilizar aqui na nossa aba upda e vou criar manualmente esses dados aqui no nosso backend é claro que numa aplicação Real em produção esses dados viriam através dos usuários utilizando front-endi interfaces para a gente conseguir colocar esses dados
aqui no nosso back end Porém para aqui para nossa aplicação vou querer adicionar esses dados que manualmente mesmo então por exemplo Posso ver aqui nossa aba de usuários clicar aqui em Nova entrada New endre e entrar aqui as informações desse usuário que eu vou estar adicionando novamente essa não é o adequado apenas quem consegue fazer isso é o administrador de aplicação a gente quer aqui no futuro os usuários venham se cadastrar na plataforma adicionem né façam suas compras tenham ali seus cursos tudo isso adicionado de forma inteligente aí através da aplicação mas aqui a gente
pode fazer essas adições né para vias de teste vias de explicação também didáticas então que eu vou querer adicionar aqui a gente tem o bairro CPF a foto de perfil vou adicionar aqui pegar o bobinho aqui nosso mascote Startup adicionar foto dele idade não vou adicionar o bobinho não vou Expor a idade do povinho aqui para todos nome dele bobinho a rua também não não vou me importar com isso agora o telefone também não e o e-mail é primordial que a gente tem a gente nem conseguiria criar esse usuário sem colocar o e-mail dele então
bobinho@hot startup.io slog também não é o que eu vou importar agora então essas três informações só pra gente criar agora obviamente novamente isso deveria ver lá do front com todas as escamas preenchidos então apenas a fim de idade que eu sei aqui adicionar com essas três informações então simples assim a gente já tem aqui a gente consegue ver agora nosso primeiro usuário né criado no nosso banco de dados já vemos aqui o bobinho continuando aqui essa adição para a gente entender essa relação para professores vou adicionar aqui os professores também adicionar aqui uma nova entrada
colocar aqui ferramenta colocar aqui flutterflow butterflow colocar o nome vai ser o Matheus Castelo professor de furth Flow e vou colocar aqui uma imagem de perfil do Mateus adicionar imagem tá adicionando a imagem e agora podemos criar criando já esse nosso professor só mais um professor aqui Nova entrada colocar aqui também ferramenta agora vai ser o Bubble não professor Neto Camarano e colocar aqui uma foto minha aqui também perfeito tirando nosso nosso dado e dado criado bacana para fechar aqui em cursos né adicionar aqui em curso também vou entrar aqui com alguns cursos então Nova
entrada ver aqui em nome do curso Vamos colocar aqui a nossa flor formação aqui agora a gente tem um professor né então tem aquela relação eu não posso digitar qualquer coisa aqui que não faz sentido a gente tem uma relação com o professor então aqui a gente tem que buscar por aquele Professor aqui embaixo a gente tem mudar o tipo de Campo eu vou estar fazendo essa busca por padrão o campo de busca é o ID único eu não sei qual que é o ID que o Bubble criou lá para o Mateus que eu acabei
de criar então vou alterar aqui esse campo de busca para o nome do Mateus Se eu já consigo fazer uma busca mais facilitada aqui no curso também posso mudar para o nome venda no me interessa ou no curso também por agora não eu posso salvar sim agora ele já me fala aqui né procurar pelo nome do professor agora já posso vir aqui Matheus ele vai buscar no banco de dados algum nomes que façam sentido eu já vejo aqui o Matheus Castelo Agora sim a gente já fez essa relação o nome do curso flutter formação formação
floter Flow valor 997 o cartão valor aleatório é duração Vamos colocar aqui 30 30 e depois a gente tem que especificar que se 30 aqui na verdade são horas né então em algum local a gente tem que deixar isso bem claro beleza imagem de capa vou adicionar aqui uma imagem de capa da nossa formação adicionar Na verdade essa imagem de capa não vou adicionar a imagem de capa vai ser essa imagem aqui imagem de capa adicionar e agora a imagem miniatura e sim vai ser aquela outra imagem imagem de miniatura adicionar salvar salvo na suíte
no banco de dados já temos aqui né criado beleza para mim isso aqui tá bom Por agora e a gente tem agora nossa tabela de alunos cursos nessa tabela de vendas tabela de venda a gente poderia criar aqui mas vai muito da forma né querer fazer essa relação aqui eu só quero fazer uma relação com alunos cursos para a gente conseguir ver lá no front-end né os cursos do Bobinho que a gente acaba de criar por enquanto o bobinho se a gente não fizer nenhuma relação ele não vai ter nenhum curso né então a gente
precisa criar esse curso para ter essa nossa relação a gente teria que ter uma venda Talvez sim né vai depender muito como a plataforma vai funcionar precisa usuário de fato fazer uma compra ele tá dentro do curso eu posso adicionar manualmente do curso alguém que eu queira que eu não vou fazer uma cobrada essa pessoa né então vai muito da flexibilidade que você quer ter aqui a gente tá trabalhando de forma separada então a venda tem que acontecer um valor uma troca financeira porém eu posso adicionar um aluno às vezes que não fez uma então
aqui eu vou só adicionar não vamos preocupar com a venda nesse momento adicionar aqui alunos cursos Então vou criar aqui já me pergunta quem que é o aluno e aqui a gente teria que procurar pelo e-mail né então aqui a gente tem um bobinho Beleza o curso a gente tem a formação e já podemos criar agora precisamos daí então uma relação já com o bobinho com a formação fatherflow dizendo né que o bobinho tem acesso à formação fatherflow tá dentro da formação fotofou Então pessoal simples assim a gente já modelou o nosso banco de dados
dentro do Bubble criou todas as nossas tabelas e os campos dessas tabelas a gente já adicionou também alguns registros nessas nossas tabelas então na tabela de usuário a gente adicionou O bobinho como usuário tabela de professores a gente adicionou Neto camariano e o Mateus Castelo como professores em cursos a gente adicionou a formação fatherflow tendo o Mateus como professor então uma relação aí então já fez uma relação entre o professor e o curso a gente poderia aqui também adicionar a formação de Bubble tendo eu como professor estão fazendo essa relação a gente tem aqui também
já fez uma relação aí na nossa tabela de alunos cursos do aluno bobinho com a formação flutterflow e agora o que nos resta é lá no nosso front-end a gente visualizar esses dados né fazer essas relações e trazer esses dados pra gente até porque se nesse exato momento eu vier aqui nossa aplicação finalizada né tô aqui na aba de login fazer login aqui na conta do Bobinho fazer o login acessar a conta dele a gente vai ver que a gente não vai ver nada aqui né tá tudo em branco eu não tô vendo mais a
foto do Bobinho aqui não tô vendo os cursos que o bobinho faz parte e a gente já criou essas relações de banco de dados mas por quê Porque a gente precisa no nosso frontinho de fazer essas relações antes a gente tava vendo porque eu tava mostrando para vocês a aplicação finalizada né então já tinha feito Toda A modelagem de dados e na nossa sala de design já tinha puxado os dados corretamente então o que a gente precisa fazer agora por exemplo é ver aqui na nossa editor vir na nossa aba de design acessando aqui a
nossa página por exemplo a aba meus cursos que é a página que a gente tá olhando aqui nessa nossa fotinha eu tenho que puxar a foto de perfil do usuário que tá usando aplicação aqui nesse nosso elemento que tá puxando dos nossos cursos eu tenho que puxar apenas os cursos que o usuário faz parte nesse momento a gente não tá puxando nada deletei os campos que a gente só tava fazendo essa relação a gente precisa atualizar isso tô fazendo aqui rapidamente em conjunto com vocês essa relação desses nossos dois itens dessa nossa foto de perfil
e aqui desses nossos itens que vão ser os nossos cursos aqui na foto de perfil que a gente vai querer puxar é a foto do Bobinho né que tá logado no nosso aplicação que a gente pode vir aqui puxar uma imagem dinâmica do nosso banco de dados vai querer puxar a imagem do usuário atual crunch user e aqui a gente tem a foto de perfil então sempre simples assim a gente já puxou a foto do nosso usuário e agora clicando aqui nesse nosso elemento né que a gente vai ter todos esses nossos cursos a gente
vai querer puxar agora tava com tá com elemento aqui deletado porque como eu comentei eu deletei tudo antes da gente começar que a gente vai querer puxar agora são os nossos cursos a gente vai querer trazer aqui cursos Então a gente tem opção curso aqui que foi a tabela que a gente criou em conjunto e aqui a gente tem que buscar essa informação no banco de dados onde que eu vou buscar essa informação aqui a gente tem que buscar os cursos no qual usuário faz parte para isso a gente tem a nossa tabela que é
a nossa tabela aluno curso então lá eu posso ver nossa tabela de alunos cursos fazer uma busca boa sorte four Nossa tabela no curso aqui eu posso fazer colocar um filtro né dizer que o aluno ele tem que ser Opa fechou o aluno ele tem que ser usuário atual crunch user assim a gente já tá trazendo todos os elementos todas as listas de alunos cursos no qual usuário faz parte eu vou querer trazer apenas a coluna de cursos né então a gente pode vir aqui e trazer It's cursos assim agora eu tenho todos os cursos
que esse usuário faz parte perfeito rapidamente isso que eu queria mostrar para vocês Claro que tem toda uma parte né a gente poderia ser mais didáticos aqui mas o objetivo era mais a gente fazer A modelagem e mostrar que rapidamente como que a gente faz essa puxada de informação no frontchange eu vou deixar a dinâmica aqui essa nossa tabela nossa página de curso aqui com as informações dinâmicas de cada um dos cursos e a gente consegue ver em conjunto no frontiend pausar o vídeo que rapidamente para deixar isso aqui dinâmico também perfeito pessoal já deixei
dinâmica todas as informações aqui da nossa página de cursos também agora se a gente voltar aqui na nossa aplicação finalizada não só nosso frontinho da nossa aplicação eu atualizar a nossa página página atualizada agora a gente já consegue ver aqui a foto do Bobinho aqui em cima como o usuário atual utilizando essa aplicação e aqui eu já consigo ver todos os cursos que o bobinho faz parte no momento a gente apenas tem a relação né da formação fatherflow com o bobinha se eu adicionasse mais relações esses nossos cursos parecidos em um aqui também e se
eu estivesse logado com outro usuário é que não tivesse nenhum curso ele não veria nenhum curso porque enfim não tá relacionado a nenhum curso né se a gente clicar aqui na formação a gente já é levado para a página da formação fatherflow e para isso a gente tem um workflow que a gente construiu e aqui a gente já vê também a relação né informações dinâmicas dessa nossa formação aqui a gente vê a foto de perfil do professor como que a gente vê essa foto eu tenho que estar relacionado né o curso com o professor e
eu consigo puxar né o curso do curso tem um professor e do professor eu consigo puxar a foto de perfil dele assim que eu consigo tá vendo essa foto aqui como eu comentei também para vocês eu disponibilizo todo esse editor aqui pra vocês é só acessar aquele link que eu disponibilizei no começo aí dessa nossa explicação então vocês podem acessar aqui e entender a fundo como cada elemento desse foi feito para quem aí está iniciando nossa jornada de Bubble pessoal por hoje é só espero que tenham gostado desse curso de modelagem de dados Bora agradecer
o Mateus aí por ter construído esse curso como um todo para gente foram de fato semanas aí de trabalho vem acompanhando ele desenvolvendo esse curso aí de modelagem de dados deixe aí nos comentários para gente vocês gostam desse tipo de conteúdo mais profundo e um tema específico comentem aí dêem seus feedbacks vê o que vocês acham que a gente vai adaptando e criando mais conteúdos como esse ou mudando né o foco e focando em outro tipo de conteúdo Então deixe aí nos comentários de vocês e até uma próxima [Música] [Música]