[Música] olá estamos começando mais uma vídeo aula eu venho hoje com uma novidade hoje nós falaremos sobre modelagem de dados nós veremos a modelagem conceitual modelagem lógica ea modelagem física é claro que eu vou mostrar que um resumão de como você trabalha com modelagem você converte um pro outro faz um mapeamento é importantíssimo isso eu não vou em aprofundo detalhadamente mas aquilo que eu mostrar que vai ser se você não viu ainda vai ser muito útil para você vamos começar o que é a modelagem de dados e qual a sua importância a modelagem de dados
é feita antes de você começar a desenvolver um banco de dados em si então você vai pensar é que tabelas que eu preciso é que forma que eu vou relacionar uma tabela com a outra não é simplesmente criando tabelas colocando-a forem que achava estrangeira em qualquer lugar não tem regras e eu vou mostrar ainda nessa aula a consequência de você desobedecer a regra então é muito importante você criar o seu banco de dados é modelando ele primeiro antes de ir direto fazendo porque depois lá na frente pra você fazer uma alteração é no código no
banco de dados vai ser trabalhoso pra você e editar atualizar tudo isso a modelagem ela acontece em três etapas nós temos a modelagem conceitual depois vem a modelagem lógica e por fim a modelagem física que é realmente quando começa a digitar é que o leite data b e tal tem pessoas que vão direto pra modelagem lógica mas pra ficar completo o certo mais correto seria você começar pela conceitual terminou conceitual converte para lógica terminou a lógica converte para física então é um passo a passo vamos entender como funciona a modelagem conceitual esse é um diagrama
feito no br modelo caso você precise que é um exemplo de uma modelagem conceitual então vamos pensar assim eu preciso de um sistema onde possui usuários e comentários os comentários desse usuário inclusive essa modelagem que estou mostrando aqui é um exemplo de um programa que estamos fazendo lá na playlist é do projeto de comentários é exatamente esse banco de dados que eu utilizei esse mesmo pensamento que eu utilizei então o que nós temos aqui eu tenho uma tabela usuários e uma tabela comentários porque cada usuário desse site vai precisar é fazer um comentário vai poder
ter a possibilidade de comentar e aí nós temos que armazenar esses comentários ou você acha que a todos os seus comentários do facebook não são guardados no banco de dados então tudo tudo é guardado no banco de dados até a curtida que você dá isso precisa ser armazenado no banco de dados para quando você voltar àquela postagem a curtida continuar lá porque você curtiu então tudo é guardado então as tabelas são representadas por esse retângulo depois nós vamos ter os atributos que são esses essas bolinhas né por exemplo que o usuário ele tem vai ser
armazenado o nome e meio a senha e vamos ter uma chave primária toda a tabela tem que ter uma chave primária então no caso de usuários vamos ter uma id único para cada usuário chamado a dinda online o usuário no lado do comentário temos também uma rede documentário que a chave primária que temos ali outros campos temos o comentário onde vai ficar o texto a data que foi comentada ea hora que foi comentada esse comentário aqui no meio se losango nós temos o relacionamento e aí o mais importante é a cardinale idade esses números que
vocês vêem aqui do lado eu tenho três possibilidades de cada modalidade mas vamos entender com nós pensamos antes de colocar a carne na unidade então vamos pensar nesse exemplo nós temos usuários eles podem comentar aí você vai olhar aqui no usuário vai pensar o usuário ele pode ter quantos comentários bom o usuário ele não é obrigado a comentar então ele pode ter 0 comentários e ele pode comentar uma vez duas vezes três vezes então ele pode comentar de zero até n vezes é assim que você pensa agora olhando para o outro lado em comentário ele
pode pertencer a quantas pessoas pode ter um comentário lá em vão assim é sem nenhum usuário ter comentado não é impossível então um comentário ele tem que obrigatoriamente pertencer ao usuário e unicamente pertencer apenas 1 ou seja um comentário não pode ser de duas pessoas então um comentário ele pode ser ele tem que ser de no mínimo uma pessoa no máximo uma então nós temos a regionalidade um pra n e as possibilidades são um pra n ele pra n e um para um você sempre vai olhar depois da vírgula então depois da vírgula o que
eu tenho aqui nesse exemplo tem um e no lado do comentário eu tenho ele então é um pra n ou n pra um tanto faz vamos ver um exemplo de nesse caso aqui nós vimos um pra n agora vamos ver o exemplo de n pra n então eu tenho aqui por exemplo um sistema de banco de dados para uma escola por exemplo é claro que numa escola são vários bancos da eva várias tabelas né aqui eu tenho somente duas então eu tenho ali o aluno que ele tem que é armazenado o real e mail telefone
e o nome desse aluno e tem a disciplina que ele cursa que também é armazenada nesse banco de dados tem o nome da disciplina carga horária e tem uma medida desse lina e aí nós temos um relacionamento aqui o que acontece um aluno ele pode ter de uma disciplina até várias disciplinas agora olhando ao contrário uma disciplina pode pertencer a no mínimo um aluno e no máximo vários porque vários alunos podem ter a mesma disciplina então que acontece olhando depois da veículo nós temos um relacionamento m3/ano e é obrigatório é regra sempre que tiver um
relacionamento ele pra n nós vamos criar uma terceira tabela aqui no meio que vai ser a tabela que vai guardar a chave de ambos as tabelas estão aqui dentro nós vamos colocar o ahi a que vamos colocar o edin de laine disciplina isso aqui se chama entidade associativa sempre que nós temos duas tabelas npn uma terceira precisa ser criada que é a entidade associativa agora vamos ver um exemplo de um para um um pra um nós temos aqui é uma pessoa que possui um endereço então na tabela pessoa guardar o nome o cpf eo telefone
na tabela endereço vou guardar por exemplo haidê a rua cidade número bairro estado aí você pode aumentar você pode colocar nacionalidade élin a língua que a pessoa utiliza e muito mais e por que esse relacionamento é um para um porque nesse caso neste modelo uma pessoa pode ter apenas um endereço no banco de dados e um endereço pode pertencer apenas a um pessoa aí você me falar mas está errado e se for por exemplo um consultório onde tem um plano de saúde para toda a família várias pessoas da família vão ter o mesmo endereço ou
seja o endereço é porque tem que ser a mais pessoas então isso vai depender realmente do sistema se for um sistema que não seja plano de saúde provavelmente vai ser permitido apenas o endereço por pessoa caso do plano de saúde é outro caso outra história outra modelagem aí será um pra ele ou n pra n vai depender então nesse caso aqui o relacionamento é um para um agora que nós vimos a modelagem conceitual como eu falei não é detalhadamente mas isso aqui é pra você entender como funciona agora vamos ver a modelagem lógica a modelagem
lógica é basicamente uma conversão da modelagem conceitual para a modelagem lógica esse é um exemplo eu converti aquele modelo conceitual pra lógico e qual a diferença do conceitual prológica no conceitual nós não temos chave estrangeira quando nós mudamos para a modelagem lógica aí é acrescentado conforme uma regra que eu já vou explicar a chave estrangeira então veja só a comparação do modelo de cima que é o conceitual com o de baixo que o lógico e aí quais são as regras pra fazer essa conversão para isso nós temos que ter em mente conhecimento de mapeamento então
olha só o mapeamento que acontece todo relacionamento um pra n o lado do n vá receber a folha em que a chave e estrangeira o que é forem que achava estrangeira é a chave primária colocada em outra tabela para fazer o relacionamento então toda vez que eu tenho uma tabela um e outro lado a eni a outra tabela n1 pra n o lado n ele recebe a chave primária da outra tabela isso é importantíssimo você precisa decorar com o tempo você decora qual é a outra regra toda vez que eu tiver um relacionamento n pra
n é criada uma nova tabela inclusive já falei isso lá no primeiro modelo na modelagem conceitual quando eu tenho ele pra ele é criado ali uma tabela no meio onde vai receber a chave das duas elas então a tabela do meio recebe a chave da tabela da direita ea chave da tabela da esquerda e o relacionamento 1 a 1 que é o exemplo do endereço e da pessoa é feita a união dessas tabelas então as informações das duas tabelas são colocadas em uma só então recapitulando um pra n o lado ele recebe a chave estrangeira
ele pra n criado na nova tabela e 1 para 1 união de tabelas então agora vamos fazer a conversão dos três tipos primeiramente um pra n como você já viu o lado n recebe a chave quem ao lado do n os comentários então nós colocamos aqui a chavinha cinza e aí eu sempre coloco é o nome é ficar na frente pra você saber que essa é a chave estrangeira e aí é facinho ao usuário você coloca aí usuário nome e mail e senha do outro lado o id comentário comentário data hora e acrescenta a chave
estrangeira e esta chave estrangeira tem que ser do mesmo tipo nem o tipo ele inteiro tem que ser o mesmo tipo que a chave do usuário na uai de usuário inteiro então achava estrangeira também tem que ser inteiro bem simples agora o n pra n nós temos aqui aluno e disciplina como eu falei é criado uma terceira tabela então fica assim com um lado aluno com a riaa nome telefone e mail ou outro lado disciplina com aidi nome carga horária e no meio fica ali uma tabela que você pode chamar o nome que você quiser
eu chamei por exemplo de aluno underline disciplina que vai receber a chave dos dois então ele pegou ele a chave de aluno o rh e pegou também a chave de disciplina e é só pra fazer a ligação entre os dois se você precisar você pode acrescentar também uma coluna uma ou mais colunas aí nessa terceira tabela bem simples também e aí temos um relacionamento um pra um que é muito mais fácil nós temos aqui pessoas de endereço como é um para um a regra diz que tem que ser feito uma união de informações então você
vai criar uma tabela com todas as informações o cpf da pessoa nome telefone e ele coloca em seguida o endereço rua número bairro cidade estado e aí não vamos ter chave estrangeira somente chave a chave primária mesmo e qual a importância de seguir essa regra de mapeamento e se eu não segui o que acontece então agora vou mostrar pra você olha só eu vou usar como exemplo essa tabela de usuários e comentários como é um pra n o lado e nem vai receber essa chave conforme regra então nós vamos pegar esse aí de usuário que
está na tabela usuários e vamos passar para comentários como xavi estrangeira agora pra você visualizar melhor eu vou preencher um pouco essas duas tabelas então olha preenche as duas tabelas a tabela usuários têm ali o id de 1 a 6 na verdade de 15 está preenchido o e mail o nome ea senha na tabela usuários temos o id comentário o comentário a data a hora e ainda lhe a última coluna nós temos wide usuário essa última coluna a chave estrangeira então como é que fica isso nós temos ali por exemplo paulo o paulo ele é
aí de três então basta você olhar ali na tabela comentários o comentário que ele fez então ele fez o comentário dizendo legal e dizendo muito bom que são os leds 100 e 101 então para você saber quem fez qual comentário só você olhar assim estão ali por exemplo é de 1 maria fez o comentário gostei o josé que é de 2 ele fez o comentário ruim então esses são os comentários e aí eu estou obedecendo à regra porque não é relacionamento um pra n o usuário pode fazer n comentários e realmente está certo porque o
paulo ele fez dois comentários ele fez mais de um comentário então a regra está correta e aí eu falo pra vocês não desobedecer a essa regra e se ao invés de colocar essa coluna que aí de usuário em vez de colocar um comentário seu desobedecer e colocar essa coluna em usuários então vamos fazer isso eu vou tirar essa coluna daqui empurra comentários pra lá e acrescentar essa coluna aqui em usuários tocha meio de aids e então estou fazendo o contrário agora vamos pegar aqui como exemplo o paulo o tombo ele quer fazer dois comentários mas
vamos pôr ordem a maria ela fez o comentário com aids em dizendo que legal o josé fez o comentário 104 dizendo interessante e o paulo ele fez dois comentários ele fez o comentário gostei ele fez o comentário ao ppe como eu faço para colocar o ide aqui eu vou colocar 102,73 não né porque até porque essa coluna provavelmente seria uma coluna de número inteiro como eu vou colocar vírgula nessa coluna então não posso então você vê que gera uma consequência e desobedecer a regra do mapeamento que diz que o lado e nem recebe a chave
aí você me diz ah mas isso é fácil só colocar aqui os 102 vamos colocar os 102 lá embaixo eu escrevo novamente o paulo colocando os 103 aí sim eu tô dizendo que o paulo o documentário 102 e o paulo fez um comentário 103 até que não está muito errado porém isso gera um problema você vê que agora nós temos dois paulus então vamos supor que eu tenho que fazer aí um calmante né contar quantas pessoas estão cadastradas nesta tabela o correto seria quantos maria josé paulo ano e felipe era pra vir cinco pessoas mas
se eu fizer um calmante nessa tabela vai vir seis pessoas e isso é uma informação errada então você vê que não pode ser feito assim agora que vemos a importância de seguir o mapeamento e decorar as suas regras vamos para a modelagem física a modelagem física envolve vários critérios você precisa entender e saber né banco de dados como fazer o código de criação de tabela de elite update tudo mais mas isso não vem ao caso nesta vídeo aula o que eu tô focando aqui é como você fazer um modelo conceitual converter para modelagem lógica e
depois converter para modelagem física é isso que eu vou explicando nessa aula então vamos lá e vou mostrar primeiramente como fazer a modelagem física um pra n sempre quando você for fazer o código de criação de tabelas você tem que focar em um detalhe se existe chave estrangeira em alguma das tabelas você tem que deixar pra fazer por último então aqui nós temos duas tabelas então você vai começar criando a tabela que não tem chave estrangeira porque você precisa fazer a ligação tão nesse caso vamos começar a criar uma tabela usuários e depois a tabela
comentários então o código para o usuário seria basicamente isso aí de o tipo nec é inteiro alto incremento chave primária aí eu tenho aliás outras colunas nome e mail e senha todos baixar também de criar a a a tabela usuários aí sim nós vamos para a segunda tabela que a tabela comentários então nós temos ali eid que é o incremento chave primária é nós temos a coluna comentários a coluna dia a coluna horário e aí nós temos aqui a coluna f cada lineage online o usuário que tem que ser do mesmo tipo da chave primária
da outra janela que é do tipo inteiro e aí aqui embaixo nós fazemos essa ligação dizendo que a coluna é ficar aí de usuário referencia a tabela usuários na coluna à i d então é sempre assim você escreve forem que passa a coluna aqui no caso eu coloquei pkk mas é ficar referencia a tabela usuários na coluna e de bem simples então é esse o relacionamento um pra n agora vamos ver a modelagem física e me pra n eu tenho aqui o modelo conceitual foi convertido para o modelo lógico e agora vamos fazer o código
da modelagem física então primeiramente eu crio a tabela aluno depois a tabela disciplina e por último a tabela que possui as chaves estrangeiras então a tabela com o chamei de aluno disciplina você vai criar duas colunas como se elas fossem normais então você não coloca nada na frente coloca r avalancha de 30 em baixo a id do tipo inteiro como se elas fossem normais aí só embaixo que você fala que elas são chaves estrangeiras e faz a ligação então aqui eu falo forem que é coluna r a que referencia tabela aluno na coluna r a
de aluno e aí em baixo novamente forem que a coluna a ed dessa tabela referencia a tabela disciplina na coluna à i d d e aí nós terminamos as três modelagens você não viu ainda essa modelagem ouviu na faculdade no curso e não entendeu espero que essa aula tem esclarecido pra você os três tipos de modelagens em muitos lugares em muitos vídeos o pessoal faz uma confusão pega esse modelo é lógico e fala que é modelo conceitual mas não é o modelo conceitual ele é baseado no diagrama chamado entidade-relacionamento que depois que nós fazemos a
conversão pra esse modelo se você quiser fazer isso na sua casa você pode baixar e o programa br modelo é com ele que eu fiz nesses diagramas e aí depois por fim tem modelagem física que você precisa ter noções de é como fazer ali a programação dos códigos aqui eu fiz os códigos em mais que é ele mas não é muito diferente do sql server do oracle não muda muita coisa é pouca coisa que muda então é isso espero que você tenha gostado deixe algum comentário aí e até a próxima aula [Música]