Você sabe a diferença entre INNER JOIN e OUTER JOIN? Conhece os dois tipos de OUTER JOIN, o LEFT JOI...
Video Transcript:
hum hum hum Olá pequeno gafanhoto seja bem-vindo a mais uma aula do seu curso em vídeo de banco de dados que eu mais quero ele o meu nome é Gustavo Guanabara eu sou seu professor e chegamos a mais uma aula Onde vamos dar continuidade a banco de dados e dessa vez a gente vai continuar falando sobre o modelo racional e vamos começar a relacionar as tabelas efetivamente Essa é a parte 2 dessa aula e agora já foi outra gente vai poder ligar uma tabela na outra através dos Comandos e você vai ver tudo aquilo que a gente viu na aula passada na teoria colocar em prática e como você pode chegar à conclusão de uma maneira bem fácil Se você não entendeu direito aula passada ou se você sequer assistiu ao a passar e você vai precisar assistir lá porque a gente viu toda a base teórica na aula passada e agora a gente vai colocando em prática então aula 15 que a sala que você está assistindo não faz sentido sem o conhecimento prévio da aula 14 então eu vou vim te fazer um convite especial dá uma olhada aqui ó tem que aqui embaixo também esse botão aqui embaixo eu tô vendo o botão aqui clica nele e aqui você vai ser enviado diretamente para playlist e você vai assistir à aula 14 dessa playlist se você preferir você pode clicar aqui em cima que vai aparecer aqui nesse momento também a Playlist diretamente para o curso de banco de dados assistir aula 14 Veja a estrutura que foi idealizada E aí você pode vir aqui e assistir aula aqui e antes de dar uma relembrada no que a gente viu na aula passada eu preciso te explicar um conteúdo técnico que não é muito complicado O negócio é o seguinte quando a gente cria uma tabela utilizando mais Kelly a gente tem que escolher uma coisa chamada índia que a máquina que vai poder criar registro deixa eu abrir o código do nosso damp que foi feito nas aulas anteriores para poder explicar isso para você então em ambiente Windows vou abrir o explorador de arquivos vou lá em documentos dumpees e eu tenho aqui os dentes que foram gerados aqui vou editar um deles aqui no outro pede mais mais e se você perceber aqui se eu achar um Crush aí aqui ó o Chris Table no final do comando eu tenho a minha and especificada você percebe aqui que por padrão Ela utiliza a Engine innodb então podemos chegar à conclusão de que hino de bebê é uma rede né uma máquina de criação de tabelas e não beber na verdade é um mecanismo esse mecanismo foi criado por uma empresa chamada hino base que hoje pertence a hora o hino de bebê ele é um mecanismo é uma ending que pertence Hoje em dia a hora e que vai permitir a criação de tabelas com algumas características que a gente vai precisar a principal característica dessa and an é suportar Chaves estrangeiras e você deve lembrar da aula passada que eu falei muito sobre chave estrangeira Então para que eu possa Sul e a chave estrangeira eu vou utilizar o hino de ver só que existem outros exemplos de máquinas que você pode utilizar as mais comuns são um Maísa que é um pouquinho mais antiga e uma outra que é um pouco mais recente que a Extra de bebê todas essas três são and essa estão aparecendo aqui na tela são em dias para poder criar banco de dados criar tabelas utilizando mais Kelly e que sejam compatíveis com Chaves estrangeiras se você deu uma olhada aí pela internet você vai ver que tem muito tutorial que utilizava a Índia antiga que é a Maísa o grande problema da maçã é que ela não é complacente com as regras transacionais d'Oeste aquela agora já era mas falou em inglês aqui falou alemão entendi nada tá uma porque ela ganhou o Maísa não dava suporte as quatro principais regras de uma boa transação E essas regras são conhecidas como s a c e d os dois debaixo o innodb electradp suporto esse tipo de coisa mas vem aqui comigo eu vou te dar uma explicada nessas quatro letrinhas aqui da tra bom então como eu disse anteriormente as duas em diante de baixo ainda bebê e aqui tá é beber suportam o que a gente chama de é ser que são as quatro principais regras de uma boa transação transação sempre lembrando é o seguinte tudo aquilo que você possa pedir para um banco de dados e executar e te dar uma resposta é considerada uma transação toda ação que o banco de dados possa executar é considerado como sendo uma transação e uma transação para ela acontecer ela tem que seguir as quatro principais regras oa dessa sigla significa atomicidade uma transação a tem que ser atômica O que significa ser atômica ela não pode ser dividida em subir tarefas isso é de uma maneira bem simples atomicidade de seguinte uma eu tenho uma tarefa para fazer ou toda a tarefa é feita ou nada vai ser considerado sua mãe chega para você falar assim olha só Arruma seu quarto e aí você arruma só metade a sua arrumação não foi atômica você não Me leva que ela pediu por completo então sua mãe seguindo as regras toda essa de transação diria para você você não arrumou o quarto isso porque você só arrumou metade então atomicidades de uma frase simples ou tudo acontece ou Nada é considerado no banco de dados você manda salvar um dado e ele salva só metade ele vai ter que voltar para o estado anterior porque a transação não foi completada Deu para entender a segunda regra que é o cê é a consistência consistência é o seguinte um banco de dados que estava consistente anteriormente tem que continuar consistente após uma transação então é o seguinte Resumindo numa frase se antes de fazer a transação banco de dados estava OK depois que terminar a transação ele também tem que estar o que não podem ocorrer falhas não podem correr inconsistências e se isso acontecer tudo é desfeito para o estado imediatamente anterior vamos agora a terceira letrinha que a ue é de isolamento isolamento trato seguinte quando eu tenho duas transações acontecendo em PA e elas devem acontecer como se tivessem sendo executadas de forma sou a o mas que era um banco de dados multitarefa você sabe disso ele é multi-usuário também isso é eu posso ter duas pessoas acessando o mesmo tempo pedindo transações ao mesmo tempo se eu tenho dois usuários que pedem duas transações ao mesmo tempo Duas atividades ao mesmo tempo elas não podem interferir uma na outra então se eu tiver coisas paralelas acontecendo Elas têm que acontecer como se elas tivessem isoladas uma não pode afetar a outra isso é isolamento vamos agora a quarta e última letra que é o de Poder é de durabilidade uma transação ela tem que ser durável isso ela tem que durar o tempo que for necessário por exemplo se você salvou dado de um cliente você quer que esse dado do cliente fique lá o tempo necessário que você precise dele não tô dizendo que o dado do que a gente tem que ser eterno até porque você pode por exemplo alterar o número do telefone dele mudaram o nome dele que você digitou errado adicionar novas características para o cliente ele os dados eles não são estáticos eles podem ser de novo em qualquer alteração que eu faça ela tem que persistir Elas têm que ser durável o suficiente enquanto eu precisar de cidade você não pode perder dados do nada isso é durabilidade Então por uma transação acontecer ela tem que ser atômica consistente isolada e durável isso é um princípio fundamental da teoria de banco de dados o Maísa que aquele mecânico antigo ele não possui compatibilidade com esses papo conceito de transações mecanismos mais recentes como por exemplo Windows bebê e o ex a receber suportam isso então na hora de criar sua tabela você pode explicitar que você quer utilizar Onde o bebê da mesma maneira que eu fiz aqui moto and igual ainda o bebê no final do cliente e sabão no caso do mais que é essa é a versão que eu tô utilizando caso eu não coloque Qual a Índia Eles já considera minha bebê então cuidado ele tem duas funcionalidades primeiro permitir a compatibilidade o uso de Chaves estrangeiras que são extremamente importantes porque garantem a integridade referencial eu vou mostrar bom para você nessa aula e além de garantir a integridade referencial por uso de Chaves estrangeiras o innodb também permite a compatibilidade com os quatro conceitos fundamentais de uma boa a transação é um pouco teórico é um pouco conceitual aprofundado mas eu preciso passar isso para vocês porque às vezes você vai ver um tutorial que usam mais AM e o mais Ah não é melhor opção se você vive um tutorial que tiver tirando mais a provavelmente um pouco mais antigo e mais era a única opção na época basta que você no caso aí se você vai digitar no seu sistema Tire o mais Lan coloque-me no db e tudo vai funcionar normalmente então agora a gente pode voltar a nossa teoria de banco de dados para gente poder botar em prática se você se lembra na aula passada a gente tinha criado uma estrutura com duas tabelas com duas entidades a identidade gafanhoto entidade curso cada uma delas tinha seu próprio conjunto de atributos onde o café Sutil identificação nome uma profissão Nascimento sexo peso altura nacionalidade e cada curso tinha o seu identificador um nome é uma carga total de aula Simone e aí a gente criou uma ligação teórica aqui a gente fez com que um gafanhoto pudesse preferido um determinado curso Então eu tinha aqui um relacionamento prefere E aí sempre que você tem relacionamentos entre entidades eu sempre proponho aquele exercício mental que você sempre faz sempre que você olhar um retângulo expande ele e imagina instâncias dentro dele eu vou expandir aqui ó vamos expandir Rafael de curso expandindo eu vou poder botar várias gafanhas aqui dentro e vou imaginar vários cursos aqui dentro esse já foi outros eles podem preferir cursos por exemplo o primeiro ali de cima vamos supor que ele prefere curso de Word Acabei de fazer um apontamento essa linha é o meu relacionamento entre as duplas que vão comprou a tabela o segundo ali Godofredo ele vai preferir o conserto ml por exemplo e a Dolores vai preferir também o curso HTML Então nós vamos consertar esse exemplo durante essa aula então eu tenho menininha ali que prefere o Word o Godofredo e a Dolores Eles preferem o curso e esse você dá uma olhadinha ali ninguém prefere a considerar então a ali na tela o curso de PHP ninguém nesse momento nesse grupo de três pessoas preferir um curso de PHP para a gente poder fazer a cartinha nalidade nunca se esqueça a gente tem que considerar o seguinte cada um desse daqui tem quantas gerações ali então cada ao gafanhoto pode preferir um curso Então vou fazer cada um desse lado prefere um curso agora cada curso desse aqui é preferido por vários gafanhotos e pode ser preferido por vários gafanhotos Então esse aqui é um relacionamento de um para muitos E aí entendeu agora que a gente já fez essa relação já mostrou essa ligação a gente pode encurtar a gente pode parar de imaginar as coisas lá dentro com as relações já que a gente volta nisso a vão dar uma encostada aqui então vou simplificar diminuindo aqui as minhas entidades e o que eu vou ter que fazer o seguinte a regra do relacionamento de um Para muitos é simples porque a gente tem que fazer vou pegar sempre o lado um pegar a chave primária que no caso aqui aí de curso e trazê-la diretamente aqui para o lado muitos Então o que eu vou fazer a pegar o e do curso e colocar desse lado aqui como curso preferido a chave estrangeira ela não precisa ter o mesmo nome da chave primária de onde ela veio ela só precisa ter o mesmo tipo e tamanho então por exemplo se o ID do curso é inte então o curso preferido também tem que ser 20 se por acaso uma chave primária Eva achar de 10 a chave estrangeira também tem que ser baixar de 10 ela não precisa ter um mesmo nome ela precisa ter um mesmo tipo e o mesmo tamanho Então vamos ao nosso ambiente Vamos abrir o banco de dados e ver como é que tá tudo até o momento Lembrando que o que eu tenho que fazer aqui é adicionar uma chave estrangeira na tabela já foi outro Isso é curso preferido vai ser um campo que eu vou adicionar na tabela já foi outro então eu estou de volta aqui no meio ambiente meu servidor já tá aberto aqui embaixo eu já tô com um servidor aberto tudo ativo está verdinho pode ser o centro também e eu vou abrir o Oi Kelly bom que vem abre no ambiente eu vou logar no servidor correspondente aqui e eu tenho meu banco de dados de cadastro Primeira coisa eu vou abrir esse banco de os cadastro a controlar a inter já abriu o banco de dados vamos fazer o seguinte vamos dar um describe aqui na tabela gafanhoto controlar Inter e agora eu tenho responder aqui a parte de baixo eu tenho aqui a estrutura da tabela onde eu tenho ideia nome profissão Nascimento sexo peso altura nacionalidade lembrando eu tenho que agora adicionar o curso preferido para adicionar a gente já viu mas eu vou mostrar aqui pra vocês de novo para adicionar um campo que a primeira coisa que a gente tem que fazer a gente tem que utilizar o alter table Então vou colocar alter table gafanhotos e vou colocar é de cólon curso preferido int Lembrando que curso preferido tem que ser do mesmo tipo da chave primária que veio lá do curso que é isso no meu caso aqui vamos de para o ambiente e digitar Esse comando vamos ver aqui ó o alter table já foi o outro é de cólon curso preferido sem espaço nem nada do tipo gente percebe que o seguinte a palavra: ela é opcional então eu posso digitar alter table gafanhotos é de cólon com os preferiti ou simplesmente é de curso prefiro doente Lembrando que se eu não colocar nada depois do tipo aqui ele vai ser adicionado no final da tabela Eu ainda tenho opção de ter first ou After qualquer um dos Campos aqui aí no caso aqui eu vou deixar em branco que ele vai adicionar no final contra o Inter ele executou vou dar um outro describe e perceber que agora eu tenho curso preferido beleza adicionei um campo e esse campo ele é um curso preferido de cada aluno o que nós temos que fazer agora é dizer que esse curso preferido é uma chave estrangeira para poder fazer aquela ligação que a gente viu para fazer isso eu vou dar um outro alter table que eu vou dar alter table gafanha outro de novo só que agora eu vou adicionar uma chá bom dia para adicionar chave estrangeira é fácil só que em vez da é Nicole eu vou usar é diferente eu tô adicionando o curso preferido como uma chave estrangeira E aí eu tenho que indicar qual é a referência Então vou utilizar references curso e de curso isso significa o seguinte que o curso preferido da tabela de gafanhotos está ligado com o ID curso na tabela de cursos E foi exatamente o que eu coloquei naquela imagem lá que a gente acabou de ver eu preciso fazer uma ligação entre o curso preferido que a chave estrangeira e o ID cursus a tabela cursos que a chave primária para a gente poder fazer aquela ligação entre chave primária chave estrangeira que é extremamente necessária para garantir a integridade referencial digitando aquele comando vamos lá alter table e a fã em outras vamos adicionar é uma folha aqui que é a curso preferido com a minha referência a cursos e de curso o ponto-e-vírgula control enter ele já fez a ligação vamos dar o describe apanhou outro de novo para em cima da linha control enter e agora eu percebo que o seguinte o meu curso preferido tá com inte que é o mesmo tamanho e aqui ó eu tenho no que Na minha chave Eu tenho um esse mundo é a representação aqui que tem uma chave múltipla ou uma chave no nosso caso aqui essa chave múltipla seria uma chave estrangeira para você precisa verificar aqui se depois executar esses comandos o curso preferido está sendo considerado como uma chave múltipla que nosso caso aqui a gente já colocou como forma aqui que é um tipo de chave múltipla mas a gente consegue identificar que que ela é uma chave estrangeira agora o que a gente tem que fazer é começar a cadastrar os cursos preferidos de cada aluno então vou fazer o seguinte aqui ó vamos dar um select asteristico from gafanhoto controlar Inter Agora eu tenho aqui vamos fazer com que por exemplo Daniel Morais prefira o curso de eletricista from cursos o control center a vamos supor aqui ó o Daniel vai preferir o curso e mais Kelly que é isso nosso curso aqui um curso mais Kelly tem o ID do curso 6 Então nós vamos adicionar aqui o Daniel como preferindo o curso de mais Kelly que é o 6 Então nós vamos fazer o seguinte update gafanhotos 7 curso preferido igual a sem onde Where o ID do aluno seja igual a 1 isso é o meu aluno um que é o Daniel vai gostar do curso seis que é o mais Kelly control enter agora nós podemos dar um Será que triste um gafanhotos e verificar que agora o curso preferido do Daniel é o 6 E aí em teoria você vai ter que dar um update para cada um dos alunos Eu tenho 60 alunos eu não vou colocar todos aqui mas eu vou mostrar uma técnica de você dar o update utilizando o Aqui vende que Vai facilitar sua vida quando a sua base de dados ela tá uma e você pode fazer isso de forma manual que é digitando o comando ou de maneira automática que é o seguinte lá tá aqui ó Thalita vamos fazer aqui ó os cursos eu tenho meu select do curso eu tenho cursos de 1 até o 30 então eu vou fazer o seguinte aqui vamos lá nos gafanhotos e eu vou fazer aqui ó vou adicionar alguns preferido de cada um 22 12718 453 3. 022 vou fazer só esse daqui é importante que se você mexer nessa tabela você perceba no canto inferior direito da tela que tem um botão apply se você não clicar nele nenhuma das alterações que eu fiz vai surtir efeito então basicamente que o teria que fazer é um update para cada um dos casos e o outro dente Vai facilitar minha vida nisso então a vou clicar aqui em baixo no offline ele vai já montar os comandos update para mim eu vou clicar em apply ele já aplicou finalizo a partir de agora quando eu der um select pagar e ele já tá com os dados do curso preferido já cadastrados e agora nós vamos falar sobre uma coisa muito importante que é a integridade referencial você percebeu ali o exemplo que a gente criou o aluno Daniel que é o aluno um está preferindo o curso seis que é o curso de mais quer às vezes quando você cria uma chave estrangeira você não vi muita utilidade para votar que eu queria isso eu vou te mostrar agora na prática o que eu vou tentar fazer aqui é por exemplo tentar apagar o curso de mais quer porque eu vou tentar fazer dar um bilhete from cursos Ué e de curso igual a 6 isso é eu estou tentando apagar o curso de mais Kelly vamos executar Esse comando lá no nosso ambiente e ver como ele se comporta Então já estou aqui no ambiente e fechar o resultado da busca Então vamos lá vamos digitar o comando de elite from cursos Where mídia curso seja igual a 6 isso é eu estou tentando apagar o curso que tem o identificador seis control center e você percebe lá em baixo nem consegui deletar e ele deu um erro de constante funk Ok se você perceber que com street for him Então esse erro foi o erro de integridade referencial vou te mostrar na prática o que que tá acontecendo aqui você deve se lembra muito bem dessa imagem que a gente gerou alguns minutos atrás nessa aula onde eu tinha os gafanhotos e os cursos e eu tinha gafanhotos preferindo determinado os cursos o que acontece na prática que é o seguinte se eu tentar alterar qualquer estrutura do curso por exemplo você vê ali que o Godofredo e a Dolores preferem o curso de HTML5 Se eu tentar apagar o curso HTML5 Isso vai ser legado isso porque e já existe a relação entre nunca foi outro e esse curso não sou tentar apagar esse curso eu vou receber uma mensagem de erro eu não vou conseguir fazer porque já existem pessoas preferido esse curso segundo os criadores preferem o curso HTML5 eles são registrados para isso eu não posso apagar o registro do HTML5 que ele vai perder o relacionamento entre eles Então nesse caso se o sistema de banco de dados permite se a seleção se eu pudesse apagar que o HTML 5 o godofreda Dolores ficaram com uma inconsistência isso é porque ele diriam olha ele prefere até mais 5 mas ele prefere um curso que nem existe porque eu acabei de apagar agora Se eu tentar pagar o curso de PHP por exemplo ele não tem relação nenhuma com ninguém então ele vai conseguir ser apagado sem problema algum o curso de HTML5 e hoje aqui nesse meu caso não poderiam ser apagados mas hoje pegar tem que estava aqui pode ser apagado porque não existe relação nenhuma vamos ver na prática se isso realmente funciona entendeu select dos gafanhotos aqui eu tenho alguns preferidos seis 22/12 714853 por exemplo o curso 9 não é preferido tipo mim o tanto a pagar ele pagar o curso 9 Então vamos dar um select no curso aqui para eu ver qual é o curso 9 o posto 9 é o DP o vamos fazer o seguinte que o curso de html 4 É sério que você vai ter medo de quatro vamos Apagar Ele são 28 também não tem relação Vamos tentar pagar Então os 28 então de leite from curso mulher e de curso = 28 que seria esse curso que perguntar controle a e ele apagou Sem problema nenhum ó vou dar um select nos cursos de novo Eu já não tenho mais o 28 lá 27 e já pulou por 29 Deu para entender isso é integridade referencial eu não consigo modificar um campo se ele for afetar a minha transação se essa transação começar a Gerar inconsistência que seria o caso ele não deixaria acontecer é por isso que a gente usa ainda em um bebê porque ela Vai facilitar o nosso trabalho é a sua integridade referencial que eu fiz funciona para qualquer uma das três máquinas inclusive com mais a mais o innodb é mais recente então utilize ele ou essa bebê e aí a gente chegou um ponto decisivo se eu dou um select em gafanhotos eu vejo os dados do gafanhoto e vejo o curso que ele prefere só que não vejo o nome do curso que ele prefere eu o código do curso ele prefere te mostrar essa aqui na prática vou apagar tudo aqui que aqui já não eu não tenho mais sentido outra coisa que eu posso fazer é deixar esses comandos aqui e clica aqui ó eu acho que é animaizinho e ele vai abrir uma nova aba eu tenho os comandos antigos e os comandos novos aqui eu posso fazer isso sem problema algum fazer o seguinte aqui ó select* foram gafanhotos se eu faço isso eu tenho lá os dados do gafanhoto se eu quiser filtrar coluna eu tiro as três que significa todas as colunas eu vou mostrar somente a coluna nome e a coluna curso preferido tá eu tenho aqui ó Daniel Morais prefere o curso seis que é onde mais que era que a gente fez anteriormente mas eu não quero que apareça vocês eu quero que apareça mais que é isso é importante isso é interessante para você conseguir esse efeito para que você consiga essa solução essa resposta você precisa entender as junções das então que a gente tem que fazer agora começar a trabalhar com junsom presta atenção para você poder entender o que eu tô falando vou fazer o seguinte a selection o asterisco from cursos são mostrar aqui eu mostro os cursos não quero mostrar tudo não era mostrar só o nome do curso e o ano dele e também mostrei algo o nome do curso e o ano dele o que eu queria era poder juntar isso daqui com isso daqui mostrando cada aluno e os cursos que cada um prefere para isso tem que fazer o seguinte ó eu vou juntar os dois select nome curso preferido o from gafanhotos Joy em concursos Johnny é uma junção então vou fazer assim ó dos gafanhotos eu vou mostrar um nome tão gafanhotos. Nome gafanhotos.
Curso preferido foi um gafanhotos de online curso além de café eu vou mostrar o nome do curso curso. O nome e curso Ponto ano e eu estou juntando gafanhotos concurso poderá controlar Inter de eu ir aqui que nós nome da minha tabela na curta curso né vou botar no por aqui o sushi aqui cursos aqui mandar controlar Inter agora ele funcionou e olha o que aconteceu vamos analisar Daniel Moraes Daniel Moraes Daniel Moraes Daniel Morais agora ele fez todos os cursos o que tá fazendo o seguinte eu pedi um joinha e ele mostrou o Daniel junto com todos os cursos você perceber que vão dar os 30 cursos para Daniela dá uma olhada todos os cursos estão com Daniel quando terminar os 30 cursos do Daniel vai vir a Talita e a Talita também vai ter a relação com os 30 cursos tá lá tu nem 30 curso da Talita depois já virou Emerson com todos os 30 cursos também depois depois do Emerson vem Lucas Damasceno com todos os 30 cursos o que ele fez foi dar um joinha eles junto só que ele não juntou de forma inteligente a junção foi Beleza você quer juntar gafanhoto e curso tá bom cada aluno vai ser junto com todos os cursos O que eu preciso fazer é filtrar essas coisas para que eu queria um filtro tem uma cláusula sempre que eu usar um joinha eu tenho uma cláusula que é obrigatória querer obrigatória não porque ela funcionou sem essa causa e ela é importante para poder dar sentido esse Johnny que a cláusula humano então vou fazer seguinte ó select nome do gafanhoto curso preferido o gafanhoto nome do curso ano do curso juntando gafanhoto concurso Uno eu vou colocar aqui quais são as relações o gafanhoto se liga o curso através de suas chaves estrangeiras e primária Então vou colocar aqui onde a chave primária cursos ponto e de curso é igual a chave estrangeira gafanhotos. Curso preferido então Acabei de fazer a ligação da minha chave primária no relacionamento lembro que a gente fez anteriormente com a chave estrangeira ainda foi outra isso relacionamento tente incrível agora quando eu dou contra o Inter que que ele fez Daniel prefere mais Kelly somente Talita prefere Premier Emerson prefere ser mais aqui ficou o código do curso preferido eu não quero mais ele então posso tirar aqui ó pega fanhoto tirando o curso preferido dele aqui é o nome do gafanhoto o nome do curso e o ano do curso controlar a inter eu tenho Daniel prefere que é Eric foi em 2016 Talita prefere Premier Emerson preferência mais mais carlison prefere Java o André EA prefere premiar viu como funcionou de forma legal então sempre que utilizar o dia em qualquer um dos jovens a gente vai ver vários vilões sempre que você utilizar um Joy você tem que utilizar o homem para dar sentido você percebe aqui que eu tenho 61 alunos e 30 cursos agora 29 quando ele tem um curso mas então tenho 60 alunos e não apareceram e 60 aqui aonde só apareceu esses alunos aqui isso porque quando eu faço um joia só a palavra Joy eu tô fazendo o que a gente chama de Inner John é um joia somente com as relações com uma olhada aquele gafanhotos Se eu der um select* from os gafanhotos ele vai me mostrar todos os gafanhotos percebe aqui que os que têm curso preferido São só esses aqui ó o Daniel Ah tá até aqui até Andreia Daniel Talita Emerson Lucas Leila Letícia né somente esses alunos têm curso preferido os demais não tem eu vou botar aqui a Rosana A Rosana vai preferir o curso um também vamos dar a praia aqui no final aqui vamos dar apply aplicar as alterações Pode fechar janela e agora eu vou fazer de novo aquele comando do Johnny ó eu tenho Daniel Talita e agora entrou a Rosana na lista que não estava Ela prefere o curso HTML5 foi criado em 2014 Deu para entender o que estou indo Joy ele vai somente fazer quase tem a ligações mas tem aquelas linhas coloridas lá no desenho que a gente já vai ver de novo então um herói ele simplesmente vai ver o que que tem relação nas duas tabelas Como eu disse Esse é um Inner join então eu posso escrever só o hino Joy é especificar vamos vai dar o mesmo resultado aqui se você quiser pois ela não está em ordem de nome de aluno eu quero em nome de aluno que eu posso vir aqui botar Order by que a gente já viu os gafanhotos.
Nome lá nome control enter agora eles estão em ordem alfabética de nome eu posso fazer nada também por ordem alfabética licor Deu para entender então isso é o Windows vai só para dar uma relembrada você pode trabalhar com apelidos de coluna apelidos de coluna a gente usa a palavra és ou simplesmente não usa a palavra vão utilizar o ex aqui então que eu vou fazer que é gafanhotos és G Então sempre que eu vou me referir a gafanhoto posso usar o g e cursos é esse Então sempre que eu vou me referir a curso eu posso me referir a ser isso vai diminuir bastante meu comando Então posso botar em vez de gafanhoto G em vez de curso se em todas as ocorrências a hora que eu tô fazendo tô Apagando tudo aqui ó Então vou apagar aqui também deixa a ser Vou apagar aqui também deixa agir Vou apagar aqui também deixa agir a única coisa que eu tenho que deixar escrito gafanhotos é depois do fronto e depois do joia Então eu tenho que o pedido uma vez né então coloca aqui ó o apelido sempre que fala de gafanhoto é G sempre fala de curso é ser e todos os outros eu posso utilizar para votar contou entre aqui você vai ver que o comando funciona da mesma maneira que a gente quer nem de onde são muito importantes e muita gente acha que isso é difícil você viu que eu fiz um John simples ele diz qual tabela que ele relacionar com qual e utilizei o ônibus para ligar a chave primária chave estrangeira dela então você precisa antes planejar Qual é a estrutura da sua tabela para você poder saber o que que a chave primária que a chave estrangeira fazer a sua configuração adicionando a forma que e botar para funcionar mais uma vez eu quero deixar bem claro não é tão fácil fazer isso então às vezes você tem que assistir essa aula mais uma vez sempre colocar em prática não adianta você ficar olhando ou fazendo e fazer ela tá aí ó eu aprendi que legal aonde você botar a mão na massa você vai esquecer a abre seu ambiente assistir a sala eu gosto sempre de indicar o seguinte assistir aula primeiro da pressa estava toda que é você já vai ter o primeiro contato em volta da Play de novo só que dessa vez você usa o pause vai fazendo os paus vai fazendo vai repetindo que eu tô fazendo E aí sim você vai ter prática na hora de você poder criar o seu próprio exercício então a minha junção funcionar da seguinte maneira eu tenho aqui aquela imagem que a gente viu anteriormente eu tenho os gafanhotos de um lado eu tenho os cursos do outro e aqui no meio Eu tenho as ligações então percebe o seguinte aqui nesse exemplo o curso de PHP ninguém prefere o curso de Java ninguém prefere e aqui desse lado eu tenho esse cara que não prefere pulso nenhum que é o caso lá daquelas linhas que estão com Lulu Então existe em casa aqui na tela curso que eu tenho cursos que não são preferidos por ninguém e eu também tenho casos aqui em gafanhotos que tem gafanhoto que não prefere nada o que me interessa no herói são essas linhas coloridas então um erjon ele vai pegar essa área e vai fazer a ligação e além do Windows onde a gente tem os autores jovens water Johnny ele vai tratar exatamente os conceitos do hino é muito com aqueles dados que não tem relação com nenhuma outra tabela então preste atenção aqui nesse caso aqui eu tenho gafanhoto ele tá me mostrando seu usar o Whindersson ele vai mostrar só esses três já foi outros que preferem esses dois cursos aqui as barbáries se eu quiser mostrar todos os gafanhotos mesmo se não preferem nada aí eu vou mostrar um negócio para você então mantendo esse mesmo comando a seguinte seu moto ir no Joy ele tá fazendo somente os alunos lá até a Talita que somente esses alunos eles têm relação com o outro se eu vem aqui e boto autor eu vou considerar inclusive os campos que não fazem parte só que aí eu tenho que perceber o seguinte vamos procurar onde é que tá o joinha aqui deixa eu apagar isso aqui vamos identificar onde é que tá o Johnny o Johnny tá aqui a esquerda do Johnny tá tabela gafanhotos à direita do Johnny tabela curso Então eu tenho uma tabela a esquerda e uma tabela direita do John de ontem gafanhotos a esquerda e cursos à direita então eu vou considerar e a tabela da esquerda é a Canhoto e a tabela da direita ecos então vou fazer o seguinte se eu quiser mostrar todos os gafanhotos inclusive aqueles que não preferem nada eu vou utilizar um autor jovem só que se alterar Eu Tenho duas possibilidades ou eu vou considerar gafanhotos como preferencial ou cursos com preferencial os considerar primeiro gafanhotos Lembrando que a França está à esquerda do joia Então vou colocar aqui left Out Boy quando eu do control center olha só o que ele fez ele botou em ordem Deixa eu tirar esse lado e vai aqui para você poder entender que eu tô fazendo controlar a gente você percebe aqui ó Daniel para sair mais que ela e Talita até a Rosana Andrea Rosana panela a usando que eu coloquei aqui você percebe que ele mostrou todos os alunos isso é ele deu preferência para minha coluna da esquerda se ele mostrou os alunos independente de quem prefere ou não Por exemplo eu sei que Daniel prefere mais Kelly eu sei que Jackson prefere photoshop e eu o Walter não preferem nada e aí deu para entender os apps Joy como gafanhotos tá do lado esquerdo nesse meu comando ele está dando preferência left alterações isso é ele vai aparecer dando preferência minha tabela da esquerda que no meu caso aqui é que foi outra eu posso chamar de Leste ao ter de uma ou simplesmente Leste o seu supremo a palavra alter ele vai considerar como left join left out já estamos a falar da mesma maneira tá vendo ali então ele tá aqui ó eu tô fazendo Joe a esquerda eu tenho gafanhoto a direito tenho curso tô dando preferência para gafanhotos EA maneira similar eu posso dar preferência por lado direito isso é eu tô dando preferência para cursos eu quero mostrar todos os cursos inclusive aqueles que nenhum aluno prefere e dá uma olhada aqui se eu der um right out Joy ou simplesmente ri Johnny eu vou controlar entra eu estou mostrando o Leila prefere HTML Rosana também prefere HTML claro que eu tenho repetição aqui porque como eu disse anteriormente cada gafanhoto só pode preferir um curso mas eu posso ter um curso preferido por vários gafanhoto Você viu como é que a teoria se junta na prática agora eu dei preferência agora para lado direito pra tinha tabela que está do lado direito aqui no caso é o curso Nossa o seu olhar aqui ó vamos procurar onde é que tá o Johnny tá aqui vai ter o teu Joy do lado esquerdo tá gafanhoto do lado direito tá curto então tô dando preferência para curso Ele tá mostrando todos os cursos inclusive aqueles que não tem nenhuma coisa pior ninguém gosta Excel ninguém prefere responsabilidade ninguém prefere Android e prefere E aí ficou confuso vou te mostrar a forma de imagem para você poder entender como nós vimos anteriormente o meu Miller John é a ligação ele vai considerar somente as linhas as ligações vai considerar suas E ai outros que preferem determinado curso Deve mostrar só esses três gafanhotos porque eles têm preferências e só esses dois cursos aqui porque eles são preferidos se eu quiser dar preferência para gafanhoto aqui A garrafa está em qual lado tá do lado esquerdo não tá então eu dou um left Out Boy ou simplesmente leve Joy se eu quiser de preferência para cursos eu quero mostrar os cursos inclusive de pegar page Java que ninguém prefere então eu dou um reach Out Boy ou simplesmente White J E aí muito difícil então se eu coloco somente John eu estou me referindo ao energia se eu quiser referir ao alternion eu posso colocar vai tchau desde ontem ou simplesmente White Johnny ou left out on ou simplesmente let Joy é assim que funciona o relacionamento entre tabelas mostrando determinados dados de acordo o que que eu preciso na minha necessidade achou difícil achou complicado a dica a seguinte se você não entendeu ainda é porque você não tá conseguindo ligar a Teoria com a prática bom então vai por mim primeiro o ideal é que você assista a Playlist inteira todo o curso porque é cada aula vai te dando um passo Inicial aqui tá não passa na frente do outro se você caiu de paraquedas aqui nessa aula paga aula de Jó empurra aula de joia é o que eu quero então assistir E você tá meio perdido é porque você não assistiu aula 14 que fala um pouco sobre o modelo relacional e como criar um diagrama entidade-relacionamento definir as cardinalidades e definir as chaves primárias e estrangeiras sem esse conceito eu não vai entender dá uma olhada primeiro assistir o cônsul todo se por acaso você já assistiu o curso todo você volta só na aula 14 assistir ela de novo Faz essa aula 15 e prática se você colocar em prática eu garanto que você vai conseguir Então é isso que andar foi outro a gente chegou ao fim dessa 15ª aula e eu tenho uma notícia um tanto quanto triste para te dar a próxima aula que a aula 16 é a última aula do nosso curso demais cidades mas não precisa ficar triste porque logo em seguida a gente vai fazer outro curso é uma novidade bem legal aqui para vocês não conseguir a falar de Joy eu considero ainda como uma coisa bem simples e isso caberia não curso de introdução ao banco de dados mas você pode perceber que na sua faculdade no seu colégio o professor não teve tanta paciência assim para te explicar se ele teve Parabéns professor se ele não teve você tá aprendendo e pode mostrar para seus colegas então nunca se esqueça você pode né Sempre aquela coisa de sempre assinar o canal e sempre que tiver uma aula nova você vai conseguir ver se você tiver vendo do celular vai numa aula Marca um Sininho né temos um ícone Zinho do Sino marca esse sim você vai ser avisado se você tá usando o computador vai no inscrever no canal depois você se inscrever do lado do inscreva-se vai ter uma engrenagem clica nela e Marco opção que era o receber e-mail sempre tiver uma aula nova você vai ver faz isso pela gente e faz isso por você porque você vai aprender sempre mais desse lado aqui você vai ver a Playlist que eu já falei tantas vezes a ficha playlist assistir o vídeo da vida aqui no meu a diferença completa você vai acessar o curso em video. Com e lá você vai ter acesso a todos os materiais o daqui do banco de dados os slides as aulas tudo organizadinho tudo de forma simples e objetiva e também existe a forma de interatividade principalmente o celular se você tá no celular você não tá conseguindo clicar em nada aqui aqui em cima aqui vai ter playlist vai ter acesso a aula a outros cursos que a gente está indicando então seguinte você tá aprendendo banco de dados está gostando dois cursos que eu indico bastante que tão aqui em cima com certeza Então se algoritmo e o curso de PHP porque Vai juntar tudo isso algoritmo therapy Já va vamos se juntar banco de dados mas na frente na vida do curso em vídeo e na sua vida profissional então esperando já foi outro me despeço por aqui todas as nossas redes sociais estão disponíveis na descrição do vídeo então adiciona a gente o Facebook Instagram e tudo mais um sempre bota coisa nova tem conteúdo exclusivo para quem segue a gente no Facebook sempre que eu faço viagem sempre que eu participo de alguma coisa eu tô indo lá no Facebook e postar Ah tá moral para gente umas Facebook facebook.