modelagem de um banco de dados não relacional pode ser um desafio Grande para qualquer desenvolvedor pois trabalhar com dados a partir de nousql é o complexo e muito novo para a maioria das pessoas mas não tem mais como fugir bancos não relacionais como mover DB ou Fire base estão crescendo cada vez mais por trazerem mais performance e escalabilidade para grandes projetos e nesse vídeo sobre modelagem e no SQL eu vou explicar de uma vez por todas os princípios básicos para se modelar e não esquece e quais são os principais estratégias para organizarmos os nossos dados
Além disso nós vamos modelar um projeto do zero no Fire base e no final do vídeo vai ter um super bônus a gente vai pegar a modelagem completa e vai criar um aplicativo do zero para mostrar esses dados e fazer um aplicativo funcional esse App vai ter autenticação conexão do Frontin de kong e relacionamento dos usuários com os dados Então aproveita esse conteúdo e já deixa seu like porque eu demorei semanas para construir esse vídeo que é praticamente um curso de modelagem de dados de bancos não relacionais e eu ainda estou em dúvida se eu
vou deixar esse vídeo aberto aqui no canal porque realmente ele tá nível conteúdo pago mas muito prazer em te conhecer eu me chamo Matheus Castelo ou apenas castelo e faz parte dela o Code Startup aqui ensinamos como criar projetos lucrativos criando aplicativos sem saber programar eu vamos começar que tem muito conteúdo pela frente e quais são os seus tópicos que a gente vai abordar nesse conteúdo de modelagem de dados de bancos Não relacionais primeiro a gente vai fazer uma revisão na parte fundamentos de no SQL depois a gente vai conhecer um pouco mais a fundo
Fire base e como é que funciona vamos entrar na ferramenta entender ela na prática para entender realmente Como funciona uma quantidade no SQL orientados a documento depois a gente vai conversar um pouco sobre firebais e entender um pouco mais em detalhes como funciona esse Basque é um back end é essa service vamos entrar dentro da ferramenta e vamos brincar um pouco com o banco de dados num relacionamento orientada ao documentos a gente vai ver também mas de você desenhar um modelo um desenho né do seu banco de dados e no SQL e depois a gente
vai para o passo a passo da metodologia modelando o banco de dados aí do zero Então a gente vai ver qual que é a metodologia passo a passo qual que seria as estratégias que a gente pode aplicar E também como fazer relações dentro de banco de dados no SQL e por fim como eu falei vamos ter um módulo bônus Vamos criar um aplicativo do zero para visualizar esses dados em um APP real fazendo toda a parte front-end e é muito importante que você tenha visto o conteúdo anterior que eu vou deixar aqui no card sobre
modelagem de dados de bancos tradicionais e SQL lá eu passo em detalhes metodologia de quais são os passos para a gente fazer A modelagem desse banco de dado e também a gente chega no modelo final e o banco de dados relacionado é muito importante que você tenha entendido os princípios e tenha feito mão na massa porque vai ser um pré-requisito para continuar essa parte de modelagens e no SQL bom em resumo o que que você vai aprender com esse conteúdo de modelagem você vai entender os fundamentos de no dele a gente vai ver as formas
de modelar quais são os tipos de desenho vou me afundo no firebais entendeu que faz um baço um bike em 16 vamos fazer a modelagem na prática de um projeto do zero para a gente fazer passo a passo realmente mão na massa e também como eu falei a gente vai criar o aplicativo com o flutterflow que vai ser um frontinho de pronto para conectar o nosso banco de dados bom no vídeo anterior eu já tinha comentado um pouco sobre no SQL mas agora eu quero fazer uma revisão rápida porque são conceitos muito importantes e bases
para a gente continuar nos próximos passos Então não ésql vai ter aquelas quatro formas de te modelar os dados né pode ser estruturado em documento em gráficos ou colunar aqui no treinamento a gente foca mais na parte de documentos que é um tipo de modelagem que traz muita consistência para projetos mais complexos e como funciona as coleções e os documentos basicamente uma tabela vai ser uma pastinha uma coleção e uma linha vai ser um documento Então a gente vai ter os dados organizados como se fossem tabelas Mas eles vão estar em pastinhas e em documentos
então para ficar mais claro trazer esse exemplo novamente que a coleção de dados temos as nossas pastinhas a nossas coleções o cursos Os alunos bastinha Professor bastia vendas e aí dentro dessas pastinhas por exemplo dos alunos vai ter um aluno então cada documento vai ser dados de um aluno como se fosse uma linha no banco de dados bem tranquilo né e dentro desse documento os dados eles são organizados em Jason ou seja e aqui então aqui eu trouxe um exemplo dentro do documento de alunos eu posso ter o aluno aqui ó Mateus Castelo né vai
ter idade o e-mail o telefone dele e aí a gente vai ter um campo na parte do Jason e o valor para esse campo então vai ser assim que vai ser organizado esses documentos formato disso ele é bem importante porque fica fácil para a gente conseguir ler e organizar os dados e também fica muito fácil bruta computador conseguir processar esses dados de uma forma rápida Então já entendemos O que são coleções O que são documentos também como os dados estão organ pode ficar um pouco confuso agora mas depois vai ficar bem claro Quando eu tiver
na prática lá dentro do fire base e tem também alguns bancos de dados do mercado muito famosos né que é por exemplo o mundo DB ocaute DB esses bancos de dados eles são estruturados em no ciclo ou no SQL também temos o firebase nenhum é um sistema de ineficiente banco de dados ele é mais que isso ele é um beck end exe service além dele fazer a parte de uma cuidado ele faz mais outros serviços que a gente também vai ver daqui a pouquinho então em resumo se a gente for comparar lá com os bancos
de dados relacionais os bancos de dados relacionais em SQL a gente tem esquemas mais definidos mais estruturados seria mais focado em relações ele é bom para quais mais complexas para fazer Jones em tabelas que quando a gente juntou uma tabela com a outra esses elementos indicado para performance mas apenas quando o projeto é muito grande quando é um projeto de Big Data um projeto que vai escalar de uma forma muito grande e não esquece banco de dados não relacionais a gente tem um esquema bem flexível em time de esquemaless porque basicamente você pode trabalhar sem
utilizar essa parte estrutura de esquema ele segue uma lógica um pouquinho diferente Além disso ele permitir relações mas não é permite relações mas não é foco ele não é muito bom fazer quais complexos tem que tomar cuidado com isso e ele é muito bom para performance são só uma quantidade usei muito rápidos escaláveis e vamos conhecer um pouco então do fire base como é que funciona esse serviço então como eu falei o Fire base é todo um serviço de banco de dados que também traz outras funcionalidades então a gente consegue também ter a parte de
autenticação de usuário Às vezes pode ser uma parte complexa a gente tá trabalhando na criação do aplicativo aí do zero e pode demorar bastante na parte autenticação e o Fire bem Traz esse serviço pronto porque tem que ter segurança e tem que ser criptografado então tem vários recursos e com firebes já oferece a ferramenta gigante da Google então a gente pode ter muita confiança essa ferramenta Além disso tem também hosting então se a gente quiser hospedar o nosso site nosso aplicativo oferece opção Tem a parte de cáld functions que a gente consegue fazer funções a
nível da nuvem elas rodarem e a parte machine learning em um banco de dados que a gente vai usar que é o Fire Store que é o banco de dados não esquecele além disso a gente consegue guardar arquivos então mídias com PDF fotos a gente tem um lugar só para isso lá dentro do fire base para guardar arquivos a gente consegue também ver todos os dados do nosso app então quando que como que tá a performance no nosso app tipo consegue ficar de olho fazer teste também consegue também ver os dados do crescimento nosso aplicativo
Então se o nosso Web está lá nas lojas oficiais a gente consegue acompanhar como se fosse um Google Analytics né que a gente olha para sites a gente consegue ver a nossa performance nosso app dentro do fire base Então são muitas e muitas funções que é um serviço completo que vai oferecer pras pessoas que estão aí querendo construir aplicativos robustos e contam com serviço de backing integrado não só um banco de dados simples e grandes empresas no mercado adotam Fire base o seu backing oficial como por exemplo do lingo alibaba New York Times Twitch trivago
Então são grandes empresas que utilizam o firebase para escalar os seus projetos os aplicativos o seu software ele geralmente ele mais utilizado para aplicativos E além disso firebais e conta com planos gratuitos aí de ótimo benefício ou quando você entra no plano pago geralmente você tem que usar muito os seus dados o seu aplicativo para começar a ser cobrado de uma forma um pouco mais cara a verdade às vezes você vai pagar bem pouquinho e consegue fazer muito e muita coisa aqui ó por exemplo nós temos leitura de documentos então o que que é uma
leitura toda vez que alguém vai ler o seu banco de dados ler um documento Então vamos supor que eu tenho lá o documento do Mateus Castelo como estudante tô na página do Castelo e eu consigo ver os dados do Estudante eu sou uma pessoa um usuário ele vê a minha página dos detalhes do aluno Mateus Castelo Isso é uma leitura aqui a gente consegue fazer mil leituras por dia então é muita coisa geralmente sou você tem que ter bastante usuário para chegar nessa taxa de 50 mil leituras por dia né além de ter bastante usuário
os usuários tem que usar bastante esse aplicativo Então os planos do firebais eles acabam tendo ótimos benefícios para você que quer escalar o seu aplicativo eu já vi algumas pessoas reclamam que os planos firebais e podem ser caros Mas isso pode acontecer por causa de algum erro do projeto ou por conta de algum erro da modelagem do banco de dados em si que fez o seu appc por exemplo se lido várias vezes de uma forma que não seguisse os princípios e as estratégias para ter alta performance e otimizar Seu banco de dados eu conhecia outro
motivo muito grande que a sala é bem importante para você é a base para conseguir mudar essas maturidades e não tem problemas ali comprar os preços do firebis e lá no futuro um erro para o banco de dados pode custar caro eu em resumo no Fire base a gente tem algumas vantagens né que eles têm os dados aí organizados em tempo real tem uma dedicação quem puxo notifications tem a segurança do seu aplicativo parte analíticas por trás do app aplicativos aí qual sua performance escaláveis e os planos aí eles são bem generosos com quem está
começando e por outro lado temos os pontos a considerar né porque o firebase acaba sendo uma ferramenta de backing ela não é no code então a gente consegue fazer muita coisa mas de uma forma outra a gente vai ter que às vezes mexer um pouco no código para projetos mais complexos e utiliza o no SQL aí que pode ser um ponto negativo ponto positivo tudo vai depender do seu conhecimento e de quão familiarizado você vai ser como metodologia aqui do nosso que é porque às vezes pode dar um nó na cabeça por não seguir aquele
espaços e a mitologia padrão de banco de dados relacionais né que tiver tudo em tabelas pode ser um pouco mais confuso dito isso vamos para a mão na massa vamos entrar no Fire base para conseguir construir uma quantidade num relacional e na prática entender realmente como funciona né senão eu fico falando aqui às vezes não fica muito claro como entrar na plataforma que eu vou explicar passo a passo e a gente vai criar um banco para entender os princípios e depois disso a gente pode avançar e começar a modelar o nosso projeto Então pode entrar
no site do firebase e aqui na home depois você pode dar uma olhadinha né como é que funciona ele vai repetir basicamente tudo que eu já tinha falado né na parte criação monitoramento engajamento aí do seu aplicativo e a gente consegue depõe Pois dá uma olhada aqui nos preços se você quiser um vídeo só sobre preços pode comentar aqui embaixo e aí a gente pode planejar um vídeo só sobre esse conteúdo Mas aí pode começar como eu já fiz a minha conta eu vou direto para o meu console aqui e aqui no seu console você
pode criar um novo projeto Tá bom então vou criar novo projeto vou dar um nome pro meu projeto vai ser um app de cursos o exemplo de modelagem que a gente vai seguir vai ser o mesmo exemplo da aula anterior que a gente vai criar um aplicativo de cursos e como as tabelas e como as coleções do documentos eles vão estar relacionados entre si vai ser que a gente vai modelar aí do zero eu vou vir aqui em continuar eu vou desativar o analyt que está não precisa agora isso é mais para frente quando a
gente quiser ver como o nosso App ele está se comportando os usuários estão baixando interagindo isso a gente não quer agora a gente quer aprender os fundamentos quando finalizar pode ir em continuar e aqui entramos no nosso dashboard aqui do firebase que ele vai oferecer todos os nossos serviços Tá bom então olha que legal aqui a gente tem autenticação que a gente pode ativar Depois temos o cloud Fire Store que vai ser o banco de dados não relacionando Fire base e se eu clicar em criação eu vou ter alguns outros serviços você pode dar uma
olhadinha também ó Tem a parte de Stories que a gente consegue guardar os nossos arquivos de mídia Então tudo isso vai ser muito importante aqui no caso a gente quer entender realmente Como é o funcionamento de uma curiosidades relacionais Então a gente vai vir em Cláudio pai Store e aqui no banco de dados Fire Store Vamos criar um novo banco de dados para criar nosso primeiro banco aí eu vou começar em modo teste tá só para ele ficar mais mais fácil da gente ser utilizado aí ele fala aqui ó que essas regras geralmente o Fire
base ele tem algumas regras para falar quem é que vai conseguir por exemplo visualizar os seus dados ou editar ou escrever em cima dos seus dados ele fala aqui ó o modo teste ele não é o modo seguro porque ele vai estar aberto para todo mundo então ele vai deixar essas regras apenas por 30 dias ele fala assim cara se você quiser usar o seu banco de dados depois você vai ter que mudar suas regras e deixar ele mais seguro Então por 30 dias depois você vai começar a receber e-mail se você não mudar essas
regras Ele tá te avisando que o seu banco de dados ele tá aberto mas tá tranquilo porque agora a gente tá mas os aspecto didáticos Então vamos continuar aí avançar E aí mais para frente a gente muda essa parte aqui a gente vai escolher o nosso servidor o nosso servidor basicamente é onde que nossos dados realmente vão estar armazenados colocar o físico colocar o do mundo então Fale bem ele tem vários servidores ó por exemplo nos Estados Unidos na Ásia vamos lá em salva American São Paulo aqui ó então é bom você escolher um baú
de dados próximo a você porque ele também vai impactar na performance ele tá mais próximo na localização física Então vou dar o OK aqui e vou criar um banco de dados em São Paulo pronto meu banco de dados foi criado e aqui a gente tem esse formato de coleção é bem diferente do que está acostumado de forma a tabela né lembra que uma coleção é uma pastinha em cima a gente consegue ver nossas regras né que é a parte de segurança de dados aqui em uso a gente consegue ver o uso do nosso banco de
dados para ver quais leituras e gravações estão sendo feitas e aqui em dados vão voltar lá para criar nossa primeira coleção então eu vou clicar aqui em criar coleção e o nome da primeira coleção o nome da minha primeira pastinha vai ser cursos tá porque a gente tá criando o aplicativo de cursos e alunos para dar como exemplo né eu exemplo lá no culto de Startup que tem nossas informações eu vou colocar aqui o nome da minha coleção e cursos aí ele fala assim ó qual que vai ser o ID eu sempre obrigadoriamente tem que
ter uma ideia único para cada objeto não né documento aqui você pode automático se eu clicar aqui ó ele já tinha automático para gente então vou deixar automático vai ser o identificador né desse documento e aqui eu vou ter meu primeiro campo né então qual que vai ser o nome do curso né o nome do campo um do meu documento nome então vai ser uma ação butterflow é um dos cursos que a gente tem lá no Coach Startup ele é do tipo string então string tipo texto tá e aqui você pode considerar se é número
se é boleando semep já vou dar alguns exemplos né E aqui por exemplo vou clicar mais para um documento é um campo e vou colocar duração a duração em horas vai ser um número então vou colocar aqui tem 20 horas e eu vou salvar então olha como ficou a estrutura no SQL temos o curso e aqui temos os documentos temos os dados que estão naquela pastinha né de curso Então primeiro documento é a formação fatherflow ele tem aqui a duração de 20 horas então a gente já consegue ver nossa coleção aqui né ursos aqui é
mostrar todos os documentos estão dentro e temos o nosso documentos se eu quiser criar mais um documento né vou criar a formação plataforma Então vou vir aqui código 2 de automático vou criar um nome aqui e na verdade aqui vai ser a formação Bubble nosso outro curso que a gente tem lá Bubble ion o campo agora olha que legal essa parte importante para entender lembra que no banco de dados relacional a gente fazia tudo bem estruturado bem organizado aqui vai ser diferente aqui a gente pode por exemplo ao invés de ter o campo duração vai
ter o campo professor né a professora do curso bobói ou é o neto E além disso vai ter outro campo e vai ser sei lá dificuldade é uma dificuldade vai ser intermediária intermediário e vou salvar então olha que muito doido isso a gente tem uma coleção e tem informação mas os campos eles estão diferentes entre si é um nome bate né é o mesmo mas aqui eu tenho duração e aqui eu não tenho duração que eu tenho dificuldade professor e tá tudo bem Tá tranquilo porque bancos de dados em no esql banco de dados não
relacionais é muito mais flexível a gente pode ter Campos a mais em um Campos a mais em outros a gente tem muita flexibilidade para trabalhar com os dados e a gente consegue ter essa diferenciação entre os documentos Então meus documentos eles podem ter Campos aqui que eles não vão bater vão ser Campo absolutamente diferentes claro que quando a gente for organizar uma quantidade estruturada até alguns Campos aí que vão ser obrigatórios e para nosso aplicativo funcionar esses campos aí eles vão ter que ter os mesmos nomes Mas se a gente quiser fazer coisas diferentes aqui
no meu com os dados eu não preciso seguir as mesmas regras rígidas dos bancos de dados relacionais que a gente seguia é muito mais tranquilo a gente trabalhar aí fazer inovações mas também acaba sendo uma grande responsabilidade para manter nosso aplicativo aí rodando então aqui a gente entendeu que nós quer ele é muito flexível temos as nossas coleções nosso e dentro de documento O que é mais interessante é que a gente consegue adicionar uma coleção então é uma outra pastinha dentro do documento por exemplo aqui na formação Bubble poderia até a coleção alunos é mostrar
então Isso se chama subcoleções vou adicionar é teu código aqui vai ter um nome qualquer coisa seu nome do aluno nome aluno João João né do aluno E aí ó ele já cria uma outra subliculação indo para frente eu não posso criar aqui um outro aluno né aí de aluno vai ter o aluno Bruno aí que vai ter também um aluno e vai se chamar Cris Opa o nome né o nome é o campo Cris e vou salvar então ó Isso é bem importante você entender a gente tem coleções a gente tem documentos e dentro
dos documentos a gente pode criar novas coleções que vão ter os documentos a gente pode infinito vai indo atrás do outro né a gente pode ir crescendo esses dados então ó se a gente voltar aqui ó cursos tem dois cursos e dentro da formação Bubble tem os alunos tem as coleções que vai ter aqui os alunos de todos os alunos aqui Inclusive eu poderia criar uma outra coleção para sei lá falar alguma outra informação só do aluno Cris a gente consegue trabalhar aí com esses dados e dos Estados vão ser estruturados de uma forma de
som né então eles vão ser conectados entre si e tudo vai ser a gente consegue ler daquela forma que eu mostrei lá nos slides e vamos voltar aqui e eu vou adicionar um campo no Bubble né eu vou colocar aqui também duração e vou colocar no mérito e eu queria mostrar mas são outros tipos de Campos para você entender que existem né a gente tem o campo é pode ser por exemplo Ah o curso é avançado sim ou não quando é sim ou não true ou falso verdadeiro ou falso a gente pode vir aqui em
boleto ou falso a gente fala esse valor assim ou não né consegue adicionar além disso a gente tem Campos do tipo vamos vir aqui ó o map pode ser pode ser depois clique aqui ó tecnologias tecnologias ele vai colocar Campos dentro de Campos ó que interessante Então aqui vai ser Qual a tecnologia A gente vai usar para o front-ent por exemplo do front-end a gente vai aprender vamos OK aí para o backing end esse curso aqui a gente vai aprender outra ferramenta que é Zeno eu posso ir vir aqui adicionar então ele vira um campo
outras informações é o campo tipo map Além disso eu tenho tipo do campo que pode ser tipo a Ray é uma matriz né a gente fala que é uma como se fosse uma lista né uma lista grande é que a gente poderia ter também e a gente poderia por exemplo ter atualizações né então sei lá o curso Ele tá na atualização 1.0 aí depois atualização 1.1 é atualização 2.0 não sei seria uma lista que a gente consegue ter de valores ó essa lista né um de zero é o primeiro da lista e depois vai seguindo
Então esse é o tipo lista também a gente consegue colocar datas tempo que consegue colocar data de criação por exemplo né das criação é uma hora que aleatória vai ser essa aqui data de criação do tipo data eu não tenho aqui para gente trabalhar com valores de data e também bem importante a gente tem o campo e é no formato Friends é uma referência uma conexão com outra coleção ou outro documento né então por exemplo aqui vai ser pré-requisito né é requisito vai ser o curso de flutterflow e como que a gente faz a referência
para essa outra coleção né bem parecido com as chaves que a gente usa lá nas tabelas relacionais eu clicar aqui no documento butterflow todo o documento vai ter um caminho que é esse caminho aqui tá aqui em cima se eu clicar aqui no lapisinho vai mostrar qual que é esse caminho eu vou vir aqui ou dar um control c ou fechar ou lá no Bubble E aí eu vou colocar adicionar campo do tipo afrence e vai ser o urso venceu para requisito né porque eu tenho que fazer o curso de platterfly antes requisito caminho documento
control V então ele vai entender que esses documentos eles estão relacionados entre si e eu vou adicionar então aqui embaixo ó ele vai mostrar que o pré-requisito é esse caminho do documento que ele vai saber que é o meu documento butterflow Então dessa forma a gente consegue já pensando em como relacionar os dados porque não esquece ele pode ser pode ter sim relações aqui no Fire base a gente também consegue fazer consultas ou nesse filtro aqui ó eu posso vim e fazer uma consulta então supor que eu quero pegar o campo duração né ele tá
pegando os campos em comum entre os dois documentos eu quero adicionar uma condição uma condição é que é maior que maior que não é uma string não é um número né Maior Que 25 então ele já faz aqui ó lembra da minha Claire Então a gente tem uma crail olha que legal lembra que a gente fazer de uma forma aí no modelo SQL Não esquece ele vai ser aqui dessa forma na coleção cursos eu quero fazer um ar que é um molde a duração seja maior que 25 e ele ordenar aqui para mim a duração
em crescente né do menor para o maior eu vou vir aqui aplicar ele vai achar que o meu único curso que tem uma duração maior que 25 e é o curso aqui por exemplo de Bubble né então ele só mostrou esse documento é dessa forma que a gente consegue fazer dentro de modelos de banco de dados não relacionais espero que tenha ficado Claro esse primeiro contato com Fire base como funciona aí os bancos de dados as relações dos tipos e também os filtros que a gente conseguiu usar né nas cores agora a gente vai voltar
a apresentação para entender como a gente pode fazer o design da modelagem de uma qualidade quando ele é não é relacional depois a gente vai voltar aqui e vai modelar por completo O nosso exemplo do nokout Startup que vai ter os cursos Os alunos usuários a gente vai fazer o desenho e depois voltar aqui no Fire base Bora lá pra apresentação para continuar eu já estou aqui com um bobinho o Doguinho no code do canal ele quis participar do vídeo então eu falei chega aí Bob vamos fazer um take Mas vamos seguir agora a gente
vai ver quais são as estratégias para a gente fazer essa modelagem também eu vou explicar como a gente faz as relações do banco de dado Bora lá dar tchau pra galera bobinha então primeira coisa que a gente vai entender agora é a metodologia para fazer a modelagem de banco de dados não relacional então bem parecido com os passos da modelagem em bancos de dados relacionais e SQL a gente vai começar sempre com análise de requisitos que é o estudo na nossa tecnologia do nosso projeto que a gente está desenvolvendo entender Quais são as necessidades os
requisitos usuário então o que que ele vai fazer com software o que que ele Quais são os principais funcionalidades e com que a gente vai suprir essas funcionalidades aqui no caso quem faz essa parte é um profissional de analista de sistemas e esse vídeo focado para modelagem e banco de dados se você quiser um vídeo Apenas sobre análise de requisito de software deixa no comentário que a gente pode fazer no futuro mas é uma etapa Inicial muito importante antes da gente conseguir a parte modelagem de banco de dados e aqui no no SQN mais importante
a gente entender Quais são as perguntas que a gente vai precisar fazer para o nosso banco e aí a partir daí a gente pode seguir os outros Passos quer fazer também um modelo conceitual que entender as relações E como que elas vão se relacionar parecido que a gente fez no modelo de bancos nacionais Mas é uma visão mais alto nível e a gente também não vai se preocupar tanto na estrutura nas relações e sim nas perguntas Tá bom mas que é a diferença e também Aí a gente fazer o modelo Lógico que a gente pode
mapear e ver quais são os campos relacionados Quais são as coleções os documentos sempre pensando nos tipos de consulta E aí vamos ter um modelo físico que a gente cria nosso banco de dados né E aqui no caso a gente tem um Fire base que é um foco do treinamento mas também para documentos e coleções um longo DB ele vai se comportar de uma forma muito similar com Fire base então tudo que a gente tá falando aqui também vai estar relacionado com qualquer outro tipo de sistema de banco de dado não relacional entendido quais são
os passos para fazer essa modelagem do banco de dados a gente tem alguns princípios aí muito importante na modelagem no SQL voltada para documento Primeiro as cores elas devem ser estratégicas e devem ser rápidas a gente sempre em performance e sempre vai se perguntar quais informações eu vou precisar do meu banco a partir daí eu vou modelar meu banco de dados Além disso as coleções elas podem ser grande mas os documentos eles devem ser pequenos e para ter uma maior performance a gente pode seguir essa lógica os documentos também não pode ter mais que um
megabyte e no site do fire base eles explicam certinho Como que você pode fazer esse cálculo mas também documento pode ter muita coisa assim para chegar em um megabyte só de informação mas de forma geral em documento por exemplo a gente pode ter muita informação para ser considerado algo grande depois pode dar uma olhada no site do firebais que ele explica certinho como você pode fazer esse cálculo Mas é interessante sempre seguir essa linha aqui isso porque quando a gente pega um campo apenas do nosso documento todos os campos eles são carregados em conjunto por
isso que a gente tem que tomar cuidado em colocar muito e muita informação dentro de documento apenas e tem que pensar em Como dividir isso em coleções ou subcoleções outro princípio é super importante é que a duplicação de dados é permitido e é uma boa prática e no SQL às vezes dependendo das perguntas que a gente quer fazer a gente vai precisar ter os mesmos dados em lugares diferentes para conseguir otimizar nossas consultas então toda aquela parte de normalização que a gente seguir o passo a passo lá em banco de dados relacionais e SQL ela
não vai contar muito aqui tá bom a gente vai às vezes até ter que normalizar então é como sempre a prioridade é sempre conseguir o dado que a gente quer sem precisar ficar fazendo várias consultas porque a gente fizer várias Consultas por exemplo na mesma tela Isso pode impactar e a nossa performance conectado com esse princípio Às vezes a gente pode agregar os dados Então a gente vai colocando tabelas né mas tudo em coleções e conjuntas para eu olhar para os dados apenas em um lugar e carregar de uma forma mais rápida Eu espero que
tenha ficado claro essa parte de princípios e e eu queria reforçar novamente esse aqui já falei várias vezes mas o princípio mais importante é você pensar em quais consultas você irá precisar para o seu banco de dados então para realizar a modelagem scale pense sempre nas cores quais com suas Você vai precisar fazer isso a gente só consegue fazer com análise de requisitos bem feitas a gente entender quais vão ser as informações estratégicas que a gente vai precisar para nosso aplicativo e também é importante ter uma noção das Telas porque em cada tela vai ser
uma consulta diferente que a gente vai precisar fazer então a partir do momento que a gente tem que fazer várias consultas para mostrar mais informações na mesma tela Isso pode sobrecarregar o nosso banco de dados por isso que é bem importante isso tá sempre bem organizado e bem estruturado e etapa de análise de requisitos tem que ser muito bem feita então agora vamos modelagem na prática e como eu já tinha falado a gente vai usar o exemplo lá no code Startup que a gente tem as formações né a formação protetor Flow formação Bubble Onde você
consegue criar aplicativos sem precisar programar Pois dá uma olhada se você quiser criar um aplicativo aí do zero para o seu negócio ou se você tá abrindo programação e você quer acelerar o seu conhecimento já criando já criando o aplicativo reais e robustos Mas sendo muito mais rápido ou no code e tudo com as bases de conhecimento bem fortalecidas uma esse conteúdo de modelagem de uma convidada no SQL antes a gente partir para modelagem desse Case em si vamos entender as estratégias que a gente tem que seguir para modelar um banco de dados essas estratégias
tem como fonte vários artigos e vídeos e cursos que eu acabei estudando nesses últimos meses eu vou deixar todas as fontes no final da apresentação tá esse material vai estar disponível para fazer o download Se você quiser é só entrar aqui na descrição do vídeo que vai ter o link para download do material completo Eu também queria deixar muito claro esse assunto sobre em banco de dados ainda é mais focado para banco de dados não relacional é um assunto muito vasto em conhecimento aqui que eu poderia fazer um curso de 10 20 30 horas e
não conseguiria acabar Então esse vídeo aqui é mais introdutório para você entender os conceitos aí de uma forma bem estruturada bem organizada mas depois é contigo estudar um pouco mais sobre assunto entender Quais são as peculiaridades para o seu projeto em si dito isso Bora para as estratégias então para mostrar as formas as estratégias que a gente tem de conectar os dados entre si de modelar os dados em no esql eu vou usar o exemplo de avaliações lá no Coach Startup Então vamos supor que os alunos eles fazem avaliações sobre os cursos que a gente
tem um que a gente pode modelar isso como a gente pode é organizar os dados das avaliações encoleções diferentes em documentos vamos ver quais são as opções que são as estratégias disponíveis e a primeira estratégia que a gente pode seguir é mais simples que é incorporar os dados dentro do documento da coleção em si por exemplo exemplo aqui a gente tem a coleção curso né E a gente tem os cursos né Tem um curso um e o curso dois no caso aqui seria o flutterflow e o Bubble Eu tenho meus Campos meus Campos E aí
eu posso ter um campo do tipo map não lembra aquele cão que a gente consegue colocar dados vários dados dentro de dados eu poderia até aqui ó é um campo não sei avaliações E aí eu vou ter as avaliações dentro desse Campo não seria uma forma mais simples e digitar a gente tá aumentando o documento e colocando já a informação dentro do próprio campo e quais são e quais são os pontos positivos e negativos da gente usar essa estratégia bom os pontos positivos é que os dados já estão conectados ao documento em questão então se
eu quiser fazer uma pergunta aqui das avaliações desse curso consigo ver as avaliações porque vai ser fácil fazer uma Claire a consulta vai estar conectada por outro lado tem alguns pontos é considerar primeiro pode acontecer de ter uma performance se tiver muitas e muitas avaliações tá vamos supor que tem lá é 5.000 avaliações aqui desse Campo avaliações então quando eu carregar por exemplo apenas o nome do curso a duração numa página detalhes do curso todas as avaliações vão ser carregadas em conjunto então isso pode afetar bastante a performance e o carregamento do banco de dados
dcp Então a gente tem bastante cuidado e dependendo da pergunta da informação que a gente precisa da currie isso pode sobrecarregar e deixar ele menos performático E além disso a gente tem uma limitação de consulta Então vamos supor que a gente queira fazer uma cor e para consultar as avaliações de todos os cursos mais recentes então eu quero juntar né as avaliações do flutterflow e do Bubble que é o curso um curso dois eu queria um lugar mostrar ela juntas mas as mais recentes é com mais ficar complicado entende porque para fazer uma consulta eu
vou ter que entrar esse nessa coleção nesse documento e vou ter que puxar as avaliações depois vou ter que fazer outra consulta e traz coleção nesse documento puxa as avaliações Então já começa a ficar Custoso para o banco de dados no SQL fazer esse tipo de consulta porque as avaliações Elas são lá dentro do documento elas não estão numa parte assim mais macro mais geral daí a gente acaba tendo limitação de consulta nesse caso E além disso a gente tem que tomar cuidado com segurança e privacidade no Fire base a gente consegue diferenciar a segurança
de acordo com as coleções Então fala assim ah essa coleção aqui essa pastinha eu quero que ninguém consiga acessar ela porque ela tem dado sensíveis então no firebis é fácil fazer isso a gente consegue bloquear apenas aquela pastinha aquela coleção mas quando os dados eles estão dentro de um documento que está público já começa a ficar mais difícil Então dependendo do caso a gente tem que tomar cuidado com a parte de formação de dados e segurança eu fico Claro os pontos positivos e os pontos a considerar não vai depender de quais tipos de consulta você
tá querendo fazer normalmente esse caso aqui ele é ideal para poucos dados né então a gente por exemplo vai ter o top top 10 avaliações aqui dentro do meu documento esse caso aí vai ser tranquilo eu posso puxar as penas top 10 avaliações e deixar aqui dentro do documento Então seria a estratégia um e a estratégia 2 seria um pouquinho diferente a gente também vai conectar os dados mas a gente vai usar uma subjeção então ao invés de ter um campo só para aquilo lá no curso Curso um vai ter a sub coleção avaliação tem
uma outra pastinha lembra que eu mostrei lá no Fire base não vai ter aqui o documento um que avaliação um avaliação dois então vai ser uma pastinha gerenciada aí do meu do meu documento Mas ela tá dentro do documento Então essa opção ela tem prós e contras também os pontos positivos os dados ele já estão conectados ao documento em questão tá fácil e conectar melhor performance porque a gente vai carregar as coleções senão grandes documentos e mais seguros porque os dados estão separados em coleções diferentes então a gente consegue definir sim melhor as regras de
privacidade e segurança do fire base e aí os pontos a considerar a gente pode ter limitação de consulta Porque da mesma forma ainda a informação ela tá conectada à coleção pai que é coleção que está acima né então a gente só vai conseguir fazer as perguntas as cores relacionadas ao curso em si e não de uma forma geral como estava querendo ou até mesmo conectar com outras coleçãos com outras coleções por exemplo vendas eu quero saber as vendas das avaliações enfim tem muitos tipos de informações que a gente pode ter então aqui nesse caso é
ideal para consultas que elas não tenham relação com os documentos pai perantes então se você quiser fazer consultas apenas avaliações daquele curso beleza tranquilo mas eu quero fazer consultas aí mais Gerais conectadas com negócio como todo e com outras coleções eu tenho que pensar um pouco a mais daqui um exemplo né então vamos porque eu tenho detalhes do curso e eu quero mostrar só as avaliações daquele curso aqui seria uma boa forma ainda a gente usar esse método essa estratégia dois e aí nós temos a estratégia três é criar novas coleções com relações esta aqui
vai ser uma outra forma ao invés de colocar uma sub coleção né que é uma coleção dentro da outra eu vou colocar coleções aí separadas mas sempre no mesmo nível que é o maior nível que a gente chama né Por exemplo a coleção cursos aqui e a coleção avaliações Então são pastinhas separadas mas aqui dentro de avaliações eu tenho o meu ID do curso Então eu consigo falar que si esse documento ele tá conectado aqui com meu curso Agir é bem tranquilo fazer essa relação Então essa estratégia três de fazer novas coleções a gente tem
prós e contras também né pontos positivos a gente tem uma melhor performance pois não tem documentos grandes coleções menores e aqui é mais adequado para consultas e acaba sendo mais seguro né então a gente consegue ter sempre o girar e fazer perguntas mais estratégicas Então pode usar considerar que os dados Eles não estão conectados aí de uma forma direta né um documento em questão e pode acontecer nesse aqui que é bem importante a gente tem que fazer várias cores várias consultas diferentes na mesma tela Isso pode impactar o nosso projeto e aqui seria um cenário
ideal quando a gente tem as coleções aí já agregadas ah e bem importante a gente também pode duplicar dados tá então se a gente quiser dentro aqui desse documento avaliação já puxar alguma informação sobre curso como por exemplo a logo dele o nome do curso ao invés de eu ter que ir lá para pastinha do curso eu posso colocar aqui já e duplicar esses dados Então seria uma alternativa aí para a gente fazer aqui para esse caso das coleções Espero que tenha ficado claro essa parte é 1 2 e 3 se você não entender muito
bem ver o vídeo com calma vai fazendo anotações porque é realmente difícil de gerir essa parte e também vai depender muito do seu projeto como eu falei você tem que entender Quais quais consultas e informações você vai ter que fazer eu vou prosseguir e vamos entender como fazer as relações alguns exemplos de relações então lembra lá da relação um para um com os dados é o professores e cursos aqui a gente pode ou colocar a nossa ID né da referência não vai ter referência aqui do professor lá na coleção dos professores né velho da coleção
dos cursos vai ter referência do professor e aí eu vou conseguir fazer as tabelas se conversarem entre si tá essa é uma forma mas de uma forma geral que a gente pode fazer Já que é uma relação para um nesse caso talvez até seria melhor a gente juntar as coleções humanas nas outras Porque quanto mais agregado e tiver os dados melhor vai ser para as consultas pra gente fazer consultas aí diferentes então em resumo a gente tem um relacionamento que a gente consegue conectar a via aí de e também agregação que a opção 2 tá
enchendo aos dados de uma forma geral eu acho mais interessante opção dois Porque quanto mais agregado mais performance e a gente vai ter E aí temos a relação um para muitos aqui já começa a ficar mais complexo porque a gente tem que pensar lá nas nossas estratégias Ah um dois e três a gente tem que ir com calma vamos respirar respirar com calma e vamos um passo a passo metodologia então curso possui várias vendas vão pensar se faz a pergunta você sempre fará uma consulta conectada com o documento pai vamos supor que tem a nossa
coleção a nossa bastinha cursos e vai ter várias vendas né Mateus registro das vendas cada venda vai ser um documento vamos supor que eu sempre queira fazer consultas relacionadas apenas com os cursos daí eu vou me perguntar tá os dados eles são menor aqui um megabytes a gente pode usar a estratégia um quem incorporar os dados dentro do próprio documento então daquela forma de Map sabe que a gente faz então colocar as vendas lá cada venda seria um campo se os dados passarem você vê o que os dados vão ficar grandes a gente pode ir
pela estratégia dois que é usar o bichões Então dentro da pastinha e cursos vai ter subconscões que vai ser a pastinha de vendas dessa forma a gente consegue trabalhar melhor a performance beleza mas vamos supor que eu queria fazer perguntas mais estratégicas né consultas mais focados não só das vendas com curso mas por exemplo com vendas com alunos ou vendas com professores então daí dessa forma eu vou precisar fazer consultas entre coleções diferentes daí eu vou usar a estratégia 3 e criar novas coleções e sempre na mesma nível hierárquico eu dessa forma a gente consegue
organizar bem quando usar a cada estratégia vamos supor que eu quero saber quais são os top 5 dias que mais Venderam do curso A então aquelas perguntas elas estão relacionadas apenas com um curso em si específico um curso a né a gente poderia usar estratégia um quando a gente tem poucas informações a estratégia dois poderia por exemplo perguntar qual foi o mês que mais vendeu aí do curso a porque ele é um grande quantidade de dados para a gente consultar aí na nossa coleção de vendas diretamente né que seria uma subseção e na estratégia 3
a gente pode ter uma pergunta por exemplo Qual o total de vendas de todos os cursos em janeiro pelo professor Castelo então por exemplo aqui produtor relacionando com a coleção professores né ou contra a coleção que vai ter o dado do professor dessa forma como a nossa pergunta ela tá num nível hierárquico maior que está relacionado com as coleções teria que usar a estratégia 3 e dessa forma a gente consegue estruturar melhor as nossas coleções e nossos documentos para o nosso projeto da Castelo mas é a nossa relação aí muitos para muito né que tinha
no caso os alunos cursos que a gente tinha uma tabela auxiliar entre elas para ajudar a fazer essa conexão aí no SQL como a gente faz em modelos não relacionais aqui também é complexo vai depender muito do seu modelo de dados a gente vai tomar saídas diferentes mas um exemplo de aplicação que a gente pode tomar é também fazer uma coleção separada que vai ser coleção por exemplo alunos cursos ou a coleção vai ser matrículas vai ser uma nova coleção que vai conectar as duas essa forma que ela tem prós e contras o principal contra
que a gente tem que tomar cuidado para não fazer o Hermes na mesma tabela aí na mesma tela do seu aplicativo Lembrando que a gente não quer fazer Jones a gente não quer fazer juntar muitas tabelas para trazer uma informação a gente tem que ter muito cuidado com essa estratégia e tem uma coleção separada mas esse seria um exemplo de aplicação ou por exemplo a gente pode nessa relação de muitos para muitos né de cursos alunos a gente pode colocar os alunos dentro da coleção cursos como uma forma de Sub coleção E aí vamos ter
uma duplicação de dados dos alunos Mas tudo bem que é um aluno ele pode estar nos dois cursos isso tranquilo seria uma forma mais organizada da gente estruturar nosso banco de dados em uma relação muitos para muitos e aqui trazendo outro exemplo né Vamos por exemplo do Instagram aqui já mostrando o nosso Insta depois segue a gente lá no code Startup Ah já aproveita sempre postando bastante conteúdo e no Instagram um usuário ele pode ter vários posts né então um usuário tem várias posts mas a gente também tem um modelo de curtidas e dentro da
curtida do post no post pode ter muitas curtidas muitos usuários usuários podem curtir vários posts então existem essa relação dessa tabela aí dentro aí nesse caso a gente também teria essa conexão nas tabelas usuários com os posts por meio da coleção dos likes né que teria oide do like a gente conseguiria conectar o ID do usuário com ID do post para ter essa relação de uma forma mais clara mas aplicativo de redes sociais podem ficar bem complexo quando a gente trata de modelagem de dados para não esquece então tem que ser muito bem pensado Mas
então chega de teoria vamos lá para o Miro e vamos desenhar a nossa modelagem aí do nosso exemplo do zero para ver como é que vai ficar e depois a gente vai no Fire base e vamos deixar nosso banco de dados pronto e estruturado com as nossas relações e tudo bem organizado Beleza bora lá vem aqui pro Miro e puxei o meu banco de dados a minha modelagem que eu fiz meu sistema e relacional banco de dados relacional aqui ó lembra que a gente fez passo a passo aqui dos diagramas né como eles estão conectados
as relações essa seria passando o diagrama aí para banco de dados relacionais E aí para fazer a modelagem do no SQL o que eu fiz foi replicar essa modelagem aqui para primeiro estruturar as minhas coleções envolvidas E como que poderiam estar conectadas as conexões E aí eu já fiz aqui embaixo o desenho das minhas coleções e documentos envolvidos e quais seriam essas relações para ter um ponto de partida inicial eu se você quiser fazer no Miro isso daqui é sem segredo tá eu peguei apenas por exemplo quadrado aqui cinza eu escrevi o nome aluno começou
depois eu coloquei um quadrado partilhado e aqui tem os campos aqui para você conseguir estruturar os tipos de Campos tá nesse caso eu não usei nenhum tipo de padrão específico do Miro algum tipo de biblioteca realmente criei aqui os quadrados do zero se quiser usar esse padrão aí para modelar banco de dados acho que fica bem interessante bem visual então aqui eu tenho as coleções aí alunos né com meus Campos alunos nome CPF tem a minha coleção ele também vendas um aluno é de concurso aí demus da nossa coleção alunos cursos as coleções também aqui
nos vendidos do curso onde os cursos e dos professores e sempre com o zodíades né lembrando que em banco de dados são relacionados a gente também consegue fazer as relações para o meio do campo lá como eu mostrei do fire base afrance né que a gente consegue conectar um Edir com outro para fazer essa conversação entre os documentos ou coleções Então essa seria uma forma da it modelar só que dessa forma tá muito parecida ainda o nosso modelo de dados de bancos relacionais né medicina e coleções documentos mas a gente até conseguiria fazer dessa forma
aqui mas a gente teria que pensar realmente Quais delas vão ter Quais são as perguntas Quais são as informações estratégicas que a gente precisa para o nosso o nosso aplicativo então a forma ideal para te fazer seria a partir das perguntas aqui eu tô aqui eu tô com uma explicação mais didática e aqui também dessa forma a gente não está agregando os dados a gente pode ter algumas algumas consultas que elas podem não ser tão boas para performance e fazer mais de uma consulta na mesma tela que também não seria tão bom eu peguei esse
modelo aqui e comecei agregar os dados deixar ele mais enxuto E aí eu fui para esse modelo aqui é modelo parecido com o que eu já tinha mostrado mas só que agora o que acontece é que eu coloquei na coleção cursos a minha sub coleção alunos e minha sub coleção professores Então dessa forma a gente consegue agregar os dados e deixar todos eles no mesmo lugar para fortalecer as nossas perries e a nossa performance no nosso aplicativo em professores por exemplo comecei a pensar em algumas perguntas aqui estratégicas né Eu quero saber suas perguntas por
exemplo quais são os professores daquele curso mas eu não quero fazer perguntas a nível hierar com maior lembra que a gente teria que usar estratégia 3 para isso eu não quero saber por exemplo qual professor é possui mais vendas ou professor que está relacionado com uma outra coleção eu achei melhor juntar aqui na sub coleção cursos juntar a subcolação dos professores na coleção cursos aqui e aí aqui eu também teria que subir coleção alunos e aqui também ó eu tenho uma nova que eu criei é a coleção usuários a gente sempre trabalha com uma coleção
usuários em aplicativos fica mais fácil aí te organizar os nossos usuários autenticação então fica mais organizado dessa forma e aí aqui tanto para alunos quanto professores eu vou ter um userf né é referência ao usuário em questão também vai ter um professor que ele também vai ser um usuário vai ser referência a um usuário questão dessa forma que fica bem estruturado é mente tem a nossa coleção vendas né que é bem importante então a gente consegue ver os cursos mais vendidos total de alunos para o curso determinado mês tudo isso porque os dados eles também
têm as conexões necessárias Então dessa forma Nossa modelagem de dados Ela já tem um modelo aí muito mais agregado e mais organizado para nossas consultas e sempre vai depender justamente do seu aplicativo do seu projeto Mas eu ainda achando que eu poderia agregar mais e deixar as coisas mais enxutas e o que eu fiz aqui embaixo eu juntei Eu juntei os professores como se fosse os próprios Campos dos cursos porque no caso da nokute setup por enquanto tem um professor apenas para um curso eu como é uma formação em um para um não tem porque
eu criar uma sub coleção posso juntar aqui no campo é base da Estratégia 1 Eu também decidi usar a estratégia um para fazer o alunos no caso fazer uma Ray que é uma lista né uma matriz e nessa lista eu vou ter as referências dos alunos aqui nesse caso como não vai ter muitos milhares de alunos eu decidi colocar aqui nesse Campo que seria uma estratégia aí mais simples mas se você quiser utilizar sub coleção Também seria uma excelente escolha para nossa modelagem final eu decidi deixar assim bem enxuto e bem direto ao ponto e
já vai suprir todas as nossas demandas e assim Chegamos na modelagem final desse nosso banco não racional aí não sequele do Case Donald code tartar em nossos cursos informações né então a gente tem nossas coleções usuários vendas ursos E aí aqui seria uma forma de você fazer que também tá certinha com a subcoções alunos e professores mas eu decidi enxugar toda essa parte e focar um pouco mais na estratégia um vão ser nossa coleção aqui cursos para a gente construir lá no Fire base então daqui a pouco a gente vai voltar lá para o Fire
base a gente vai deixar nosso banco de dados aí bem organizado estruturado alguns exemplos né dessas relações para ficar super Claro Mas também eu vou aproveitar para a gente usar esse backing esse banco de dados para conectar confronte que a gente vai criar um aplicativo do Zero Isso mesmo nessa aula é criar um app do zero para visualizar os dados do banco no relacional e como a gente faz a conexão fica comigo até o final que você não vai se arrepender vai ser superado e bora lá e antes de prosseguir eu queria fazer um resumo
de tudo que a gente aprendeu Cara essa aula aí foi super completa eu não achei nenhum conteúdo tão organizado tão estruturado vez que eu criei aqui só conteúdo inglês mas cada um tava em um lugar tava em artigo eu tava em vídeo e Meio às vezes não tem Que linguajar não didático né isso que eu tentei trazer aqui essa parte muda lá de dados para ficar bem claro porque é um assunto muito confuso na minha cabeça e eu vejo que é bastante confuso para muita gente também então o que a gente aprendeu a gente entendeu
como são as formas de desenhar e no SQL como fazer passo a passo do nosso planejamento e nossa organização nosso banco de dados os princípios mais importantes para a gente modelar e no Scan Quais são as três estratégias na estratégia um dois em três que a gente acabou usando as relações dentro de nós querem como a gente faz esse tipo de relações e vemos o Fire base na prática vou dar uma modelagem aí do zero A modelagem final e agora como bônus final que é o meu viver é a parte mais legal e mais divertida
a gente vai pegar uma quantidade construir 100% ele não Fire base e conectar com o aplicativo Real vamos fazer o aplicativo funcional a partir Então bora lá para isso a gente vai usar a ferramenta no Cude flutterflow uma ferramenta que tem como base a tecnologia flutter por trás e utiliza o código da arte com frutaflow a gente consegue criar aplicativos de múltiplataforma tanto para celular quanto para web a gente consegue criar apps aí de um alto nível de design muito bem elaborado consigamos fazer também lógicas muito complexas dentro do nosso aplicativo para fazer basicamente qualquer
tipo de app E também temos toda conectividade com api banco de dados dentro da ferramenta Flow Além disso muito importante é que o código gerado por essa ferramenta no code que você cria sem saber programar eles têm um código por trás e todo esse código gerado que vai ser em Dart vai ser teu você não ficar preso essa ferramenta você pode criar seu aplicativo e frontinge ou a parte ali da conexão como é Candy e depois se você quiser você pode baixar o código e desenvolver por si só e desenvolver e desenvolver com ferramentas mais
tradicionais ou passar para sua equipe técnica Então isso é um ponto muito positivo da ferramenta flutterflow E além disso O Frater flores conecta com front-end e o back end então a gente pode se conectar com qualquer tipo de back-ind como por exemplo os bancos de dados aí tradicionais né que tem um post Grill mas ql o mundo bebê a gente consegue fazer conexão entre o banco via api Então ele pode se conectar essa parte do front-end com qualquer tipo de backend é uma das grandes forças aí do futebol E além disso a gente consegue se
conectar com os backings essas service como por exemplo firebais e o super base Candy um pouco mais louco hoje às vezes a gente vai ter Pouco contato com o código e o interessante que o protetor tem uma integração Nativa com Fire base então é muito fácil conectar funciona muito bem e a gente consegue ter esse fluxo aí de uma forma muito organizada tanto no Fire base quantos paybase A diferença é que o Fire base ele vai ser mais a parte do modelo não relacional né Não esquece que a gente veio aqui Fire base vai utilizar
Mas o modelo relacional e de SQL Mas se você quiser também ele pode conectar com ferramentas de backing no Cold como por exemplo vai table e o Zeno acaba ficando bem mais tranquilo daí de fazer essa conexão e com essas ferramentas a gente consegue ter projetos e escaláveis com muitos e muitos usuários com uma alta performance então É bem interessante aí fazer essa união do futebol com a sua ferramenta backing favorita no caso aqui a gente vai utilizar o firebase porque a estrutura da aula e até o nosso banco a gente consegue também criar aplicativos
aí robustos escaláveis com Fire base e lá na formação platterflow se você quiser depois dar uma olhada a gente constrói do zero um aplicativo de dashboard um menu aí responsivo a estrutura também vai ter aula da conexão desse frontinho com a inteligência com banco de dados Além disso na formação a gente vai fazer a modelagem no banco de dados de um projeto tem mais complexo mais detalhado é um assunto muito conectado com essa aula depois a gente vai fazer toda a parte também de publicação segurança do aplicativo depois dá uma olhadinha lá que tá bem
completo É bem interessante mas vamos para o que importa Vamos criar nosso aplicativo para conectar o nosso banco de dados aí do firebais banco de dados o nosso projeto de cursos que vai ter os professores os alunos então preparei três telas aqui é o nosso design de telas na nossa planejamento a gente vai ter a tela de login a gente vai ter uma tela um de o aluno vai conseguir ver os cursos dele né os cursos relacionados E se ele clicar no curso ele vai para os detalhes do curso Então basicamente essas três cenas do
aplicativo com autenticação né Para a gente saber qual o usuário e tá logado e acaba sendo um exemplo perfeito para a gente conseguir ver o nosso banco de dados em funcionamento e aqui nesse vídeo A gente vai ver nada sobre design sobre a introdução da ferramenta do flat se você quiser que tem um curso completo gratuito que eu vou deixar o Card aqui e a gente começa a ver toda essa parte de como mexer a ferramenta Max design conexão com banco de dados aqui a gente vai direto para o nosso tratamento aí a nossa integração
do vou com o Fire base e para isso eu trouxe um projeto pronto que você vai precisar apenas clonar aí para sua área do flutterflow para a gente fazer essa conexão do banco de dados que vai estar tudo basicamente pronto então esse projeto pronto vai consistir nessas três telas Olha que irado a gente vai ter a parte do login e do cadastro do cursos Startup vai ter a área aqui dos meus cursos né onde eu não vai conseguir ver os cursos que ele tá cadastrado E se ele clicar no curso ele vai para aqui na
nossa tela aí de detalhes para ver qual que é a descrição desse curso quem é professor e se quiser começar então um aplicativo é muito bonito bem elaborado que vai estar tudo conectado com o nosso exemplo aqui da aula e aqui embaixo tem um link para esse aplicativo como eu falei o material tá aqui na descrição desse vídeo só clicar aí ou você pode copiar o link e o seu navegador que você vai acessar o projeto completo para poder clonar Então bora criar esse App de curso vamos lá pode entrar no site do fusterflow depois
se quiser conhecer um pouco mais aqui informações ele se explicando sobre o aplicativo as funcionalidades os preços mas se quiser conhecer mais detalhes Eu tenho um vídeo só sobre isso que é o tutorial vou deixar o vídeo aqui em cima e depois você pode dar uma olhadinha para entender com calma para isso eu gostaria que você fizesse uma conta aqui no estádio for free e depois de criar da sua conta você vai cair aqui nessa parte do dashboard que vai ter os seus apps né então a gente consegue colocar os projetos aqui tem Marketplace aqui
é para times aqui seria o nosso dashboard do flaterflow E aí você pode pegar o link que eu acabei de passar ali no material do flutterflow e acessar o nosso aplicativo pronto tá então é esse link é compartilhar e a gente consegue acessar nosso app pronto vai ter aqui as telas Então já tem aqui tudo certinho a tela dos meus cursos tá tá tudo acertada e também a gente tem as outras telas também né as telas do detalhe detalhe curso aqui tudo pronto tá tudo organizado e a tela aqui de login e de cadastro também
já em % pronta para a gente usar como exemplo e novamente se você quiser fazer com calma entender tudo sobre essa parte de como usar o flutterflow recomendo nosso curso gratuito e se você quiser dar passos mais avançados Eu recomendo a nossa formação que ela tá muito detalhada e perfeita para você começar a ter uma base boa para trabalhar com frutas geral né a gente tem essa parte que a gente constrói Nossa tela tem os nossos elementos aqui na esquerda e temos os detalhes aqui dos elementos aqui na direita aqui a gente tem a nossa
conexão o nosso banco de dados inclusive já trouxe aqui ele praticamente pronto tá com o nosso tabela de usuários essa coleção de usuários a nossa coleção de cursos que eu já vou falar mais um pouco temos aqui a parte de apis temos a parte aqui de mídias que a gente consegue integrar então a gente tinha colocado aqui em tudo certinho Eu Vou Clonar aqui para o meu projeto pra gente conseguir utilizar então vou clicar aqui em cima e clone E aí ele já clonou o projeto completo para eu conseguir fazer o que eu quiser mexer
nesse projeto Beleza então antes de continuar aqui vamos lá para o Fire base e deixar nossos dados aí bem e modelados não vou voltar aqui no firebaise e lá no material Eu também coloquei uma planilha quais dados eu vou acabar colocando aqui no Fire base para a gente conseguir fazer um app bonito lá no Frontier tá Eu vou acessar essa planilha mas está lá no material também é uma planilha tá aqui tá aplicativos no Cold Eu só vou colocar esses dados aqui ó dessas duas linhas lá no meu Fire base só para ficar organizado eu
consegui ver lá no nosso Frontier eu vou lá na formação fraterflow vamos ver aqui primeiro que eu vou excluir tá eu vou deixar um pouco mais limpo vou excluir aqui as minhas sub coleções que eu não vou usar não vou excluir aqui sobre coleções alunos aqui aqui nome Uma salva de flor vou excluir a duração no caso não vai ter e aqui eu vou deixar vou dar uma limpada aqui para nossos dados ficarem mais organizados a gente conseguir trabalhar com eles né ele aqui tecnologias vou excluir ah professor vai ter duração também pode tirar criação
também se você quiser também fazer dados aleatórios para o seu app pode fazer eu vou só alguns só para ficar mais organizado aqui ó o dade Então vou colocar aqui ó a descrição curta e descrição longa tá onde eles estão curta vou vir aqui descrição curta aqui para a gente conseguir interagir com um flat Flow os campos eles têm que estar com os nomes corretos tá e bem bem gordinhos na descrição curta inscrição longa descrição longa vou adicionar aqui esse é o nome do app aqui eu tenho um link das imagens tá então vou copiar
esse link inteiro aqui ó vai ser o logo dele eu clicar nesse link aqui ó só para mostrar eu caio aqui na logo do flutterflow certo eu vou colocar aqui a logo também vai ser tipo um texto Tá e aí a gente vai voltar lá vamos colocar o banner aqui na minha planilha banner bem tipo texto e aí que mais que falta nota colocar uma nota né anota vai ser tipo número tá aí aqui no firebais tem que colocar ponto tá para reconhecer como um número nota 4.9 tô colocando no lugar errado né eu atualizar
aqui então é formação Qual mais que tem profi nome mas está aqui eu vou ter que tirar tirar o professor vou adicionar o prof nome então é o castelo meu Deus castelo e pastel vamos vir aqui também e a foto do castelo que eu tenho uma fotinha aqui ó mostrando vou seguir ter acesso ao link da foto é hospedado lá no code acertar Então vamos colocar aqui voltar vamos colocar aqui a qual que era o nome do campo [Música] eu tinha colocado errado né clica aqui colocar o certo da foto e também o prof descrição
do professor especialista butterflow Embaixador vamos vir aqui colocar Prof descrição Então já preencher aqui todos os dados necessários do curso tá do curso agora eu vou preencher aqui do curso da formação Bubble Tá eu vou avançar o vídeo para não ficar um vídeo muito grande e aí é só passar aí os dados que estão aqui aqui para para esse documento de da formação Bubble a gente vai ter os nossos dados prontos eu já preenchi aqui tudo temos para a formação flutterflow e também para formação Bubble todos os campos aqui bem organizados e agora vou fazer
o setup entre o battlefrom e o Fire base para a gente fazer essa conexão aí da maneira mais fluida possível é isso eu vou deixar habilitado aqui algumas coisas bem importantes aqui na criação eu vou liberar autenticação vou clicar aqui na autenticação ó ele Pergunta assim e quer liberar a forma de dedicar com Holiday você fala assim vamos começar aí eu vou clicar aqui para liberar autenticação eu vou liberar apenas o e-mail e senha tá em meio e senha identificação padrão depois também dá para fazer uma integração com o Google né para o seu app
conseguir ter aquela opção da pessoa entrar com o Google ou o Facebook e vou salvar não já está certo o meu o meu dedica com e-mail e senha e aqui também eu vou liberar por exemplo ao meu Story importante net não vai usar muito nesse momento mas é bom importante é bem interessante você saber então vamos começar aqui onde eu guardo minhas fotos é minhas mídias eu vou iniciar aqui eu vou deixar em modo produção mesmo e vou salvar o nosso Story está pronto eu posso vir aqui visão Geral do projeto também então aquele tema
dashboard e aqui na engrenagem eu consigo ver as configurações no meu projeto certo então vamos voltar lá no flaw aqui no flaterflow precisa agora conectar a uma banco de dados Então nesse ícone aqui eu consigo ver o Fire base né meus bancos de dados minhas coleções mas aqui na engrenagem eu preciso conectar vamos lá em conectar Então a nossa aplicação e vamos lá em Fire base aqui são todas as configurações do nosso aplicativo né vamos vir aqui ó e vamos colocar o id do fire base vai tá aqui ó vem aqui e colocar o agir
que é o código do projeto é curso deixa eu aqui vamos lá colocar aqui ó e Vamos conectar ele fala assim ó é importante o protetor não tem acesso essa conta de acesso configurando firebase@floterflow.io como editor tá vamos lá aqui usuários e permissões vamos adicionar um membro e vamos colocar aqui ó anbis@lurb low.o.io papel editor concluir adicionar membro que agora eu vou tentar e conectar o nosso banco de dados então Aqui conseguiu fazer a conexão do meu frontinho meu banco de dados e aqui ó se eu quisesse organizar minhas regras aqui de Stories Mas tá
tudo certo Qualquer coisa a gente mexe aqui se falta alguma coisa que faltou fazer mas ó para ter uma noção Agora se a gente for vir aqui em Fire Store no cantinho a gente consegue ver minhas coleções Então temos a coleção e-mail e ele já cria automaticamente Mas tá tudo certinho que é o display nem meu nome né a foto do usuário o ID desse usuário Quando que o usuário foi criado e temos aqui a nossa coleção cursos que como é um projeto que eu já tinha criado o disponibilizando aí para vocês tá tudo pronto
já o nome descrição curta descrição longa e aqui tem os tipos né ó tipos e aqui é logo a tipo de é o string com uma um caminho de imagem né um banner é uma caminho de imagem nota é um double que pode ser número quebrado é que é bem importante ó alunos e user Hair eu vou criar agora lá que faltou falar sobre isso eu vou criar uma lista de usuários mas antes de criar essa lista eu quero mostrar primeiro para você como é que vai funcionar autenticação pra gente criar alguns usuários de exemplo
Tá bom mas o resto dos Campos aqui ó são bem bem estruturados bem organizados aqui é bem fácil de fazer fogo você cria seu campo profe e use Happy consegue conectar ele com uma referência tá aqui no caso a gente não vai em detalhes como como criar coleções e documentos a gente realmente ser direto ao ponto né planejamento de dados e não demorar muito a última coisa que a gente pode fazer para testar é vir aqui em settings tá E aqui 7 já tenho 18 Collection a gente pode validar se o esquema do firebase tá
o mesmo esquema aqui no frontflow para ver se usados estão batendo Então vou lhe dar aqui tá vai ver se eu escrevi tudo certo ele já validou e falou que tá tudo certo Deu um match com os campos que eu criei no fla-flu ou os campos que estão lá no Fire base essa parte aqui não precisa ver agora o que a gente pode é deixar as regras do fire Store aqui em Deploy tá então aqui nada mais é que as regras de como os usuários vão criar os dados meus dados escrever eu vou deixar tudo
pronto aqui para dar o Deploy e funcionar aí para ambos os lados um cheque eu esqueci de um ponto importante que foi aqui ó em minha setinhas vamos voltar lá em Fire base e falta clicar nesse botão tá generate config files para ele criar os nossos configurações do projeto e vou colocar generate files aqui tá tudo certo agora a gente pode ir lá telas e aqui a gente vai ter nossa tela né a gente vê que tá tudo certo aqui tudo cheque podemos visualizar nosso app mas aqui é mais pela casca ou do app aqui
é com a inteligência no raiozinho tá então eu vou clicar aqui e a gente testar o nosso aplicativo E aí o flutterflow vai criar um ambiente de teste para a gente conseguir testar nosso app e ver se tá tudo certo a conexão do frontind um back-end esse ambiente teste pode demorar dois a Três minutinhos para carregar a primeira vez mas depois a gente pode continuar testando ele não que já carregou o nosso aplicativo nossa primeira página tá logado com o usuário Bob Até parece aqui ó bob@gmail mas não aparece o nome dele não aparece nem
a foto né a foto tá errada e não tem nada aqui nos meus cursos Então a gente tem que fazer essas atualizações a gente for lá no Fire base Olha que legal atualizando a página a gente pode ver aqui em users e já quer de forma automática o meu usuário aqui ó Bob o e-mail dele com uma ID dele também usa de e também com a data de criação desse usuário Então cara muito completo já tá tudo integrado como que a gente pode fazer é ir lá é que meu banco de dados no meu Fire
Store e aqui em users a gente pode colocar foto e o nome né então eu posso vir aqui ó e colocar um display name vou vir aqui adicionar a Campo display name e vai ser o bobinho tá adicionar e também foto URL a foto URL eu vou lá na planilha ó a gente tem aqui a foto do Bobinho embaixo nesse link ó se clicar aqui vai ter a foto de perfil do bobinha ó que bonitinha ele curtir bastante brincar na praia com a bolinha dele então aqui ele quer atualizar a foto de perfil dele né
Vamos copiar aqui é URL vamos lá na verdade o nome é foto URL eu vim aqui adicionar Campo foto URL e vou dar um ctrl+v pronto agora sim se eu for lá na minha tela eu só queria explicar aqui para você certinho olha que interessante esse valor aqui ele tá dinâmico Isso quer dizer ele vai variar de acordo com o usuário logado eu sei aqui ó esse laranjinha até vou remover para você ver vou clicar aqui e vou falar assim ó eu quero que esse valor seja um dado do usuário autenticado o usuário que está
logado Olha que interessante E aí eu quero que seja o dado o display name que é o nome dele aí tudo já se encaixa e fica muito mais fácil porque isso vai mostrar o nome dinâmico do zero logado a imagem também eu vou vir aqui na imagem e aí eu vou remover isso daqui embaixo ó laranjinha pode clicar e aí vem o usuário autenticado e eu quero que mostre a foto URL vai mostrar a foto de acordo com o usuário logado E aí eu vou clicar aqui e aí Aqui tá tudo certo na verdade eu
posso clicar aqui nesse valor padrão posso colocar o link do Bob sobre ver como é que fica aí a gente consegue ver como é que vai ficar aqui ó o bobinho Tá certo E aí vamos lá no nosso app ó aqui ele já atualizou ele já tem a foto do Bobinho e aqui tem o nome dele o e-mail dele é coisa a gente pode atualizar por aqui tá vou clicar aqui na parte visualização muito claro acho que fica mais mais interessante aqui nosso app não fiz escuro com escuro é o nosso app já está funcionando
aqui ó com usuário logado agora o que a gente precisa fazer para prosseguir na modelagem de dados a gente precisa relacionar os cursos E o Robinho tem aqui Então como que a gente faz isso então bom exemplo para gente trabalhar com as referências ó vou vir aqui lá em cursos agora eu vou fazer aqui na formação flutterflow eu vou criar um novo campo e vai ser do tipo Away bom esse campo do tipo a Raven vai ser como se fosse uma lista Então a gente vai ter uma lista dos alunos quer fazer uma referência que
é com base na estratégia um a gente viu lá no treinamento tá antes disso eu vou vir aqui ficar fora e aí users eu vou vir aqui no usuário bobinho já tá no documento do Bobinho clica aqui e vou dar um control c para copiar o caminho do Bobinho Então esse caminho é o que referencia ele ou vem aqui em cursos E aí na formação vamos adicionar o campo agora de que vai ser os alunos e ele fala assim ó qual que é o número 1 e na verdade o número 1 não é string né
é uma referência pode colocar uma referência aí e aí eu vou colocar aqui ó control V então ele vai fazer uma referência para o meu aluno número um Olá E aí eu fui adicionar então aqui eu posso colocando aí a lista dos meus alunos Então como não vai ter tantos alunos nesse exemplo é tranquilo fazer em lista senão a gente farinha sub coleções beleza e lá no no code lá no meu banco de dados ó vamos ver aqui meu banco de dados a gente tem em cursos temos aqui ó que eu já tinha criado que
é alunos e user é uma lista e usa como base uma referência ao a coleção usuários Então já tá conectando lá conexão usuários tá tudo pronto né Já deixei tudo pronto acertei aqui o caminho para você e aí no flaterflow no curso gratuito eu explico com calma tá Como é que você faz a parte back Angel integração do Frango tipo um back Mas é bem tranquilo aqui a gente tem uma lista repete alguns valores ó se eu vim aqui nessa lista a gente pode fazer um backing de curry e aqui em cima a gente faz
uma aquisição uma consulta ao nosso back end que aprendeu bastante disso né aqui eu já deixei Pronto né mas para mostrar como eu fiz eu falei assim ó eu quero uma coleção uma consulta de uma coleção dos meus cursos e eu quero que traga uma lista dos documentos eu não quero que traga a lista realmente dos cursos não é trazer a lista de todos os cursos só que tem um filtro né Eu quero que o filtro e que traga só os cursos que tem a ver com o aluno que tá logado que os cursos que
ele tem né então no caso do bobinha ele tá só no flaterflow se eu vim aqui meu filtro ó olha assim ó meu campo aluno e user F né que é uma lista ela tem que conter aqui ó vai ter que conter o próprio ID da minha coleção do usuário então ó vai explicar e deixar bem claro a do usuário vai ter certo então ele tá olhando e o meu leitinho do Bobinho tá dentro deixa eu ver alunos e os errar aqui vai ser referência se é Ray que uma referência aqui o documento do Bobinho
lá no Bubble eu vou criar também só que não vou colocar ninguém vou deixar ele vazio né só para manter aí a estrutura de dados alunos e user Hair então aqui eu vou colocar a oi e vai ser vazio tá mas aqui é uma referência tá tá vazio porque não tem nenhum aluno ainda vamos ver se ele deixa eu criar que ele é vazio ó assim vou deletar eu vou adicionar eu não tenho nada ainda tá é uma lista aqui ó uma lista vazia certo vamos voltar lá e vamos recarregar ó já foi atualizado ele
já conseguiu ir lá deu um mate dos Campos fez o filtro e fala assim abobrinha Você tá só na formação flutterflow e já tá mostrando aqui cara irado Vamos colocar a bobinha também na formação do Bubble então aqui ó vamos adicionar no campo Vamos colocar referência e vamos adicionar uma bobinha como aluno adicionar bobinha tá com um dos dois vamos ver se atualizou lá apareceu aqui ó não consigo acessar tanto a formação fraterflow quanto à formação Bubble aqui porque eu estou cadastrado nos dois e olha que legal como eu já tinha estruturado o aplicativo o
modelo pronto aqui Já tá tudo pronto tanto é que se eu clicar aqui na forma já vai carregar a página da formação protetor e tem meu banner que eu coloquei lá no link né no Fire base tem a minha descrição a minha nota o especialista Qual que é o professor especialista né eu volto aqui também temos a formação Bubble E aí é o neto o especialista e aqui tem a capa da formação Bubble a descrição botão aqui de começar Então tá tudo certo aqui ó a gente consegue já usar o nosso aplicativo aí de uma
forma super funcional Já conseguimos entender como essas coleções elas estão se relacionando entre si né Muito interessante aqui ó só para explicar o que eu fiz para detalhar a parte do detalhes aqui também puxando as informações aí de forma dinâmica só que a diferença aqui quando eu vou lá em meus cursos aqui no Meu Container principal esse daqui né Meu Container aqui no Meu Container principal eu tenho uma Action no funtifood tem uma Action eu falo assim cara quando alguém clica aqui vai para outra página e quando ele vai para outra página eu passo um
parâmetro é referência do curso então eu passo exatamente qual que é o ID daquele curso e daí quando carrega-se aqui essa página é estaria curso eu faço um outro tipo de cryer outro tipo de consulta se eu clicar aqui e eu vim aqui no Beck quente eu vou ter uma outro tipo de consulta eu tô pegando agora um documento apenas pegando a coleção inteira um documento apenas a partir de uma referência então se ele clicar no flutterflow a referência vai ser o Edir butterflow se ele clicar no Bubble a referência vai ser o Edir do
Bubble então aqui quando eu puxo eu consigo carregar todos os dados até Flor do bambu tanto é que essa página ela tá dinâmica tudo aqui ele vai variar dependendo da onde eu clicar dependendo do curso que eu clicar né E daí é que a mesma lógica né aqui são descrições dinâmicas aqui eu consigo acessar da mesma forma que eu expliquei e daí a gente já tem o nosso aplicativo aí Pronto né a gente consegue usar e consegue já cadastrar o usuários dentro desse aplicativo que fica perfeito para a gente entender como que a gente fez
a modalidade de banco de dados até a prática aí com esse App Inclusive a gente consegue aqui cadastrar outros usuários né posso dar logar ou te cadastrar novos usuários e associando o concursos que esses usuários estão depois a gente consegue fazer uma ação para colocar os usuários dentro daquela lista lá de curso também é bem tranquilo e que um app super completo Até se a gente quiser criar um app no estilo plataforma de cursos já seria o primeiro passo da criação desse app caso você queira aprender projetos mais completos depois dá uma olhada na formação
até falou que vai estar o link aqui embaixo a gente trabalha com vários tipos de apps várias modelagens também bem completo para considerar o seu aprendizado na criação aí de aplicativos é a forma robusta Eu espero que você tenha aprendido muito sobre modelagem de banco de dados e modelagem no SQL todo esse conteúdo Demorou semanas para poder organizar a estrutura de uma forma bem didática para explicar para você espero que você tenha curtido bastante também criar seu aplicativo do zero com putterflow se tiver interessado em construir aplicativos mais robustos pode dar uma olhada na nossa
formação um link vai estar aqui embaixo e qualquer dúvida comentário avaliação positivo negativa deixa aqui no comentário que a gente lê todos vamos Responder todos os comentários valeu obrigado