On Dec 30, 2007 2:54 AM, Bill <[EMAIL PROTECTED]> wrote: > > Olá galera, > > to montando um blog pro meu site, e não manjo nada de modelagem de dados. > > Tentei usar o DBDesigner pra montar as tabelas e relacionamentos mas não > tive mto sucesso. > Gostaria de saber se alguém pode dar um help com algo simples, de como > montar 2 tabelinhas e relacioná-las, usando relacionamento de muitos para > muitos. > > No caso, meu blog tem 2 tabelas, a de posts(id, categoria_id, titulo, > texto), e a de categorias(id, nome). > Pelo que entendi, o relacionamento tem q ser n:n, pois um post tem muitas > categorias, e uma categoria tem muitos posts. > > Não quero relacionar como no screencast do tulio, usando uma terceira tabela > categorias_posts, queria relacionar usando FK. > > Alguém pode me dar um help.
Que eu saiba a unica maneira de fazer um relacionamento de N para N é mesmo só com uma terceira tabela. Um relacionamento de N para N é feito associando dois ID's, um de cada tabela. Se fosse só um ID de uma tabela, como num relacionamento N para 1, basta que cada registo de uma tabela contenha o ID da outra tabela, ou seja temos um campo para uma tabela. Mas no caso de N para N, temos 2 ID's, um para cada tabela. Usando somente as 2 tabelas teriamos de estar a criar um novo campo em cada registo de cada vez que estivessemos a associar as duas. Ora isto não é pratico pois o trabalho de estar a criar campos numa tabela dinamicamente é demasiado pesado e complicado de gerir. A melhor solução mesmo é criar uma terceira tabela com somente dois campos e fazer o relacionamento nesta. A "bottom line" é que nunca sabemos a quantidade de relacionamentos que vamos ter entre as duas tabelas. Num relacionamento N para 1 isto não interessa pq só temos de guardar um ID por relacionamento, mas em N para N temos de guardar 2 ID's, e repetir isso N vezes. Espero me ter feito compreender. > Valeu galera, e bom ano novo pra todos vocês da lista, mta paz e luz na vida > de todos vcs. Muito Obrigado, tudo de bom para ti tb neste novo ano !! > Bill > > > -- Gustavo Carreno --- http://batxman.wordpress.com < If you know Red Hat you know Red Hat, If you know Slackware you know Linux > --~--~---------~--~----~------------~-------~--~----~ Recebeu esta mensagem porque está inscrito em Grupo "Cake PHP Português" do Grupos Google. Para enviar mensagens para este grupo, envie um email para [email protected] Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED] Para mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-PT -~----------~----~----~----~------~----~------~--~---
