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

Responder a