Ir ao conteúdo
  • Cadastre-se
mcoimbra

Criando uma base de dados usando inner join

Recommended Posts

Amigos boa tarde,

 

Sou iniciante e tenho uma dificuldade, gostaria de entender como funcionaria minha necessidade para essa determinado base que preciso fazer, talvez pode ser coisa básica mas pra mim está meio complicado.

 

Preciso criar uma base da seguinte maneira, porque estou estudando algumas coisas com inner join no projeto.

 

Base = Historico

 

Tabela 1 =  animais

 

nome do animal

id do animal

 

Nessa tabela 1 aconteceria o seguinte, eu teria por exemplo uma animal cachorro, gato, pássaro.

 

Tabela 2 = cotacoes

 

valor do animal

id da cotação

 

Nessa tabela 2 aconteceria tipo de uma junção na qual ele pegasse o gato e colocasse seu determinado preço, e assim para os outros.

 

Também gostaria de colocar uma data para cada determinado valor de animal, tipo ficando um histórico.

 

Alguém poderia me dar uma ajuda, ou abrir um caminho pra mim saber por onde partir, não tenho problema algum quanto se precisar estudar algo.

 

Obrigado a todos.

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Vamos as explicações.

 

Quando queremos relacionar duas ou  mais tabelas, que precisam de um controle( innoDB) você pode usar as clausulas INNER JOIN, Left join..  e etc 

O mais comum de todas é o inner join.

 

Como utilzar:

 

Pensa nesta estrutura:

 

tabela agenda(ID, nome, dataRegistro)

tabela telefones(ID, telefone, ID_pessoa)

tabela email(ID, email, ID_pessoa)

 

Como pode ver, temos três tabelas ali. por que?

Porque vamos respeitar as regras das NF( normas formais), ou seja, vamos fragmentar as tabelas ao invés de criar um tabelão cheio de campos.

 

o campo ID de todas as tabelas serão auto incrementados( começando pelo zero ou 1)

O campo ID_pessoa nas tabelas telefones e email servirão para receber o valor do ID do registro da tabela agenda.

 

Note que para isso funcionar você precisa criar os relacionamentos 1:N entre telefoes, email  e agenda.

 

Afinal, como crio esses relacionamentos?

Bem tem duas formas, uma por comando e outra pelo phpmyadmin em modo gráfico. vou mostrar o modo gráfico.

 

Primeiro de tudo tens que criar nas tabelas telefones e email um índice do tipo "INDEX" e indicar o campo que ele será usado no caso "ID_pessoa". Para fazer isso você precisa ir na estrutura de sua tabela e clicar em "indices".

 

indice_criar.PNG

 

Depois de criado o índice,  vamos fazer a relação propriamente dita, indo na opção "Designer mode" ou "Desenhador" se for em português.

 

No desenhador, a primeira coisa que você faz é clicar no botão circulado em vermelho e depois clicar no campo da chave primária e depois clicar no campo da chave estrangeira como na imagem:

 

criando_rela%C3%A7%C3%A3o.PNG

 

 

Depois de feito isso deverá ficar assim:

 

Rela%C3%A7%C3%A3o_feita.PNG

 

Com as suas tabela já feitas o relacionamento aí sim podemos usar o inner join.

 

Estrutra do SELECT:

 SELECT campos  FROM tabela 1INNER JOIN tabela 2 ON ID.tabela 1 =  ID.tabela 2INNER JOIN tabela 3  ON ID.tabela 1 = ID.tabela 3

Sendo que no lugar de tabela 1, tabela 2 ou tabela 3  você coloca o nome de suas tabelas corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×