• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

exit

Dúvia construção de tabelas

6 mensagens neste tópico

Pessoal vamos lá ver se eu consigo explicar... que ainda estou a tentar perceber como é que é a maneira mais fácil de fazer estas coisas!

Tenho duas tabelas

-Users (chave primária), nome, mail, data de registo ..etc

-links (chave primária) url, tag, descrição...

Ambas ficam com o id associado normalmente, auto incresement, int ...etc

O que eu queria era que cada link que fosse inserido na tabela links, também ficasse associado ao user que o inseriu, fiz-me entender?

Como é que funciona isto? era mais fácil ter estes campos todos numa tabela, ou também é fácil associar os links que são inseridos aos utilizadores que estão logados...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Basta que a chave primária da tabela Users seja chave estrangeira na tabela Links (ou ao contrário, não estou com cabeça para pensar no problema agora).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela info!

E em relação ás chaves das tabelas, o id dos links não deveria ficar como chave estrangeira?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não estou a perceber bem a pergunta. Mas a definição de chave estrangeira é um campo que é chave primária noutra batela.

Se estiveres a usar o MySQL com o MyISAM a única coisa que precisas de fazer é criar as tabelas e usar as condições unique.

Se usares um storage engine que te confira integridade, e definires uma campo como chave estrangeira, então ele só te vai deixar registos com IDs que existam na tabela na qual essa chave estrangeira é chave primária.

Lê o manual do mysql, na parte sobre chaves, para ver como definir chaves.

Resumindo e complicando, o que queres é praí isto:

user

----------

id

nome

local

email

...

links

-----------

id

user_id

url

timestamp

A única coisa que terás de fazer é definir os campos user.id,  links.id e links.user_id como sendo UNIQUE.

Se definires os dois campos id como chave, o mysql cria-te automaticamente um índice, para ser mais rapida a procura, mas já estou a falar de não sei quantas coisas diferentes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Era isso mesmo... não me estava a saber fazer explicar!

Tenho tudo o que tens ai, menos o user_id na tabela links!

Como se construí esse campo? Vai estar associado ao campo do id da tabela users? Era essa a minha dúvida...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora