Opa boa noite boa noite Tudo bem pessoal Gustavo Maísa sim sim já vamos iniciar a nossa sexta-feira só um minutinho que eu já retorno Boa noite mestre boa noite turmaOpa boa noite já vamos iniciar aí quando a gente aguarda mais uns minutinhos para iniciar ali Se chegaram dá uma olhada nas questões de ontem tem uma dúvida que por enquanto é mais conceitual né mais tranquilo de resolver também né então acho quea medida que a gente for trabalhando vão aparecendo mais as duas principalmente na hora que chegar a parte de criação de tabela né já preparar aqui os slides deixa eu abrir aquiaí gente vamos começar então né iniciar nossa nossa quarta aula ainda abordando parte da da do conceito de modelagem de dados da disciplina Hoje a gente vai vai conversar um pouco né entender um pouco mais sobre a questão da cardinalidade e os diagramas de entidade de relação de banco de dados na ideia de hoje a gente falar um pouco sobre como é o relacionamento dessas cardinalidades e como elas auxiliam né no processo da do desenho da criação das tabelas também né Isso é bem importante porque existem várias formas de notações gráficas paraessas cardinalidades e embora hoje tenha muito conteúdo gente assim com a prática vocês vão vendo que isso se torna bem mais simples do que do que parece né porque na hora a gente vai comentar ali sobre a questão das nomenclaturas das formas de desenho que podem aparecer né mas para ajudar na interpretação e como esse relacionamento vai ajudar depois no desenvolvimento da criação das tabelas tá depois aquelas questões que eu comentei ontem principalmente a última questão do slide de ontem que era sobre os atributos né a gente vai tentar listaraqui no final da aula para poder colocar em prática na próxima semana né o desenho em relação a ao desenho conceitual né do nosso modelo aí da sapataria virtual né então vamos iniciar aqui hoje qual que é o que que a gente falou ontem né um resumo bem rápido né não vou passar todos os slides mas a gente ontem comentou ainda sobre um pouco do modelo dimensional né em relação a ainda daquela estrutura de tabelas Fata e tabelas dimensionais né se relacionando né é de diversas maneiras ali com a parte de vendas começamos a falar sobre omodelo de dados em si e sobre as diferentes tipos de modelagem né incluindo o principal deles que é o relacional né E esse modelo relacional que depois foi destrinchado e talvez até melhor interpretado após o estudo desenvolvido ali pelo Doutor Peter Chan né com o modelo da identidade relação Falamos também sobre a questão do projeto conceitual projeto lógico e projeto físico né que você também vão encontrar muita literatura ou muito tema relacionado a modelo conceitual modelo lógico modelo físico né expliquei sobrea questão das confusões que a gente tem hoje né em publicações em traduções também né de material e conteúdo iniciamos sobre o modelo entidade relacionamento e o diagrama entidade relacionamento né comentamos algumas nomenclaturas em relação a retângulos entidades as elipses para representar os atributos a gente vai falar um pouquinho mais essas notações gráficas hoje mas de maneira geral a gente comentou bastante principalmente sobre a questão de modelo entidade relacionamento né e eu acho que o principal ponto que eu acho que vale a pena agente reforçar é a questão dos projetos né O que que tem em relação ao projeto conceitual projeto Lógico o projeto físico né E aonde até onde a gente consegue sem ter nenhuma relação com o banco de dados que vai ser escolhido né E aonde que a gente tem as preocupações em relação ao banco de dados né propriamente dito que é entre o projeto lógico e projeto físico procurei você pode ter uma mudança no formato de criação de tabela mudança no formato até mesmo na questão das chaves né de criação das chaves ou da tipagem dasinformações Bom vamos lá o que que a gente tem de proposta para falar hoje tá cardinalidade né a gente vai falar bastante sobre cardinalidade sobre o projeto conceitual do banco de dados sobre diagramação e ferramentas de modelagem né E como iniciar esse projeto lógico de banco de dados né hoje a gente vai só abordar Como iniciar depois da diagramação de ferramentas né porque a ideia de iniciar a gente colocar a mão na massa mesmo em algumas ferramentas e basicamente é o que a gente vai fazer na próxima aula a intenção da próximaaula inclusive é só ter um ou dois slides de apoio e o resto da aula a gente trabalhar juntos ali usando alguma plataforma online né provavelmente luz de charge ou Miro para a gente poder fazer o desenho juntos ali né Na hora e aí já vai tirando as dúvidas vamos montando com base naquela proposta de sapataria virtual que eu acho que é o exemplo que a gente tem seguido e vai nos ajudar aí também a entender né Qual que é o objetivo que a gente tem hoje entender a construção do diagrama identidade de relação e o projetoconceitual do banco de dados como um todo né A questão de nomenclatura a questão de diagramação mesmo de de notações gráficas né que são utilizadas para esse modelo porque a princípio parece uma coisa simples como Até ontem eu não sei um dos alunos colocou né que poxa se familiariza muito com fluxograma né que é usado na administração por ele tem as suas as suas características como o formato da elipse o formato do relacionamento a questão da distinção dos atributos Como identificar um atributo que é chave um atributo que éque é um atributo derivado né ou multi favorável Então a gente vai ver tudo isso hoje tá Vamos iniciar ali sobre a cardinalidade né O que que é cardinalidade gente é a melhor descrição que eu encontrei de cardinalidade é a do Google né Por incrível que pareça cardinalidade indica quantas ocorrências de uma entidade participam no mínimo e no máximo do relacionamento com outra entidade né então o que que ela representa o relacionamento né quantas ocorrências que vão acontecer de cada lado desse relacionamento basicamente é isso é uma descrição bemsimples né mas bem assertiva né é melhor do que colocar vários textos aí longos né para explicar uma coisa que é bem simples os principais tipos de relacionamento na cardinalidade acho que muitos de vocês já devem ter visto isso em alguns modelos ou no dia a dia ou você não viram ainda vão ver né os principais modelos são classificados em um para um né com essa notação um para um onde uma ocorrência de uma entidade vai se relacionar com apenas uma ocorrência de outra entidade a gente vai ver algum exemplo mais parafrente né é um para muitos onde uma ocorrência de uma entidade pode ser relacionar com muitas ocorrências de outra entidade né e m para n né muitos para muitos aqui tem uma particularidade que vocês vão ver em algumas literaturas em que você tem anotação m para n ou n para n o que que acontece que a gente tem muita notação n para n diretamente vocês vão ver que tem duas formas de você colocar essa notação no modelo Peter Chan Peter Chan né recapitulando que a gente falou ontem é aquele que fez o estudo lá sobreo modelo da entidade de relação né então como agitar utilizando o diagrama dele né o diagrama a entidade de relacionamento anotação principal é anotação dele e a gente tem uma derivada na natação dele que é anotação que envolve o mínimo e o máximo né desse relacionamento dessa cardinalidade E aí quando você simplifica o mínimo máximo você vai ter essa relação de um para ele bem simples aqui como está aqui embaixo nesse desenho um cliente nessa regra de negócio pode adquirir né o relacionamento aqui simplificado pelacompra é um produto né então é claro a gente vai ver mais exemplos tá não você tem isso a gente pode ter regras de negócio em que a gente tenha vários clientes né Tipo aqui por exemplo m né se relacionando com ele produtos só que as notações vocês vão ver que podem aparecer n e algumas vão aparecer M mas é muito disparar muito tá bom falta alguém a perguntar alguma coisa Se alguém quiser perguntar pode falar pode falar então Professor quando é um relacionamento de muitos para muito que eu tenho que criar uma tabela no meio nétipo para relacionar uma com a outra né Exatamente é e é esse entendimento que tem que ser feito justamente nesse modelo conceitual porque o modelo conceitual você vai visualizar isso né quando você tiver esse tipo de relacionamento que às vezes é necessário para você conseguir criar um banco de dados a partir disso é muito complexo então uma das relações das soluções alternativas é você destrinchar esse muitos para muitos criando dois relacionamentos de um para ele né onde você vai ter uma tabela que vai ter umachave que pode ser uma chave composta entre essas duas instâncias né e uma tabela não desculpa vamos recapitular uma entidade né uma nova entidade para poder fazer esse relacionamento de um para ele entre cliente entre produto né que no caso aqui poderia ser uma cliente produto por exemplo né mas a gente vai ver um slide específico para isso né mas é bem isso foi a Maísa que comentou né isso ok É que às vezes eu não tô olhando ali na gente daí eu fico meio no escuro aqui mas eu volto ali para para falar sobre a questão das formatações né danotação tem um tipo de notação além da notação do peterchen que é muito famosa né eu até coloquei o exemplo de uma galinha aqui mas vocês vão ver muito falar natação que pede galinha né ou anotação crossfoot né então crossfoot enfim essa anotação gente Ela é bem utilizada e é muito comum de de enxergar ela em alguns diagramas tá de entidade de relacionamento o que que vai acontecer o anel Vai representar o zero né um traço Vai representar um e o pé de galinha representa muitos Ou infinito e aí quando você adapta isso para asimbologia em relação a mínima e máxima por isso que tem o zero né nesse conceito que é um conceito mais completo em algumas necessidades de banco às vezes não né É raro mas pode ser necessário você identificar que naquele banco específico você tem que ter um mínimo e esse mínimo pode ser nulo por exemplo né ou não tem que ser um registro no caso então vocês vão encontrar essa simbologia né em alguns diagramas onde o símbolo aqui em cima representa no mínimo zero e no máximo um né nessa segunda linha você vai ter o mais comum que aparece emtodos né é mínimo um e máximo e obrigatório 1 o Anel e o pé de galinha né que seria o zero e o máximo muitos e o traço e o pé de galinha que seria esse um né Para muitos aqui é muito comum de ver esse tipo de notação ou variações dessas anotações tá por isso que eu trouxe essa notação aqui também mas aí falando mais um pouquinho em relação à cardinalidade né sobre o mínimo e máximo ela pode ser representada dessa maneira também né poxa como é que pode funcionar como é que funciona essa questão de relacionamento né de mínimo e máximoconceito Lógico né aplicado esse relacionamento vocês vão fazer essa essa pergunta em relação ao relacionamento entre essas duas entidades então tem uma entidade chamada cliente e a outra entidade chamada encomenda ou entrega por exemplo né no caso lá da sapataria virtual é um cliente pode possuir no mínimo uma encomenda Ou no máximo muitas encomendas né é esse é o conceito de relacionamento Em contrapartida uma encomenda pode possuir no mínimo um cliente e no máximo um cliente essa encomenda em particular a gente não vai ter um cenário aqui porexemplo de muitos clientes Então você tem aqui a notação de mínimo e máximo declarada né para facilitar justamente o entendimento do banco de dados depois porque depois disso vai ser transformado em chave primária Chaves estrangeira enfim um outro exemplo disso é entender essa cardinalidade aqui com um exemplo de entidade funcionário e entidade independente no caso daquela questão nula que eu comentei que às vezes é necessário você declarar é o mínimo e máximo né funcionário dependendo dessa regra de negócio aqui bem específico Vamos pensarassim uma tabela de dados de RH de uma empresa que esteja esteja avaliando o benefícios para o funcionário plano de saúde por exemplo Então você tem que identificar lá se ele possui dependentes ou não nessa relação o funcionário ele possui no mínimo nenhum dependente e no máximo ele dependentes muitos dependentes né em contrapartidos dependentes possuem no mínimo um funcionário e no máximo um funcionário negrupado vamos supor que essa empresa que não tenha familiar está trabalhando junto né porque poderia também ter néEssa questão de familiares trabalhando na mesma empresa né mas vamos para esse exemplo considerar que nessa empresa não tem familiares é só um funcionário um para um Então não vai ter nessa relação de dependente né ele não vai ter mais do que um funcionário na referência dessa entidade né então basicamente a cardinalidade mínima e máxima são representadas dessa maneira e é comum vocês também encontrarem dessa forma né Mas usualmente eu deixei até em aqui é comum enxergar mais essa questão de de anotação máxima de cada uma dessascardinalidades né como vamos agora colocar nessa notação em relação à comparação as duas principais de anotações dessa cardinalidade com as duas principais notações Se a gente fosse colocar anotação aqui do doutor Peter Chan e a notação do pé de galinha nós teríamos aqui essa essa esse mesmo relacionamento né de mínimo um máximo n para o cliente em relação a encomenda de possuírem encomenda e da encomenda em relação a ao cliente né de um para um na notação de Peter Chan é colocado dessa maneira aqui gente eu vou pedir só um minutinhoporque eu acho que a minha cachorra ela tá querendo participar da aula aqui só um minutinho só que eu tô mudado desculpa gente já voltei aqui é porque tá tendo fogos em alguma algum local ela ficou um pouquinho descontrolada mas tá tudo bem Mas voltando raciocínio aqui Essas são as duas notações né então aqui a gente vai ter a representação né de um para um com essas duas barras aqui né praticamente dois uns né e o cliente possuem encomenda e aqui vai ter no mínimo um no máximo muitos né em relação a ao cliente possuir encomendas néfalando agora sobre o relacionamento um para um que agora a gente vai tratar diretamente o relacionamento E aí exemplificar isso tá o relacionamento um para um como eu comentei é quando uma ocorrência de uma identidade se relaciona apenas com outra ocorrência de outra entidade E aí é comum né Eu trouxe fiz uma representação aqui de tabelas porque às vezes às vezes é comum enxergar eu acho que é mais fácil enxergar dessa maneira aqui né um funcionário por exemplo em relação ao computador né vamos supor que você tem uma empresa de tecnologia ecada cada funcionário vai receber um computador específico né uma máquina que vai ficar sobre responsabilidade dele nesse conceito nessa regra de negócio então se a gente for exercitar a cardinalidade mínima aqui um funcionário usa no mínimo um computador e no máximo um computador encontra a partir do computador né vai ser utilizado por um funcionário no mínimo e no máximo um funcionário Então a gente vai ter a relação direta de funcionário para o computador né aqui eu coloquei o exemplo dessa forma para não confundircom relação aos Campos e atributos né mas a gente vai ter a relação de um para um bem Bem Simples né como que é comum a gente enxergar isso por exemplo no dia a dia do banco de dados de uma empresa dessa forma mesmo a gente poderia ter um inventário em relação ao equipamento poderia ter um inventário em relação ao produto e os códigos né do que os componentes que são usados desse produto e ter essa relação de um para um de uma maneira bem clara né bem definida em relação ao relacionamento um para muitos né esse relacionamento de um paramuitos eu coloquei inclusive do um exemplo em que a gente tem a entidade aqui funcionário né com essa relação de muitos em relação ao departamento né O que que é um relacionamento um para muitos a gente já comentou ali anteriormente que é uma ocorrência se relacionando com muitas de outra entidade e é um dos relacionamentos mais comuns principalmente para gerar Chaves né gerar Chaves primárias ou gerar Chaves estrangeiras né então como é que vai funcionar isso nós temos aqui um funcionário aqui eu coloquei as duasnotações né Peter Chan e anotação desculpa anotação aqui embaixo e de pé de galinha aqui em cima só que vocês vão ver uma coisa no desenho da notação do Peter Shen que tem o mínimo máximo aqui declarado a gente sempre vai ter o mínimo e o máximo né declarado aqui aqui também já natação do pé de galinha não necessariamente anotação do pé de galinha o máximo vai estar sempre relacionado a entidade se ele tiver preenchido você não vai ter o máximo antes né dessa barra Então é só uma diferença que é bom explicar porqueàs vezes isso pode gerar confusão na hora de interpretar o modelo mas como é que funciona funcionário em relação ao departamento se a gente for avaliar o funcionário trabalha em um departamento a gente tem a relação de cardinalidade mínima no mínimo um funcionário trabalha em um departamento e no máximo um funcionário vai trabalhar nesse departamento e em relação ao departamento para o funcionário a gente vai ter um funcionário trabalhando nesse departamento no mínimo um funcionário trabalhando nesse departamentoDeixo até vou recapitular a gente que eu falei errado né eu falei funcionário trabalho no departamento não funcionário né ele o departamento né contém um único funcionário aqui nessa relação de um e vai ter no máximo um funcionário registrado E aqui nessa relação do funcionário eu vou ter um funcionário trabalhando desse departamento ou muitos né funcionários registrados nesse departamento né E como é que fica essa relação aqui embaixo basicamente dessa forma que que tá desenhado Eu tenho dois funcionários trabalhando em determinado departamentoné dois funcionários trabalhando em outro determinado departamento E aí como é que vai ficar essa relação de um para ele né um departamento para ele funcionários aqui nesse caso né Se a gente for simplificar essa notação esse departamento eu vou ter uma chave primária para esse departamento e Obrigatoriamente eu vou transferir uma chave estrangeira nessa tabela de funcionários para identificar justamente o departamento a qual ele está atribuído né eu posso ter um ID para o funcionário mas quando eu for relacionar ele comdepartamento eu vou ter na tabela funcionário nessa tabela que representa a entidade funcionário uma chave estrangeira para relacionar esse departamento eu sei que isso né às vezes parece muito simples né em um modelo que a gente tá olhando só duas entidades mas quando a gente for abrir isso você pode ficar um pouquinho mais confuso como a gente vai ver para frente e se a gente for pode falar tem a possibilidade de por exemplo na tabela de departamento ter achados estrangeiras dos funcionários ou não olha conceitualmente não seria o idealvocê ter a chave do funcionário registrada no departamento é sempre assim que tem mais é que vai ter a chave estrangeira do que tem menos é a gente pode considerar dessa maneira mas assim não é possível você encontrar a tabela sem que você encontra essa essa esse formato como que não é impossível Por exemplo quando a gente falar lá de normalização de tabelas Pode ser que em um determinado momento uma área de negócio pode unificar esses dados em um local só para fazer um estudo para obter performance E aí sim faria sentido você ter essaschaves mas para sistema transacional e para modelo relacional modelo de relacionamento mesmo é isso não é muito usual tá para quando a gente tá desenhando para criar as tabelas mas eventualmente por exemplo aquele exemplo que a Maísa comentou no início onde a gente vai ter ali uma entidade nova para unificar um relacionamento de muitos para muitos aí isso pode acontecer tá é mas é bacana essa pergunta tá porque no dia a dia né você o que você vai encontrar principalmente das pessoas que não fizeram modelagem em relação aosdados né pensando no sistema e sim pensando diretamente no negócio é muito comum você encontrar uma tabela que tenha várias Chaves ali todas dentro da tabela né da mesma tabela lá daquela área o cara não fez o dever de casa mas ou fez em algum momento né e aquilo para ter performance pontualmente né às vezes é pontual e aí o pontual vira para sempre né esse isso acontece bastante mas para modelo de relacionamento para a questão de estrutura quando a gente tá criando a estrutura isso isso é bem importante o que que acontece gente e até falando umpouco disso né aproveitando o gancho aí Da pergunta do Luiz Às vezes acontece das pessoas criarem as tabelas né sem fazer esse relacionamento entre essa cardinalidade e esse apontamento de Chaves na hora que você queria tabela pessoa cria lá a tabela dá um cliente table e no relacionamento aí o que que vai acontecer Ontem teve uma pergunta eu não sei se foi eu não lembro o nome do aluno mas foi uma pergunta de como identificar isso lá na SQL server por exemplo né Eu até deixei uma marcação no slide aqui no final paraexplicar isso e mostrar como é que faz para fazer isso né não esquecer só que quem vai o que que vai acontecer se não tiverem feito a criação da tabela usando esse relacionamento esse conceito lógico aqui não vai ter um modelo lá para poder relacionar E aí essa tabela não vai estar relacionada com lugar nenhum né porque precisa estar relacionado isso precisa estar isso na criação de tabela essa relação ela precisa estar lá implícita tanto da chave primária quanto da chave estrangeira né Principalmente da chave estrangeira em qual referênciade tabela que foi criado né E às vezes a pessoa apenas dá o cliente ter ido lá sem relacionar Talvez para fazer uma análise Talvez para fazer um estudo né mas isso vocês vão pegar muito em datamarãs que é específico para área de negócio DW que geralmente passou por um time de T.I que deveria estar estruturado não é tão comum mas é possível encontrar sim tá DW é possível encontrar infelizmente né a gente acaba encontrando algumas coisas meio bizarras né No Caminho do dia a dia mas é porque foi pontual foi uma coisa que foipensada Talvez para para atender performance ou para atender uma necessidade de momento que acabou ficando lá né sem ter esse projeto todo criado né Mas voltando aqui as questão da do relacionamento de um para muitos a gente pode simplificar essa marcação como eu comentei com vocês e essa marcação ela seria simplificada dessa maneira né eu tenho é um departamento né E esse departamento podem trabalhar n funcionários então eu tenho um relacionamento de um para n né então a gente vai ter a figura do losango representando o relacionamento a figuradesse quadrado representando as entidades né funcionário e Departamento Então muitos desenhos que vocês vão ver de notação Peter Chan e não não vão estar com o mínimo e máximo aqui declarado eles podem estar só com essa notação gráfica e também ajuda né A não ser que seja uma necessidade bem específica como Aquela das dependentes né Na hora de criar a tabela Talvez não tenha não faça tanta diferença A não ser que seja explícito que tem a necessidade lá de colocar que pode aceitar um campo nulo né vamos lá para o próximo slide aquiagora vamos falar da relação do n para m ou n para n né vocês podem encontrar de diversas anotações de muitos para muitos né E aí a gente vai falar sobre essa questão de quando ocorre essa esse fato de uma ocorrência de uma entidade né se relacionar com várias ocorrências de outra entidade né E aí eu voltei com exemplo de cliente compra produto né no caso ali no início vocês vão ver aquela relação de um para um para ele eu tinha colocado um exemplo de no início dos slides de clientes solicita um produto né dependendo daregra de negócio a gente vai ter a relação de um para ele e dependendo da regra de negócio a gente vai ter a relação de n para n vamos supor que para regra de negócio esse cliente pode sim comprar N produtos e esses produtos podem ser ter n clientes né vou dar um exemplo de um cenário de como pensar aqui numa montadora de veículos né montadora de veículos né o cliente pode comprar N veículos ele pode comprar mais de um né se ele quiser e tiver dinheiro né vamos supor que tenha lá um veículo SUV um veículo Hatch um veículoutilitário né E esses produtos podem ter nutrientes que fizeram essa aquisição que fizeram essa compra Então nesse caso a gente teria uma relação de n para n só que isso ao desenho como é que fica aqui embaixo é muito complexo de projetar para colocar e criar no banco de dados fica muito confuso colocar dessa forma mesmo a gente simplificando a notação né de n para n aqui né esse relacionamento aqui na hora de for criar a tabela fica muito complexo E aí como é que a gente pode trabalhar para trazer uma soluçãodisso né é geralmente criando uma nova entidade que vá atender esses dois elementos tá a gente vai falar um pouquinho disso acho que no próximo slide depois desse né Mas qual que é o resumo que a gente tem até o momento né falando sobre a questão de de principalmente diagrama né dentro do modelo do projeto conceitual a gente trabalha com o mer modelo entidade relacionamento e o diagrama de identidade de relacionamento que vai ser essa representação gráfica do Mar A Entidade no caso é um elemento da realidade que a gente vai modelarrepresentar algo de existência como carro pessoa cliente departamento marca fabricante produto aí tem eles né atributos são as características dessas entidades relacionamento é a forma como as entidades interagem né Por exemplo pessoa dirige um carro cliente compra um produto funcionário usa o computador né e a forma de representação representar esse relacionamento é por meio da cardinalidade ou de cardinalidades né que podem ser representadas por um para um né um para muitos ou muitos para muitos E aí naquele naquela situação que agente comentou como é que a gente vai tratar o relacionamento e desmembrar esse relacionamento de muitos para muitos né naquele cenário de cliente compra muitos produtos né vamos supor ali na montadora do produtos carros veículos para resolver esse problema o natural é a gente criar uma nova entidade que vai agrupar as informações de cliente produto e para essa entidade e a gente relacionar o cliente e relacionar o produto a gente vai ter ela se relacionando nesse modelo aqui o cliente pode comprar N né n cliente os produtosdigamos assim né vai estar aqui uma chave para representar esse cliente produto que é uma chave composta e da mesma maneira o produto vai ter eles clientes produtos só que vai ter do lado reverso aqui né a gente vai ter desse cliente produto a gente vai ter uma marcação só de produto aqui e aqui só uma marcação de cliente o que que vai ter nessa nova entidade uma chave primária para cliente produto que prova e pode ser uma composta dessas duas aqui uma chave estrangeira para identificar o cliente para esse mesmo alinha de registro e uma chave estrangeira para identificar o produto para essa mesma linha de registro E aí você consegue normalizar essa essa relação e deixar ela de uma maneira mais simples né tendo uma nova entidade nesse relacionamento E aí o nome dessa nova entidade é possível Geralmente as pessoas acabam agrupando umas com o discord né outras com com apelidos enfim né mas é natural a gente criar essa nova entidade justamente para resolver esse problema de muitos para muitos tá então o que que geralmente agente vai aplicar no modelo de dados né o relacionamento um para um ou um para ele né Em resumo né do que a gente viu até aqui a maior parte dos desenhos que vocês vão ver a gente vai acabar aplicando na criação de tabelas esse relacionamento ou de um para um ou de um para ele no sistema nesse sistema né de diagrama relacional porque para essa situação aqui a gente vai ter que criar essa nova entidade é Ficou claro gente essa parte aqui dessa parte de cardinalidade de criar uma nova Entidade que eu sei que é meio chatinho deimaginar a primeira vez né a primeira a primeira imagem mas eu acho que isso até contribui com o comentário que a Maísa fez no início da aula também né em relação a isso o professor uma dúvida essa daí seria a tabela pode vir a ser a tabela fato uma entidade pode vir pode vir a ser uma tabela fácil é porque o que que acontece as entidades a gente vai representar ali a ação né ação não desculpa é algo específico né porém a gente pode ter dimensões específicas por exemplo como data né a data também vai vai ser umanesse modelo lógico ela também vai ser uma entidade ela também vai se relacionar com as outras entidades por exemplo o cliente produto e com as ações entendeu então para o modelo lógico a gente ainda não tem A nomenclatura para saber se vai ser uma tabela fato Ou vai ser uma tabela dimensional mas a gente já tem um relacionamento criado né então isso já já a gente já começa a desenhar esse relacionamento aqui e aí fica mais claro porque olhando dessa relação para n a gente sabe que esse esse um aqui representa uma idéias específico dentrodessa entidade cliente e que vai corresponder uma chave estrangeira dentro dessa nova entidade da mesma maneira que vai corresponder uma chave estrangeira para essa entidade produto aqui também então essa nova entidade é Obrigatoriamente vai ter que possuir essas duas Chaves estrangeiras além de possuir a própria chave cliente produto a gente pensa na tabela dimensão né aí assim tô tentando meio que só às vezes criar um conceito aqui na minha cabeça não sei nem se é possível mas fica assim quando a gente pensa a gente fala assimtabela acho que dá uma tributos né trazer atributos para as entidades né E quando eu penso na tabela fato tem como eu conceituar também da mesma forma que eu conceitua a dimensão mas eu acho que isso tem muito a ver com a segunda aula é porque o que que acontece a tabela fato ela vai registrar principalmente os eventos ela vai registrar ali as ações os valores ela vai servir para mensurar e nessa tabela fato O que que você vai ter geralmente vai ter usar isso para você relacionar com essas tabelas dimensionais que vãoter os atributos entendeu então por Você pode ter uma tabela fato que represente compra né ou vendas né que é o evento aqui que tá nesse relacionamento aqui ó E aí você pode ter dessa tabela fato compras Vamos colocar aqui nesse exemplo de baixo que é mais fácil explicar e nesse nessa tabela nesse evento compra né Você pode ter um relacionamento com uma tabela Dimensional cliente para identificar o cliente mas na tabela de compra você só precisa do id dele só o id e na para identificar o produto por exemplo você pode ter o ID aqui docliente produto e aí você vai buscar nesse cliente produto as descrições desse cliente produto né então não necessariamente você vai ter aqui nessas entidades uma fato ou uma dimensional ainda não tá ela ela vai estar mais relacionada às ações porque ela vai vai mensurar os eventos Então você vai encontrar uma tabela fato para registrar por exemplo as ações de negócio como vendas fabricação estoques né então você vai ter basicamente fatos se relacionando com essas dimensões né mas a gente vai contextualizar um pouquinho mais dissona criação de tabela de novo tá Fique tranquilo e aí o que que pode fazer foi o Guilherme que perguntou né eu posso dizer também que eu tenho sempre mais de uma tabela dimensão também uma informação tipo né sim o que que geralmente a característica da tabela fato vai ser em relação a tabela Dimensional tá tabela fato vai ser bem maior que dimensional e você vai ter essas ocorrências acontecendo né então é vamos supor aqui nessa questão de compra as ocorrências de compra vão estar registrado nessa tabela fato de compraa criação da tabela é fato de compra essas ocorrências né e as tabelas dimensionais vão trazer informação para você enriquecer os detalhes dessa compra eu deixei um exemplo no último slide desse desse material de hoje que não é exatamente do que ele serve eu peguei do powerbiai mas ele traz justamente essa questão tipo como eu identifico um evento a partir do relacionamento dessas tabelas né E talvez fica um pouquinho mais claro eu interrompia alguém que ia falar quem quer falar a Maísa era Tiago desculpada pode falar Tiagopode falar pera aí [Música] não fica tranquilo Beleza tô olhando aqui no chat gente é legal essas interações porque a gente vai discutindo né é bacana não deu certo com a voz a gente vai no chat eu vou aproveitar até para fazer uma pausa para dar uma lida aqui no chat tá vamos ver aqui vamos ver aqui é Leonardo fica meio confundindo para ele mas eu trouxe Porque alguns materiais vocês vão encontrar ainda essa anotação de muitos para ele né No fim a gente vai resumir vai ver justamente ou ele para ele ou para um ou um para elené e nas tabelas em específica a gente vai ter o máximo de criado um para um para ele voltando O slide olhando a entidade de produto Tá bom vamos voltar aqui caso comum não seria zero para n nenhum produto pois nem todo o cliente faz compras é que aqui a gente não tá falando em relação ao evento em si tá Tiago o evento é o relacionamento né a gente tá falando da listagem de produtos no caso da entidade e produtos Então vamos pensar assim no exemplo numa listagem de produtos que você tenha na sua empresa né Vamos pensar umaquestão de conceito de negócio então você vai ter uma listagem já criada né de produtos e essa listagem eu não tô falando dos eventos ainda assim sim das ocorrências né em relação a essa listagem Então vamos pensar assim produtos Eu tenho um determinado produto outros determinado produto registrado e outro determinado produto registrado né nesse caso é dependendo da regra de negócio pode ser que que a gente tem ali uma exceção como Aquela Deixa eu voltar mais um tá Que eu acho que explica para você isso que é dodos dependentes lá lembra esse exemplo dos dependentes aqui quer ver e tá longe se dependentes aqui ó esse aqui dos dependentes no caso você comentou nem todo o cliente pode fazer as compras Mas depende muito do relacionamento da regra de negócios tá vamos supor que aqui nesse cenário em que a gente tem a declarado que eu posso não ter nenhum dependente né registrado para este Funcionário é possível mas vamos supor que para ser um cliente né nesse caso Vamos colocar aqui para essa regra de negócio específicovamos voltar nesse slide para que eu vou chegar lá tá aqui no slide ficou longe Desculpa aí Thiago aqui é esse slide aqui que a gente tava comentando né nesse caso vamos supor que para regra de negócio para eu considerar um cliente em potencial o cliente fez adquirir um produto comprou um produto né É isso aí Leonardo Mas vamos vamos supor que a relação aqui não fosse compra fosse um orçamento ou fosse vamos dizer que o relacionamento aqui não fosse uma intenção de compra fosse uma um orçamento uma como é que eu posso dizer que não é umavenda ainda concretizada aí sim eu poderia ter o cenário de novo também tá Tiago por isso que vai fazer Vai depender muito da regra de negócio considerada aqui nesse caso a gente tá usando um exemplo que por um cliente ser o cliente ele fez é uma aquisição né Então essa aquisição ela deve existir né Tem uma situação que eu vou colocar ali mais para frente de bebidas que eu coloquei ali de água refrigerante que a gente vai passar por isso de novo mas a sua pergunta tem todo sentido vai depender do relacionamento e da regra denegócio tá por isso que a regra de negócio é bem importante porque vamos supor que não fosse compra e na sua empresa o cliente ele pode fazer uma solicitação que vai para uma viabilidade técnica né muito comum empresas de Telecom né que a empresa que eu atuo né Isso é muito comum você tem lá o cliente não necessariamente ele ele já fez a finalização ele precisa ter instalação primeiro né do serviço né vamos supor um outro a questão de orçamentos também né Isso também vai funcionar eu não sei se eu consigo explicar Thiago mas a gentevai poder voltar lá na frente de novo nesse tema tá Deixa eu voltar aqui no outro beleza eu vou voltar aqui né que é a nossa pausa né tradicional que é justamente para as perguntas né mas só deixa eu fazer só mais uma um comentário aqui em relação a essa questão de 9 entidade tá isso aqui gente para esse desenho é muito importante porque quando a gente não faz o desenho e aí acaba tendo um relacionamento muitos Para muitos o que que acontece vou dar um exemplo de empresas que fazem controle a pessoa faz lá um aplicativo E aí nesseaplicativo Tem uma tabela lá para registrar os comentários do aplicativo E aí eventualmente você vai ter comentários que podem ser selecionados E você tem uma relação né de que a pessoa pode selecionar um comentário e esse comentário vai ser armazenado né E esse comentário é padrão para vários usuários então ele não é específico para um usuário só como se fosse uma tabulação E aí o que acontece não tem esse desenho dessa nova dessa entidade para fazer esse relacionamento de um para ele gente para para fazer funcionar é muito complexo no banco dedados né seja mais Quel seja hora ou seja SQL server né independente da linguagem ele vai ficar muito lento vai ficar muito lento precisa ter esse esse relacionamento né bem desenhado justamente para evitar que tenha um problema lá na frente na hora de criar o banco de dados porque eu não sei se você já passaram por essa experiência e às vezes usar um aplicativo e às vezes você vai usar uma mensagem pronto ele fica lá anos pensando né Isso é muito muito ruim muito chato geralmente tem mais a ver com o banco de dados do que com aaplicação em si Tá mas é só um comentário adicional aí para vocês tá gente a gente tem mais alguma outra questão aqui que vocês queiram pontuar deixa eu ver como é que tá o nosso tempo 9 13 93 já sexta-feira a gente vai até para meia-noite uma da manhã não presencial tinha Tentação do bar né exato exato [Risadas] mas assim qual que é a o ritmo né eu sei que é meio chato né quando a gente só fica na parte conceitual mas é muito importante essa parte conceitual gente porque eu né até contextualizando para vocês eu demoreimuito para entender isso mas muito vocês tem noção né E aí hoje eu vejo as vou dizer peripécias que eu fazia né vou usar um termo aqui adequado né hoje eu vejo literalmente né Desculpa o Termas cagadas que eu fazia né E que eu achava que era normal né Aí eu ficava sofrendo para fazer uma análise ficava sofrendo para entender um conceito ou para tentar fazer funcionar um aplicativo ou funcionar uma uma página lá achando que era web né E no fim era questão de modelo mesmo de dados né É claro que no dia a dia às vezes algumas coisas acabampassando e às vezes não consegue validar tudo né nem todos os modelos Mas vocês vão ver que para desenhar o modelo não é tão complexo é uma coisa simples que às vezes um dia algumas horas com um grupo de trabalho você consegue fazer consegue implantar e Vai facilitar para que você tenha a clareza na hora de criar essas tabelas né Outro ponto também gente é que vocês vão vivenciar isso em algumas áreas de negócio que talvez o modelo já chegue pronto para vocês que seriam maravilhoso né já chegar pronto para vocês para sóaplicar Isso facilita muito a vida facilita muito né vamos lá agora a gente vai falar de uma outra coisinha que é meio complicada né restrições de integridade de dados tá gente que são essas restrições de integridade são restrições que servem para trazer consistência e precisão dos dados né então são algumas restrições que a gente vai colocar aqui assim principais restrições né que são integridade referencial de domínio de vazio de chave e definida pelo usuário Por que que optei de colocar essa restrição agora néantes da gente passar para as próximas etapas ali de relacionamento né porque depois vocês vão ver que essas restrições Elas têm tudo a ver com esses relacionamentos que a gente está criando Então vou dar um exemplo da integridade de referencial aqui a primeira né ela Segura que a gente vai ter um valor de uma coluna em uma tabela e esses valores são válidos baseados e valores de outras tabelas que que isso quer dizer aquele relacionamento para um para n por exemplo ou um para um eu vou utilizar uma chave para garantir areferência entre essas tabelas Exemplo né que eu falei para vocês que ia ter um exemplo ali de água refrigerante e suco vamos supor uma venda né a gente tem lá uma tabela agora a gente tá falando de tabela né por isso que eu separei ali a questão do modelo do diagrama de entidade de relação né Vamos falar venda e eu tenho uma tabela chamada venda eu vou ter uma de produto para água um aí de produto para refrigerante e uma de produto né representando o suco né E aí eu vou ter uma outra tabela chamada produto indicando que existe água refrigerante esuco vamos supor que é entre um pedido em um sistema que tenha um ID que não está referenciado nessa tabela produto né que esse aí de produto que seria uma chave estrangeira no caso né na tabela de venda ele não tá referenciado nessa tabela produto aqui vamos supor que o cliente foi lá e fez uma solicitação que é o exemplo que o Thiago comentou lá de estar nulo né Por exemplo ele chegou lá eu quero cerveja e aí entrou esse registro na tabela de venda se a gente tá usando o modelo conceitual e projetando isso para o modelo Lógico éesse registro não vai existir ele não vai entrar porque a gente tem uma integridade referencial que garante que eu não vou adicionar um novo item na tabela de vendas se ele não existe relacionado na tabela do produto Porque existe essa relação criada esse conceito Lógico está criado né Então a hora que você for criar a tabela depois de passar por esse modelo conceitual e Lógico ele vai vai ter lá essa chave estrangeira associada essa tabela de venda a desculpa a tabela de produto né então no produto eu vou ter aí de que éa chave primária na tabela vendo eu vou ter o ID produto que se refere a chave estrangeira né e isso vai estar amarrado eu vou ter essa integridade garantida então de referencial né o que que acontece quando a gente não tem esse projeto conceitual aplicado vai entrar um registro na tabela venda de uma Edite que não existe na tabela E aí a gente tem um segundo né o segundo problema a gente comentou um na aula de ontem né que é questão de projeto né de você precisar da informação e ela não existir né E esse aqui é o segundoproblema que mais acontece pelo menos vê que eu vejo mais no dia a dia e independente das áreas tá gente pode ser área de negócio pode ser área de Bia e quarta plataforma Big Data você ter algo lá que tem um ID que não existe lugar nenhum que não tem referencial em lugar nenhum porque não tinha uma amarração E aí você tem que ficar tratando esse campo à parte isso é horrível é horrível né ou criar replicar essa tabela produto em outra Instância ou em outro local ou replicar essa tabela produto ou tentar entender aregra de negócio eu sei que o exemplo aqui é bem simples né a água refrigerante suco Mas vamos supor que vocês trabalhem numa empresa que faça vendas de roupa e tem um catálogo gigantesco E aí vocês vão ter lá várias roupas e geralmente você alguns sistemas vão precisar venda vai acontecer né você ter desenhado o banco de dados ou não né a venda vai acontecer e aí o que acontece para entregar para o cliente ninguém consegue identificar qual é o produto aí vai ter uma um produto perdido ali né um pedido perdido parado porque não tenhoreferencial na tabela de produto apontado corretamente tá é isso é um dos exemplos de integridade referencial integridade de domínio né é basicamente está relacionado ao tipo de dado né como é que é o tipo de dado Ah eu quero que aquele determinado Campo ele seja preenchido como inteiro né ou no caso do Hora com como Number né ou que seja um campo data ou que seja um campo texto uma este tempo de texto né ah eu quero que esse campo tenha preenchimento obrigatório ou não né ele vai ser no ele ele vai permitir nulo néou que ele vai respeitar o intervalo de valores pré-determinados isso pode acontecer muito em relação a preenchimentos obrigatórios por exemplo Campo lá de telefone máscara para Campo telefone né alguns sistemas tem lá uma obrigatoriedade de Campo uma integridade domínio que garante que quando você preencheu o telefone vai estar certo algum sistemas não isso tem mais a ver com banco de dados do que o sistema em si né porque o modelo ou às vezes as duas coisas né as duas coisas tinham caminhar juntas nesse caso nesse cenáriomas às vezes você está desenvolvendo uma aplicação você vai olhar lá o conceito lógico e o que tem no banco de dados e não tem lá uma restrição do que você vai preencher nesse campo então você colocar aberto né intervalo de valores né que pode ser vou dar um exemplo também um exemplo que não deveria acontecer você tem um valor de venda esse valor de venda negativo né então você pode colocar lá que o intervalo é maior que zero sempre vai ter um número maior que zero ou um conjunto de valores Ah vai ser os valores definidose tem que estar lá preenchido vamos supor pegar um exemplo aqui prático assim de endereço né vai ter um conjunto de valores específicos lá de endereço para preencher então a integridade domínio tem mais a ver com a parte de pagem do campo que é o que a gente vai colocar ali para ajudar na construção da tabela né integridade Opa né Falei errado aqui integridade de vazio Que também está relacionado com essa de domínio também tá essas domínio a gente tem a presença ou não e a de vazio a gente tem a questão de tratativa de nulochave primária por exemplo você pode ter lá uma condição em que o preenchimento da chave primária tem que estar preenchido sempre nunca pode estar vazio né ou de valores nulos né como a gente comentou ali no exemplo 2 de domínio mas que mais se aplica essa integridade de vazio integridade de Chaves né os valores devem ser sempre únicos né não admitindo se repetições nesses valores nem na chave primária e nem na chave estrangeira né na chave estrangeira no caso até teria né dependendo se você tá olhando a chave estrangeira dentro deoutra tabela seria o normal mas se ela for a chave primária dentro da sua própria entidade né da sua própria tabela né ela tem que estar preenchida não pode estar nula né e não poderia ter repetições nesses S registros Porque se você tiver repetição nesse registro Você não tem uma chave primária né e a integridade definida para o usuário que aqui é o Vale das Almas né a gente das áreas de negócio né é uma regra de negócio que o usuário definiu e pode instalar a não você tem que preencher assim assim assado essecampo e aí você define esse preenchimento dessa forma pode ser de um relacionamento de uma condição ou para uma marcação específica né aqui eu coloquei os três principais exemplos né ah para relacionar com relação a uso de uma categoria para marcar por exemplo se Ah vou dar um exemplo bem bem como avaliação de satisfação né a nota de um a cinco Então você vai colocar lá uma integridade que ele vai ter que preencher exatamente de um a cinco né não tendo brechas para nenhum tipo de número né ou Acontece muito eminterações de cliente com WhatsApp né a responda um responda dois ou antigamente no sms né hoje as mensagens do WhatsApp né até tem uma inteligência um pouco melhor né com ya para ele responder qualquer coisa via chat mas Antigamente você tinha lá uma resposta para definida pelo usuário ou responder algum para assim dois para não enfim esse é o tipo de exemplo de restrição de integridade agora vamos para as notações gráficas né de gravação de dados nas nossas em relação às anotações gráficas não existem só essas duas tá pode falar oTiago perguntou se isso se resume no banco de dados as construintes que são as regras dos relacionamentos e das atributos correto e isso aí isso aí é isso aí mesmo constante não é quando você aplica isso no banco de dados para Chaves exatamente você vai aplicar essas essa essas obrigatoriedades dessa integridade na criação da table né E aí quando você faz a criação da tabela justamente pensando naquelas integridades vocês viram ali que aquelas integridades vão estar presentes na criação ela como um todo ora definindo o nome do atributo Hora defim do tipo do atributo Ora definindo a chave primária se ele vai estar preenchido não ou se vai estar como fala com a obrigatoriedade de ter essa registro único né esse registro único é bem complexo gente porque por exemplo em alguns processos de gtl que não são as vezes bem tratados e tem às vezes pode ter duplicidade no registro a carga não acontece porque tá definido lá que a chave primária não pode ser repetida né Tem lá a chave né definida e ela não vai ser repetida E aí você tem um problema de TL né masgeralmente a gente vai ter a gente vai ver essa parte de criação de tabela tá para frente e aí isso fica mais claro mas vocês estão vendo que a gente tá desenhando tudo para chegar nessa criação de tabela né é todo um processo para a gente desenhar o modelo conceito para daí sim criar tabela né e não a gente simplesmente criar tabela porque Ah eu tenho aqui um arquivo Excel uma tabela TXT alguém subir eu vou subir ela no banco para fazer uma análise para fazer uma análise pontual não tem problema né mas o que que geralmenteacontece esse pontual vira um relatório frequente E aí vira uma carga de dados E aí essa carga de dados não tem relacionamento com nada e aí você tem a chance de ter um erro ou não ter performance o banco não tá organizado de uma maneira que deveria né com esse modelo de entidade de relacionamento né Mas alguma coisa não deixa eu olhar aqui pera aí pera aí pera aí tem Exatamente esse tipo de problema no meu trabalho gtl que você mencionou com outras constantes é real perguntei Ah tá sim mas é exatamente esse é o problema que acontece no dia adia né porque aí se não tem uma tratar uma tratativa nessa nessa informação vou dizer que em algumas empresas isso torna-se um incidente né a área de TI vai ter que identificar lá o porquê que você tem lá um registro duplicado né e geralmente esse registro duplicado é um erro de relacionamento né E aí a gente tá falando de um relacionamento em umas tabelas transacionais né de sistemas né E aí quando você vai fazer TL vai ter se vai ter esse problema mesmo né É bem isso Thiago aqui eu trouxe esse slide gente paracomentar um pouquinho sobre as outras diagramações né as outras notações Desculpa as outras notações gráficas que são utilizadas no mercado eu coloquei uma imagem representando cada uma delas mas vocês vão ver que elas são todas meio que próximas uma das outras né relacionadas Então vai depender muito do sistema que vocês vão usar e da empresa de vocês tem empresa que usa um sistema próprio né para fazer esse diagrama de dados né E às vezes ela já usa direto esse conceito aqui que vão estar mapeadas no dois no trêsou três no sete que já é a parte da criação lógica ali da tabela né que eu já tô falando do nome da tributo já tô relacionando se é a primeira se é uma chave ou se não é uma chave enfim né então algumas dessas notações elas são derivadas então a principal delas né é do próprio Doutor Peter Chan né para questão de modelo relacional aí tem a famosa pé de galinha né é o idfix né que verifique-se aqui apesar de estar com um né se lei de fixx que é esse terceiro fluxo aqui onde você tem essas marcações com losango pequeno identificando é umauma relação de muitos ou uma relação de um para um né ou um para ele tem a backman que é uma derivada dessa edifix tem a mínima esse mini Max aqui né que aquelas notações compostas que eu comentei com vocês no início né que estão representados aqui nesse nessa parte 5 tem a Martin que é um pouco diferente né em relação a atributo domínio composição essa acho que é mais diferente de todas é mas também é usado em algumas empresas não é raro de encontrar esse tipo de modelo né Assim entre os outros modelos é quemenos aparece tá na minha opinião a que mais vai aparecer vai ser Peter cheia em pé de galinha e talvez a o ML que a última tá aqui o ML por quê Porque os principais sistemas estão usando esse tipo de notação da um ml tá que parece do Peter Chei mas tem algumas diferenças ali de relacionamento tá o ML vocês vão encontrar por exemplo em algumas ferramentas como para mais que ele né algumas ferramentas que editam diagramas para mais ql para para pusco e deixa eu lembrar aqui para Tera data no próprio site da Microsoft vocês vãoter lá uma parte só de 1 ml alguns softwares só fazem nesse desenho aqui porque ele se assemelha muito ao pé de galinha aqui mesmo tá E aqui é um bem simples ali e vamos aqui agora para o próximo slide né fazendo uma um repeteco ali sobre entidade de atributo né uma coisa que eu não comentei com vocês é que conceitualmente E aí a gente vai falar conceitualmente tá gente as literaturas dizem né que a gente deve usar para representar entidade né quando a gente vai marcar o nome o nome no singular com característica alta porque porqueentende-se que o plural a pluralidade em relação à entidade vai se decorrer das ocorrências e de cardinalidade Então você convencionalmente usaria o nome singular em caixa alta né e evitando o uso de caracteres especial porque como eu falei para vocês ontem alguns softwares que vocês vão fazer diagramação eles podem fazer a parte do exportar a parte de criação de tabelas e alguns sgbds né vou dar o exemplo que ele serve pode aceitar alguns tipos de caracteres especiais então elas não aceita todos né o ora com não aceita alguns terá datanão aceita a maioria né e assim e assim vai Então dependendo do banco de dados que vocês vão usar eles não vão aceitar alguns caracteres especiais e embora tem algumas exceções como o valor né o símbolo de valor o hashtag sustenido né e o underscore né então alguns até aceitam esse tipo de caracteres especial mas não são todos tá gente e aí os nomes das entidades uma coisa que precisa tá bem claro ele tem que ser único dentro do esquema de dados né porque senão fica confuso né você tem lá um nome de uma entidade chamada cliente e aí repeteesse nome em outro local para dar outro significado com outra coleção de atributos então isso não faz muito sentido os atributos convencionalmente né se utiliza em Caixa Baixa nos modelos de diagrama mas não é uma regra na verdade é muito difícil você encontrar em um modelo que tenha um nome em Caixa Baixa tá porque porque você já tá representando o atributo dentro do modelo não há elipse né ou ele separado né que ele pode vir separado também que a gente vai ver a simbologia ali mas Esse é o que é a convenção Valeressaltar aqui gente que vai depender da empresa também que vocês estão atuando tá empresas que voltei áreas ali que são áreas mais antigas principalmente para quem trabalha com banco que eles têm uma notação específica né quem trabalha com banco para parte diagrama de dados tem uma notação bem específica em relação a como criar nomenclatura como criar a lista de atributos Às vezes a entidade aqui que vai representar a criação de uma tabela né ela não é representada pelo nome sim por um número né vou dar um exemplo em áreas em empresas que temum grande volume de dados aí né a tabela 313 tabela mil e poucos né Então aí você numera a tabela para ficar mais fácil de você entender dentro de dicionário de dados depois mas o comum é ter essas convencionalmente né é ter a entidade pelo menos marcada no singular e sem caracter especial tá Gente uma outra forma de representar que vocês podem encontrar em algumas documentações também no dia a dia ou até para facilitar para vocês escreverem que é o que a gente vai comentar depois na no final da aula de hoje que é sobreexercício de ontem né sobre a sapataria você pode representar assim também a entidade só que aqui não tô falando de diagrama mais né tô falando só em uma linha para trazer ali as ideias né em relação às regras de negócio você coloca entidade em caixa alta entre parenteses você vai nomear os atributos que estão relacionados a essa entidade né E vai sublinhar O atributo que é o identificador a chave primária né isso é necessário você pode também identificar a chave estrangeira mas isso aqui é mais para facilitar no dia a dia às vezesvocê está escrevendo as ideias ali Isso é uma forma que vocês podem usar como notação para escrever e deixar isso registrado para vocês desenharem depois tá é bem útil [Música] bom coloquei isso gente mas usualmente vocês não vão ver atributos marcados dessa forma tá então usualmente vocês vão ver eles marcados com primeira letra maiúscula enfim né mas a entidade convencionalmente é interessante usar no singular e com cachaça alta né Teoricamente vocês vão ver que aparece a entidade aí ou tabela com vários nomestá gente alguém ia perguntar alguma coisa pode perguntar deixa eu dar uma olhada no chat aqui se Tiago na empresa onde você trabalha professores os bancos relevantes dentão na empresa que eu trabalho algumas áreas tem né mas na empresa que eu trabalho a gente tem duas distinções de times de né Tem pi que tá mais relacionada a sistemas transacionais né E aí a gente tem lá o universo de mais de 14 mil Jobs né para atualização de tabelas e volume de tabelas É imenso né E aí a gente vai ter o piá em negócios que daí tem váriasáreas departamentais né atendendo times de quarta plataforma de Big Data né que daí então tem os seus data Martes específicos e tem algumas áreas que criaram seus próprios áreas de biai né no caso eu tô numa área que é justamente Isso é uma área que atende uma vice-presidência porque o volume de informações era muito grande eles não tinham a velocidade que tinha assim para para extrair informação para transformar essa informação Então hoje por exemplo o meu time coleta informações tanto de sistemas transacionais faz carga faz as etlsmesmo direto de fornecedores né de entregas como em endox ora com enfim mas assim nível conceitual dessa forma é bem difícil de achar Tá vou falar que eu falei para vocês né do problema que eu tô passando ali em relação a questão de documentação né onde na minha área em que eu trabalho lá e que Tecnicamente sou responsável né a gente tem mais de 5 mil tabelas que não tem documentação assim né na verdade algumas delas não tem documentação nenhuma nem sei porque estão lá só que daí o que acontece se a gente vai simplesmente muda o fluxodessa tabela a reação é gigante gente vai vai parar sistema vai parar comunicação com o cliente então é muito trabalhoso fazer a logística reversa e recriar isso por isso que é bem sempre né interessante pensar nisso antes junto com as áreas de negócio né geralmente é isso que acontece tá Leonardo o pessoal cria uma diretoria só para dados ou diretores para para para governança de dados como um todo tá uma coisa que é muito relevante no mercado hoje é as grandes empresas Ou até mesmo startups ter um time específico para governantes de dados néuma empresa que investiu muito nisso não tô fazendo propaganda aqui mas que a gente vê muita recorrência de material e o conteúdo tanto no Linkedin quanto em fórum gente você está a empresa do Boticário Boticário tem mais de 200 pessoas em uma área específica só para governo de dados né então é bem bem relevante ter justamente isso para ter esse tipo de conceito criado né E aí fica mais fácil mas assim tô falando de uma maneira geral né os sistemas transacionais como um todo eles têm uma documentação mais assertiva só que vou falar paravocês né quase todo fim de semana a gente tem uma uma subida de algum projeto que aí sobe de madrugada e altera algum componente desses e acaba gerando um pouco de transtorno né e geralmente esse transtorno é causado por conta de relacionamento banco de dados Mas é isso Thiago não necessariamente a gente tem ver isso né em toda empresa né e geralmente quando você precisa você não tem né Parece que é uma máxima né a Lei de Murphy mas fazer a logística reversa a gente para né usar aqui né termo logística reversa para tentar chegar nadocumentação é muito trabalhoso né E aí é muito comum documentação a gente olha porque é chato documentação é chato gente e aí eu tenho uma coisa aqui que não é uma crítica tá a metodologia ágil nem nada né Eu sou muito fã de metodologia acho né E aí tem uma coisa na aplicação da metodologia ágil que é aquela questão do mínimo no mínimo a entrega mínima né para o produto viável ali né entregar o mínimo produto viável para você acelerar entrega porque você vai acelerar aquela entrega daquele produto mas depois você vaifazer documentação o que que acontece geralmente alguns squads né ou comunidades digitais dependendo da empresa cada um chama de um jeito né ou Wars né os foras os grupos de trabalho tem aquela semana tem aquela Sprint tem aquela entrega entrega acontece né a release fica completa zerar um backlog né como um todo e o produto foi entregue beleza só que daí tem ainda a parte de documentação que é necessária Mas como já foi entregue o produto ele já está em produção a documentação vai ficando E aí vai ficando E aí vai ficando isso tantopara sistema quanto a quantidade tá gente uma crítica aí já entra outro projeto já entra outra coisa E aí realmente vai não tem tempo ninguém vai fazer porque é chato para caramba então o cara tem que parar voltar relembrar é meio que fazer vocês estão fazendo a reversa não deixa para o próximo time Ó o Leonardo colocou ali meu gestor cobrar isso de mim direto e eu vou fazendo não queria nem cronograma Cara às vezes é isso às vezes é o dia a dia né uma coisa a gente que é muito comum para área de dados tá tem muito incêndiopor mais que não não esteja Claro tá para quem trabalha com dados independente da área que for independente da ferramenta que utilize né você vai ter lá as demandas que são projetos importantes que você vai ter que desenvolver e no meio dessas demandas se você vai ter o incêndio de todo dia que alguém que alterou alguma coisa alguém que dropou alguma tabela né alguém que mudou algum tipo de relacionamento e não tava sabendo a informação começou a vinula né então isso infelizmente a gente fica sucumbido às vezes pelos pelos incêndios que queeu né posso dar de conselho para vocês né e assim Quem Sou Eu para tá dando conselho aqui mas em relação aos problemas que a gente tem tentem criar uma rotina para esses incêndios né de uma maneira que vocês consigam atuar para resolver a causa e não sintoma né Qual que é a causa ah a causa é tô chutando aqui tá é porque entra todo fim de semana entra um tipo de projeto diferente e não tenho acompanhamento né do do nas horas da subida desse projeto para validação não tem o caderno de teste por exemplo para validação gente caderno deteste para validação de sistema é uma coisa bem básica mas às vezes ele não contempla tudo e não contempla a área de negócio né então uma das coisas que é importante entender a causa porque senão toda semana vai subir projeto toda semana vai ter um incêndio né E isso ajuda tá gente ajuda porque pelo menos vocês vão começar a ganhar tempo para poder atuar em projeto porque gente ficar pagando incêndio ninguém né Eu não sei se vocês trabalham com vocês tentação de dados mas sustentação é 24 por 7 não tem hora né Não Tem Hora e aí cara é muito chatoporque é só incêndio é só incêndio Aí chega uma hora que você né poxa eu quero criar alguma coisa nova eu quero mexer alguma coisa diferente eu quero fazer uma análise de dados né mas é isso isso acontece muito ao Rafael colocando ali também né se quisesse ser bombeiro eu faria concurso É isso aí é isso aí mas é muito comum é muito comum gente eu passei essa questão de entidade de novo e atributo em relação as notações gráficas né para como convenção né mas assim cada empresa vai usar um formato tá Então respeite aempresa de vocês mas se não tiver nenhuma gente é oportunidade de criar se não tiver crie né peguem a documentação peguem entre nas páginas né que eu coloquei como referência ali tem página da Microsoft tem página do tem um livro do rockable né do Ryan lá para baixar para acompanhar né encare isso como oportunidade não é porque ninguém nunca fez que precisa estar assim né Principalmente com dados né analogia dos Bombeiros é perfeita perfeita mesmo Gente vou falar um pouquinho agora aqui sobre a questão das notações gráficas táE assim não é só o retângulo não é só o losângulo para representar né o diagrama vocês vão encontrar outras simbologias que fazem parte de uma de um diagrama de dados de entidade de relacionamento essa simbologia são comuns e elas representam algumas informações importantes vocês vão ter aqui o retângulo sozinho representando a Entidade quando ele tiver esse desenho que parece um quadro com moldura ou com diversas duas linhas de formatação do retângulo ele representa uma entidade fraca a professora O que que é uma entidadefraca uma entidade fraca Ela depende da existência de uma outra entidade para poder existir né Ela depende de outra entidade para poder acontecer e fluir teria como exemplo aquele do dos dependentes do funcionário pode ser ou no caso eu usaria mais o exemplo do que a gente ter em relação a normalização daquela cliente produto né ela existe porque eu tenho um problema de relacionamento entre cliente e produto de muitos para muitos né ou você tem uma entidade que existe porque vou dar um exemplo evento não vou dar um outro exemplo Vou Colocarassim pensar em avaliações de Netflix ali por exemplo né você tem ali avaliação ela pode acontecer ou não né em função da ocorrência de alguém assistir um filme então vamos pensar que você tenha uma entidade que represente né é os espectadores né e a entidade fraca seria o que a avaliação desses espectadores né a satisfação ou avaliação enfim nota né enfim E para isso existir depende dessa entidade principal a gente vai ver um exemplo aqui para frente né que tem basicamente quase todos esses desenhos aqui né todas essas representaçõesgráficas mas é o que vocês vão encontrar geralmente pronto no software tá que o que que são utilizados para fazer diagrama Mas vocês podem eventualmente criar também no PowerPoint não tem problema algum a maior parte do softwares que são legais de usar eles são pagos né então é uma coisa muito comum é adaptar com PowerPoint porque o PowerPoint né tá ali disponível para sempre se tiver licença em maior parte das empresas têm né para você usar e poder editar a gente chegou a usar num período nesta para fazer esse tipo de diagrama de dadoaquele BR modelo eu até não citei ele aqui mas o BR modelo é um é um sistema muito bom ele é bonzinho e ele tem uma uma vantagem porque ele é ele é limpo ele não tem muita como é que eu posso dizer tem alguns sistemas que eles têm eles são um pouco confusos dão muita opção E aí você não vai direto ao ponto se você quer criar uma entidade selecionar uma entidade você quer criar Por exemplo essa questão da caixa de relacionamento então é o BR modelo é uma opção que interessante que eu acho que eu vou até editar o materiale colocar ele adicionar ele tá mas voltando aqui a falar da questão dos diagramas das Nações gráficas tá a gente tem indicador de relacionamento normal e identificador de relacionamento né quando você tem um relacionamento ligado a outro tipo de relacionamento que você quer identificar aí você pode colocar ele também não é muito comum mas pode acontecer de aparecer no modelo de vocês vai fazer alguma diferença em relação a construção da tabela não muito tá é que é mais de notação mesmo para entendimento atributovai estar marcado dessa forma com o elipse né que eu comentei com vocês na aula passada atributo chave vai estar sublinhado geralmente um atributo multi valorado vai estar com essas com esse com essa moldura né com esses dois círculos né multifalorado lá por exemplo lá o exemplo do endereço que vai ter rua CEP bairro né não multi falou nada não multi favorável exemplo do telefone desculpa o endereço do telefone que ele vai aceitar Vários valores dentro do atributo Então eu tenho um telefone outro número de telefone e outro número de telefonetodos dentro do mesmo atributo né no caso ali do atributo composto Aí sim a gente tem um exemplo do endereço que daí eu tenho eu posso ter lá uma rua é um bairro né E aí isso formar um atributo logradouro né enfim e tem um atributo derivado que ele deriva de um outro tipo de atributo nela é uma quebra de algum atributo tem uma mutação que eu coloquei aqui a gente quer é comum mas assim não é tão obrigatória tá que é quando você enxerga a participação Total dessa entidade 2 no relacionamento né então esse relacionamento ele só vaiexistir se tiver a participação Total dessa entidade é meio confuso de explicar dessa forma né Mas vocês vão vão enxergar que em algumas algumas referências algumas criações de tabela vocês vão ter a criação da entidade com uma uma participação total né em relação ao relacionamento e esse relacionamento como eu comentei com vocês às vezes pode às vezes não né mas na maioria das vezes vai ser representado como uma tabela fato né então isso por exemplo ficar rico né vai trazer bastante informação deixa só dar uma olhadinha na hora aqui falta 10minutos a gente precisa passar o próximo aqui mas a gente tá quase acabando por hoje tá a gente prometo que eu quero tirar algumas dúvidas com vocês aqui também e aqui eu tenho um exemplo tá que tem basicamente os principais diagramas esse exemplo inclusive peguei na internet para a gente poder exercitar porque eu ia criar um da sapataria mas daí o criado a sapataria eu quero criar junto com vocês né Vamos lá dar uma olhada nessa questão da desse diagrama né a gente tem aqui Um diagrama em que a gente tem as entidadespaciente consulta e médico na entidade paciente a gente tem um atributo normal né que é o endereço um atributo normal que seria o RG um atributo chave que seria o CPF e esse atributo multi valorado que são os telefones de contato né que é o exemplo que eu coloquei ele para vocês quando a gente olha a entidade de consulta a gente tem o resultado da consulta como atributo o tipo o atributo data e o atributo aidida a consulta né que vai estar sublinhado aqui então são atributos normais a relação aqui vocês vão ver que tem aquelas duas Barrinhasné então representados pelos Barrinhas porque essas entidades e esse relacionamento tem participação total de ambas as entidades então o paciente faz uma consulta a consulta né acontece quando tem um paciente né então você tem esse relacionamento total aqui quando a gente olha para consulta em relação ao médico né O médico não falei da identidade do médico Mas o médico aqui também vai ter a tributo é de chave dois atributos normais né telefone especialização detalhe esse atributo telefone aqui não é um atributomulti valorado ou seja o médico no cadastro para essa regra de negócio da empresa ele só tem um telefone registrado tá essa diferença desse telefone de contato aqui o telefone de contato o paciente pode ter um dois três quatro e entrar tudo no mesmo campo né ou nenhum preenchido no campo aqui no médico não aqui no médico é um atributo simples que vai ter só um telefone tá quando a gente olha aqui essa relação de entidade consulta no caso a consulta é realizada por um médico sim você um médico vai realizar né uma consultaa consulta no caso vai ser realizada apenas por um médico mas o evento o médico ele pode realizar ele consultas né a realização de consultas né A Entidade consulta ela vai ter um relacionamento forte total em relação à realização o médico já não o médico vai estar lá ele tá na empresa né ele não vai ter uma ele pode realizar essa consulta como ele pode não realizar mas ele vai continuar a entidade vai continuar existindo né agora essa entidade consulta para todos esses registros aqui acontecerem né é para que haja um registro deesses eventos acontecerem precisa ser realizado uma consulta precisa o paciente precisa fazer essa consulta né então vocês vão ter esse caminho aqui esse trilho representado dessa forma né com essa voltando aqui O slide anterior né com essa representação de participação Total tá é mais para o entendimento do processo de negócio acho que isso facilita também tá a criação de tabela isso não vai fazer tanta diferença quanto a cardinalidade cardinalidade Vai importar muito mais na criação de tabela do que do que isso tá e a questão dos atributostambém né mas isso aqui gente é um exemplo né de relacionamento que acontece entre tabelas de um sisteminha por exemplo de atendimento médico assim como o paciente faz a consulta o paciente né O médico é responsável por um paciente e o paciente vai ser tratado tendo como um responsável apenas um médico então você tem essa relação de um para um né um aí de paciente Um aí de médico esse paciente vai ter um ID nesse relacionamento estrangeiro do médico ou né você poderia fazer esse relacionamento sem essa se você nãotivesse esse relacionamento aqui de responsabilidade né É você teria que um médico podendo realizar n consultas né em um paciente podendo realizar n consultas né E aí nessa tabela de consultas você teria que fazer toda o relacionamento entre médico e paciente sendo que você não precisa fazer isso você pode fazer esse relacionamento aqui e já fazer isso diretamente tá sem precisar fazer todo esse trilho aqui então esse relacionamento responsável por poder na hora de criar serem uma tabela por aquela tabela com as duasChaves estrangeiras com a chave dela e as duas forem quis uma do médico numa do paciente Exatamente é isso aí esse esse responsável por pode se tornar essa aqui a gente tá falando de um relacionamento né mas aqui a gente teria nesse relacionamento de um para um a não necessariamente uma tabela de responsável por mas a gente poderia ter dentro do paciente da entidade paciente dentro do paciente fica estranho né a gente desculpa aí mas na entidade paciente tem um aí de estrangeiro que represente o médico né e dentro dodo relacionamento aqui do médico né da entidade médico né a gente poderia ter ou na consulta ou em uma nova entidade né o relacionamento para identificar esse médico porque para o médico aqui você vai ter sempre a relação de um para ele e um para um né então o médico em si você vai ter um registro só para identificar ele né E aí esse esse registro tem que estar sinalizado com uma chave estrangeira ou na tabela de consulta na tabela de consultas na entidade de consulta mas que vai acabar se tornando uma tabela ouna paciente mas vamos vamos pensar aqui que você tem essas entidades criadas vai criar algumas tabelas e vai relacionar elas aonde geralmente você vai ter aqui as tabelas de eventos né ou tabelas fatos nesse relacionamento aqui do faz né das consultas de fazer uma consulta ou não né ou nesse relacionamento de realizar consultas né um desses pontos aqui você vai ter uma tabela de vendas para registrar esses eventos que estão acontecendo né então para para simbolizar isso né você poderia ter por exemplo uma tabela lá deconsultas médicas né que poderia ter esse relacionamento aqui desenhado né na própria tabela de consultas aqui você tem uma ida da consulta você vai receber aqui um ID de chave estrangeira do médico e uma chave estrangeira do paciente né então você tem uma dívida consulta você sabe que essa consulta o evento aconteceu tem o resultado tem a data e aí você vai ter a chave do médico que vai ser o CRM aqui por exemplo né como chave estrangeira nessa consulta e nessa consulta aqui vai ter a chave CPF do paciente então no evento consulta naentidade consulta você vai ter ID data tipo resultado CRM e CPF E aí Por meio dessa entidade você consegue relacionar o paciente O médico tá mas tem que estar explícito o relacionamento se ele acontece aqui de um para um para o paciente para você conseguir identificar que você vai precisar colocar essa chave aqui na consulta né o que aqui beleza é o modelo simples né mas se você pegar um modelo complexo com várias com vários relacionamentos isso pode ficar um pouco mais confuso né porque você poderia ter aqui uma outra entidade se relacionandocom essa consulta também né E se relacionando com o médico também indiretamente né então o normal seria o que vamos pensar assim pensando de uma maneira bem bem simples ter a entidade paciente uma tabela representando essa entidade paciente com os telefones de contato endereço RG e CPF isso vai estar reservado tem uma entidade para representar o médico Isso vai ter reservado e aí a gente está falando praticamente Duas dimensionais né e ter uma entidade representando os eventos que são as consultas onde você vai ter um ID unitário para cadaconsulta e elas são n consultas né até representado por esse desenho aqui ó n consultas que podem acontecer com um médico e um paciente as consultas para elas acontecerem vai precisar Obrigatoriamente de um paciente de um médico O médico não vai conseguir fazer a consulta sozinho e o paciente também não vai conseguir fazer a consulta sozinho então você teria três tabelas uma de paciente uma de consulta para os eventos e uma de médico duas dimensionais uma de paciente uma de médico e uma de eventos que seria asconsultas tá e essa de consulta seria a Fato e aqui você teria o ID da consulta e os AIDS né de chave estrangeira para identificar o paciente e o médico consegui explicar acho que deu para deu para explicar né porque o desenho ele traz muita informação mas basicamente a gente vai ter tudo em função dessas entidades aqui tá é possível criar uma nova entidade aqui para resolver o problema por exemplo de muitos para muitos né hoje tem um novo relacionamento aqui nesse responsável por Mas aquele tá mais para indicar que você tem um para um né depaciente para médico então basicamente vai concentrar nas entidades mesmo para questões de tabelas inclusive no BR modelo de charge né nas ferramentas que a gente usa para modelar vocês vão encontrar muito disso bem focado nas entidades em si né mas entidades não garante que vai ser uma entidade de fato ou uma entidade de dimensional tá e sim o relacionamento que acontece entre elas como eu tinha comentado acho que alguém tinha perguntado se não me engano antes ali não sei se foi Umberto se foi o Guilherme mas os relacionamentos aquivão facilitar a gente entender se essa entidade aqui é uma entidade de fato Ou não né Assim como as dimensionais também gente ó aqui vou passar um pouquinho sobre as principais ferramentas de graduação né tem também a do SQL server né que a gente consegue ali visualizar o modelo criado mas usualmente uma das principais utilizadas no mercado é o próprio Microsoft Vision esse deve designer 4 aqui ele é uma opção desse mais ql World uma opção né com custo menor tem a ferramenta bom vou começar aqui do início né tô falando das outras aqui mastem a luz de chart que tem uma opção gratuita e tem as opções com conta na lista de chá de Vocês conseguem fazer ali até três modelos não faz só modelo de diagrama de entidade de relação tá faz outros tipos de modelo organograma mapa mental enfim tem o drop pontual que ele inicialmente Você tem uma licença lá gratuita para alguns dias depois você tem um custo um Microsoft Vision que é caro mas é muito legal né ele tem bastante as opções gráficas ferramentas de apoio e a exportação da tabela praticamente pronta ali para ser criadaaí tem esse DB designer que é uma alternativa para um SQL o maisql é muito utilizado tá esse Workbench asta também é bem bem comum mas também tem suas particularidades ali de custo Hering nunca nunca utilizei gente mas eu trouxe para vocês aqui que tem bastante material dessa empresa né para para modelagem né mas eu não tive experiência em fazer modelo aqui e RD Model simples né mas eu acho que é que também é tranquilo os links também estão aqui tá depois vocês podem clicar em visitar as páginas aí tem o g mais Model também queé uma opção online interessante bem simples também né não tem nada é tão assim inovador né em relação as outras ferramentas e o Miro o Miro se vocês não utilizaram na empresa de vocês né eles ele praticamente aí revolucionou na época da pandemia né a utilização dele por conta do aumento né de reuniões online de pessoas trabalhando remotamente e ele facilita também criações de quadro design finking Brainstorm mapa mental né tudo online Só que também tem um custo né então algumas empresas têm a licença dele então émuito comum vocês também verem pessoas fazendo diagrama dentro do Miro na próxima aula O que que a gente vai fazer a gente vai entrar no site para criar um modelinho rápido lá ele permite até criação de três modelos tá para a gente criar um modelo simples da sapataria se vocês observarem gente o modelo de dados ele tem que começar representando a realidade do negócio de uma maneira simples como tá que esse exemplo da consulta aqui né ele tem que representar o dia a dia de negócios né por isso o requisito de negócio é tãoimportante né e os atributos que vão estar relacionados aqui a gente tá falando de algumas entidades que tem alguns atributos mas vocês vão encontrar na empresa de vocês entidades que tem n atributos né mas assim vamos falar que sobre a questão do da questão da aula anterior lá que um aluno perguntou sobre opa pode falar Thiago alguma daquelas ferramentas ali Elas fazem um 16 engenharia reversos consegue converter modelo lógico por exemplo Então esse é o problema dessas aqui que eu conheço tá nenhum vai ter essepoder de fazer engenharia reversa porque olha que se eu procurar a gente eu preciso deixar essa ferramenta algumas delas Podem trazer o código depois que você cria o modelo para você criar as tabelas né ou você relacionar se a pessoa criou no banco as tabelas da maneira que deveria quaisql que é a situação que eu vou comentar daquela server aí Thiago então infelizmente se a pessoa não criou a tabela fazendo o referencial É muito difícil você conseguir fazer engenharia reverso para achar o mapa porque ela tem que ter criado a tabelareferenciando por exemplo qual é a chave estrangeira em outra tabela né quais tabelas ela tem ligação esse relacionamento no cliente table então se ele fez isso o modelo você vai conseguir fazer engenharia reversa com esse o mais Kelly work Paint você consegue relacionar o teu banco de dados e subir em distância e você consegue fazer isso o problema quando a pessoa não faz esse relacionamento não tá implícito na criação da table a tabela foi criada e a pessoa faz a relação lá no Joy na consulta no dia a dia natorcida e isso não tá especificado no banco de dados não tá na criação da tabela Cara isso é muito ruim que é o exemplo que eu vou comentar agora aqui na frente tá Thiago isso aqui ó que eu acho que foi até uma pessoa que perguntou não é que ele serve né como é que faz para para identificar né o modelo né o diagrama da data né então se foi desenhado e se a tabela foi criada seguindo o modelo conceitual seguindo o modelo lógico ali referenciando as tabelas vocês clicarem em cima da instância para abrir o bancode dados aparecia e essa opção de Database aqui tá do diagrama de Database vocês clicariam nessa opção de dentro diagrama né E aí vocês teriam aqui a seleção das tabelas para vocês relacionarem né E aí vocês fariam a adição dessas tabelas E aí beleza Vocês teriam o modelo praticamente desenhado na sua tela Isso já usando o sks server tá a gente vai vai fazer isso na escalaser nas próximas aulas depois a gente criar certo a tabela tá E aí vocês vão ver que aparece certinho bonitinho uma outra opção também é que se vocêselecionarem criar a tabela adequadamente selecionar essas tabelas que ele serve e clicar na opção table View depois Custom ele vai mostrar também o formato das tabelas da Arte dos Campos né então ele vai trazer você pode tanto de uma tabela ou de todas né do modelo se der um controlar lá e selecionar todos ele vai trazer tipo se aquele campo inteiro se não é inteiro e qual o relacionamento dessas tabelas dentro daquele server né E aí vocês vão ver que anotação serve um pouquinho diferente né Ela é parecida com aquelaanotação do ML mas para isso acontecer Thiago precisa ser criado dessa maneira aqui ó quer ver eu vou mostrar um exemplo que tem no slide lá do primeiro slide vou dar um esc que acho que é mais rápido né Pera aí nesse slide aqui ó esse aqui é um exemplo do Óleo como eu lembro que na aula eu coloquei o exemplo de que ele serve também o que que o que que acontece né quando é criado a tabela se a pessoa faz o Create table usando o referencial das chaves estrangeiras aqui Apesar que aqui eu acho que não é o exemplo que tem eu acho que ele serve támelhor lá que lá tem o foreign apontando para tabela né exato E você tem essa referência dessa tabela de Empregados com as outras tabelas que ele faz referência você consegue pegar e fazer esse modelo Lógico né usando usando essa ferramenta aqui do mais aquele work pente usando essa ferramenta da Hering né ela também faz isso só que tem custo né daí fica um pouquinho pesado mas tem custo você consegue identificar isso aqui essas duas ferramentas eu tenho certeza que você consegue fazer isso se tiver criado da maneira certa mas no própria que eleserve você deveria conseguir fazer isso tá mas precisa ter sido criado com um relacionamento já senão você tem que fazer ali todo trabalhinho de Formiga de entender recriar a tabela né recriar a tabela não é tão simples dependendo do volume né então fazer uma review de uma tabela lá é bem dependendo do banco que vocês vão fazer isso tem que ajudar o horário então assim dessas ferramentas aqui eu não achei ainda nada do gênero tá que possa resolver essa pergunta ali tá deixa eu ver aqui bebê diagrama ponto deixa eu ver aqui que vocês estãocomentando que eu não vi aqui eu perdi aqui o tema tá gente deixa eu ver aqui tá trabalho criado pode ser uma dimensão que outra dimensão sim sub dimensões no dws fracas isso aí Tiago as novas entidades criadas são considerados entidades fracas as novas entidades depende depende da regra de negócio Tem situações que elas não vão ser editadas fracas Tá mas vai depender do relacionamento do mapa que você está criando só que isso vai ficar bem bem visual tá para você dependendo do relacionamento que você vai fazerentre essas informações por exemplo do cliente compra um produto né é algo comum não necessariamente vai ser uma entidade fraca por conta disso né Por Conta do relacionamento de compra mas sim porque para ela existir né ela derivou de outras duas entidades né que que tava num relacionamento mm para ele beber Esse eu não conhecia Thiago ou até colocar aqui tá no material ele é frito não sei se colocou aqui ah tá seja Alguém já perguntou assim gera o código SQL para tal banco é que ele serve Maria sim Maria tambémé gente para gerar código SQL alguns dessas ferramentas aqui já eram tá o DB designer o BR modelo também gera né Luiz ele também gera o código para SQL o my SQL workbach era eu em gera Lucy chart Vision gera e RD modelo gera menos gera eu acho que não gera aqui só que assim das opções que tem free vamos testar essa opção que Thiago passou Qualquer coisa a gente pode iniciar por ela tá o Shark é muito bom tá eu gosto desse chá Mas ele tem uma declaração de três de três modelos a serem criados né Por usuário entãodepois ele começa a cobrar né então mas é uma ferramenta muito boa também aí tem uma outra ferramenta que eu não coloquei aqui que é o do BR modelo né então eu vou colocar aqui ó incluir no slide e quando você coloca isso mestre que a gente percebe que é muito importante ter a noção de boas práticas né não só de programação mas também na hora de da constrição de dos modelos a coisa toda né sim sim porque a maioria de vocês que infelizmente ainda não trabalha na área tá tendo trabalhar né mas a maioria de vocês devem fazer engenharia reversatoda hora é e cara perde muito tempo perde muito tempo e aí o que acontece a é natural a gente tem uma movimentação muito grande da empresa e aí se o conhecimento não tá documentado ele tá preso a uma pessoa se ele tá preso a uma pessoa e a pessoa sai perdeu o conhecimento né então isso acontece em algumas equipes antigas de biai né Se vocês entrarem numa área que tenha muito tempo lá corram para fazer documentação para colar na pessoa deixar isso escrito para depois não precisarem tá a outra ferramenta que eu vou colocar aqui é oque o Thiago passou aqui o bebê de grande essa não conhecia tá Thiago bacana e o BR modelo vou deixar essas duas aqui depois eu vou colocar aqui gente só as ferramentas que são gratuitas tá E vou colocar um símbolozinho de valor aqui que eu acho que facilita no slide né também na compreensão deixa eu dar uma acelerada aqui que já é 10:12 gente para comentar umas coisinhas com vocês e voltar no slide aqui que tem alguns exemplos que eu queria mostrar para vocês eu sei que eu passei um pouquinho aqui mas é porque eu queriacomentar com vocês isso né E essa para visualizar nós que ele server tem como você visualizar o relacionamento se ele foi criado se ele não foi criado infelizmente não tem como mas eu deixei ali para vocês no futuro tá E aqui ó para a gente pensar no modelo né esse modelo aqui é um modelo simples que eu peguei também na internet mas é que ele traz algumas situações engraçadas a primeira né logo de operações falando bem rapidinho vocês vão poder depois analisar esse modelo com mais calma e depois a gente vai usar eletambém de novo para tirar algumas dúvidas mas isso logo de operações não tem relação Dimensional nenhuma com o resto do modelo né E aí poxa eu quero saber o log é qual cliente fez tal operação não tenho tenho relacionamento Neco E aí quando a gente fala de lgpd que você tem que ter ali a rastreabilidade que você tem que ter o log de todas as operações identificar o log IP para no caso de um site na construção de um site mesmo interno né É ou regra de compliance né para as empresas que estão com ação em bolsa Aívocê chega nesse modelo aqui cara e chora porque não tem relação nenhuma com as outras tabelas E aí poxa mas será que conceitualmente não tinha regra de negócio para isso né não tinha como fazer um relacionamento de por exemplo o cliente fez uma ação registra um log nas operações então teria uma caixinha aqui em losango né para registrar ou quando eles solicitam pedido enfim eu coloquei só uma esse modelo aqui como exemplo para a gente ver que às vezes no próprio relacionamento aparece algumas coisas que não fazem muito sentido táé esse exemplo no caso aqui é de um exercício que é a proposta Inclusive era essa tá identificar essa falha mas é comum você se chegarem essa conclusão também modelos né de algumas empresas principalmente fazendo logística reversa quando você tenta chegar no desenho do modelo e aí você vai ver tá mas essa tabela tá fazendo relação com qual não tem chave não tem relacionamento ela só existe tá lá só existe né ocupando espaço no banco e processamento né aqui gente é um exemplo de um GIF animado que eu ia comentar com vocês isso aqui é doPower Mas por que que tudo isso é importante né dado uma pergunta ali por exemplo Ah eu quero identificar a quantidade de vendas né dessa categoria A né nos anos de 2018 né então aqui você tem esse relacionamento né de um para muitos de um para muitos né de um para muitos na tabela de categoria na tabela de produto na tabela de vendas e no ano e aí você consegue chegar a resposta isso aqui é o objetivo principal de qualquer modelo responder algo você tá armazenando essa quantidade de informações para responderperguntas né para fazer análise para gerar em site então a informação lá sozinha de categoria A Jane Jones é uma informação a informação da vendo o evento da venda aqui eu tenho aqui o código da venda e a quantidade é uma informação mas quando a gente unifica tudo isso dentro de um modelo de dados a gente consegue trazer a resposta aí eu quero saber a quantidade de vendas de 2018 da categoria A tá ali né você consegue relacionar deixa esse gif aqui gente eu até salvei essa apresentação depois o modelo PDF mas depois eu voudeixar para aberta para vocês porque tem os links também né Apesar que no pdf mas tem um GIF também E aí eu deixei aqui algumas referências tá modelo de dados pela pela airy principais ferramentas diagrama que tem um link gosto muito desse Dos comentários desse desse rapaz aqui do LinkedIn né recomendo cardinalidade do IBM cardinalidade a questão do estudo do modelo relacional né que eu acho que é importante diagrama de dados do ML na época que vocês vão ver esse diagrama de dados nesse formato em algum sistemas da Microsoft néPrincipalmente aquele server e o Power tem um esquema de relacionamento também na própria página da Microsoft clicando a questão de cardinalidade Caso vocês tenham mais alguma dúvida e tem alguns exemplos lá bem legais tá só que é claro tá desenhado para o powerby mas como vai ser uma matéria que a gente vai ter também a próxima disciplina né vai ser essa né se vocês quiserem se aprofundar é bem legal também porque todo esse relacionamento a gente pode criar ela também lá dentro esses dados na segunda não né ele criauma ambiente de dados e facilita gente passei bastante conteúdo hoje a próxima aula a gente vai criar o modelo da sapataria pegar aquelas informações que Vocês pegaram na aula de ontem né a gente vai fazer junto pegando a lista de atributos requisitos se escrevendo a frase pegando a regra de negócio e aí desenhando se vocês preferirem a gente pode fazer imagem de uma ferramenta usar duas três ferramentas gratuitas ali para desenhar para vocês verem a experiência ou a gente separa em grupos e vai desenhando tá a próxima aula vai ser sópara isso só para a gente desenhar o relacionamento e testar essas relações né conforme as regras de negócio que a gente vai criar também no dia porque a gente precisa criar algumas regras e uns conceitos né senão cada um vai desenhar um modelo diferente então a proposta da próxima aula é essa tá gente deixa eu ver aqui os comentários de chat agora eu vou parar o slide aqui que eu acho que é mais fácil que a gente já está encerrando e deixa eu ver deixa eu ver aqui Professor usar CPF como chave não entra na lgpd como um dado pessoal sim se essatabela for compartilhada com outras áreas de negócio data Marte por exemplo recomendado você não deixar no data Marte e colocar um identificador de cliente como aí de consumo a de Persona é ou criar uma máscara e criptografar esse dado você pode criptografar assim como você faz criptografia de IP por exemplo então nós que eles servem inclusive dá para você fazer a criptografia né E desincriptar só que vamos supor se você não tem um controle dos seus dados por exemplo o banco de dados tem vários usuários lá né a gente tem alguns bancosde dados de usuários que são cadastrados cadastrados pelos pela matrícula de rede Windows authentication por exemplo né eles têm até uma janela a gente consegue mapear o que eles estão fazendo Mas da onde eles vão passar essa informação e se você não tem controle da onde essa informação vai chegar o ideal é você não colocar o CPF ali como como editar deixar realmente para identificar a Persona E aí você acaba criando mais uma tabela Dimensional né para converter esse cliente né o número do CPF em um aí de Persona E aí você colocar isso dentrodo teu sistema né alguns sistemas de CRM já trazem esse código criado né a partir de a partir do momento que ele vai a hora como por exemplo tem os sistemas da do Iti Sibe eu Tôa né tem sistema de atendimento como clarify também Connect que trabalham com esse conceito de criar um ID específico para aquele cliente para determinado cliente né E aí só que esse aí de eles estão fazendo esse mesmo trabalho de transacional né de banco de dados para mascarar esse essa informação né Mas vai ter uma tabela lá por trás que tambémvai apontar lá um id e transformar isso em um único tá matrícula aqui é o seu CPF sim gente outra coisa dentro de uma empresa para lgpd é a matrícula do usuário se você publicar uma relação de usuários por matrícula E isso vira público isso também é uma das coisas que ferem a lgpd né então por exemplo tabelas de log mas não usa nome do usuário a gente usa um identificador do usuário e Esse identificador ele não pode ser replicado é uma outra questão de de Por que que isso evitado né para evitar um SQL inject um mal intencionado paraevitar que as pessoas utilizam esse usuário e tenta chegar a senha desse usuário né com Esse identificador né então Pode dar ruim ele como colocaram [Música] sim sim é geralmente né durante a equação do sistemas passam mas o que que acontece é vamos pensar numa grande empresa tem várias empresas que têm sistemas departamentais que são criados por pequenos times de software né E aí depois é que eles vão fazer avaliação com o time de lgpd ou com o time de proteção de dados ou compliance E aí tem a surpresinhas porexemplo de IP que não tá mascarado matrícula do usuário Identificação do cliente né Tem uma confusão também entre dados pessoais e dados sensíveis né ah o que que é andado sensível o que que é andar do pessoal Porque dependendo da categorização isso vai dar uma diferença no valor de multa né aplicada então enfim gera mais trabalho gera mais trabalho já passei por incidente desse vazaram uma planilha com matrícula dos funcionários é gente toda empresa tem o caso de alguém do RH que vazou matrícula E salário de alguém toda empresa jápassou por isso se não passou vai passar mesmo com lgpd isso aí é um fato né infelizmente acontece né alguém acaba vazando esse tipo de informação mas vou dar o exemplo de algumas empresas tá vazamento de informação que pode acontecer por conta de banco de dados o salário e o nome da pessoa Acho que não fere a LGBT Então tá aqui no Portal da Transparência você consegue o problema agrícola ou a matrícula mas assim por exemplo José ganha 10.000 o Luís ganha mil Gustavo é assim eu acho que não seria problemas de como essa informação vai ser usada uma coisa é vazar internamente dentro da própria empresa uma coisa utilizado depois né fora de contexto no mercado vou dar um exemplo algumas empresas passaram por uma dificuldade em que arquivos né de tratativas transacionais né de vendas ou serviços né acabaram vazando e aí o que acontece e vocês vem notícias direto disso de empresas de telecomunicações de empresas de serviço de streaming né E aí o que acontece tem ação de marketing quevai em cima compra de devidos né isso tem mercado gente tem mercado de compra devido e o que que eu falei em relação à questão de segurança né se você não sabe aonde a informação do sistema vai parar se você não consegue garantir né algumas empresas colocam como garantia de responsabilidade né o diretor da área a pessoa por exemplo eu sou responsável das informações que eu trabalho né então eu sei da responsabilidade que eu tenho que conhecer aonde a informação vai parar de ponta a ponta seja Um certificado de ponta a ponta quando éapi ou seja confirmando tudo com os escritórios de compliance ou segurança ou conforme a cada área aplica né mas o que que acontece Às vezes o que sempre vazou muito esse tipo de informação as empresas essas empresas compram para fazer tipo de divulgação é a receita federal e ninguém tem ninguém ninguém é punido povo dar um exemplo para vocês receitas sempre bravo eu passei Eu passei por uma experiência isso eu posso falar com a experiência minha pessoal né que que implica nisso eu tinha né um glorioso fusquinha né umcarro Fusca E aí eu fui buscar um almoço com a minha esposa né deixei estacionado na frente do shopping e ele foi roubado questão de 10 minutos né eu não fiz divulgação no Facebook não fiz divulgação em local nenhum a partir do momento que eu fiz o boletim de ocorrência eu comecei a receber chamadas de pessoas alegando que estavam com meu fusca todo de desmanche várias pessoas falando então foi minutos depois da gente ter feito o boletim de ocorrência a gente já começou a ser bombardeado né de informação de gente que tinha oendereço antigo que tinham meus dados pessoais meu endereço antigo gente e aí pô é uma coisa muito séria imagine uma outra pessoa né de ilícita né com o dado que é pessoal né é muito complexo a gente é bem bem perigoso eu acho que depois a gente pode reservar na parte de análise de na laje de dados depois né um tema só para falar em relação a análise de dados e ele perder também que é uma coisa que tá bem tá bem latente tá E isso tem muitas empresas que assim como a Naira comentou né projeto de adequação dá muito trabalhomesmo né vários são vários sistemas continuados uma coisa que é bem por exemplo a login forma de login na página né Teve teve um evento gente que isso aconteceu na empresa o usuário criou uma plataforma externa sem validar né porta 8080 lá aberta para rede e tava compartilhando dados né várias bases de dados para algumas pessoas né fazer algumas tentativas da empresa o que que acontece você conseguia baixar no seu celular a base da empresa gente é absurdo né É claro que agora as empresas têm sanções né algumas né fazemdemissão por justa causa compartilhamento né de acesso esse tipo de coisa aí você é bem comum né ali na era colocou Exemplo né foi o GPS que vazou a planilha que o RH enviar Nossa Senhora ai gente e assim gente não é só nós que estamos passando por esse momento né as empresas que prestam serviço também como hora com endox né empresas grandes empresas de CRM também estão passando pela mesma coisa né Marcos já vai todas estão passando por pelo menos a situação gente próxima aula terça-feira né agora falando um pouquinho da próxima aula agente vai basicamente não ter tanto slide tá um ou dois no máximo só para orientar a gente em relação ao diagrama e a gente vai construir esse diagrama a partir daquele exemplo da sapataria virtual tá bom é isso eu sei que falei bastante gente é 22 e 27 Desejo para vocês em um ótimo fim de semana Se tiverem alguma dúvida mande no chat tá não deixem a dúvida ficar quicando ali e Se tiverem outras ideias de ferramenta como Tiago também trouxe como o Luiz lembrou também do BR modelo podem colocar aqui tá bom bom fim desemana gente até mais tchau tchau Boa noite mestre boa noite