Um banco de dados
geralmente usará várias tabelas nele.
Eis aqui como podemos iniciar
nosso aplicativo de votação de imagens.
A primeira tabela representa imagens
que as pessoas carregaram de animais.
A segunda representa os votos das pessoas.
Fluffy, Monster e
George são animais
cujas imagens alguém carregou.
Como podemos ter dois
animais com o mesmo nome,
damos uma id numérica a cada um deles aqui.
A tabela de imagens diz
que Fluffy tem a id 1.
Monster tem a id 2.
George tem a id 3.
E assim por diante.
A tabela de votos informa quais imagens
foram exibidas juntas para
votação, e
qual o usuário achou a mais linda.
Aqui, o aplicativo mostrou Monster,
ID 2, e George, ID 3,
e o usuário votou em George.
2 e 3 foram comparados
e 3 foi o vencedor.
Observe que na tabela de votos,
as colunas se chamam esquerda,
direita e vencedor.
Elas são comparadas à coluna
chamada id na tabela de imagens.
Você pode ler cada linha como uma sentença.
Na tabela de imagens, as sentenças
dizem que Fluffy tem o número de ID igual a 1, e
o nome de arquivo fluffsocute.jpg,
Monster tem o número de ID igual a 2,
e nome de arquivo monstie-basket.png e
assim por diante.
Na tabela de votos,
as sentenças são imagem 2 e
imagem 3 foram exibidas e
o usuário votou na imagem 3.
A imagem 1 e
a imagem 3 foram exibidas e
o usuário votou na imagem 1 e assim por diante.
Então este 3 e este 3 se referem à mesma
coisa, uma criatura fofa com o número de ID igual a 3.
Mas eles estão em tabelas diferentes, e
as colunas têm nomes diferentes,
pois elas desempenham papéis diferentes
em sentenças distintas.
Aqui estamos dizendo,
qual imagem tem que id?
E aqui estamos dizendo, quais
foram exibidos juntos e
quem recebeu o voto?
Este é o tipo de sentença que
esta tabela realmente representa.
Se você quisesse usar sentenças
como Monster foi mostrado com Fluffy e
Fluffy recebeu o voto em vez de
2 foi mostrado com 1
e 1 recebeu o voto para esta linha aqui,
teríamos que conectar as linhas
desta tabela com as linhas dessa tabela.
Isso é algo que também podemos fazer
com uma consulta de banco de dados.
As consultas que fazem isso são chamadas de joins,
e
veremos muitas
delas mais adiante no curso.
Por enquanto, lembre-se apenas que
um valor com o mesmo significado
pode ocorrer em tabelas diferentes e
ter nomes de coluna diferentes, e
que podemos derivar novas tabelas,
vinculando as tabelas existentes usando joins.