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

Sign in to follow this  
exit

Dúvia construção de tabelas

Recommended Posts

exit

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...

Share this post


Link to post
Share on other sites
Baderous

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).

Share this post


Link to post
Share on other sites
exit

Obrigado pela info!

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

Share this post


Link to post
Share on other sites
pedrotuga

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.

Share this post


Link to post
Share on other sites
exit

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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.