João Paulo Fernandes Farias <[EMAIL PROTECTED]> writes:

> Ol  povo!
>
> Fiz um esqueminha aqui com ArchGenXML e queria saber como fa o uma coisa...
>
> Tenho duas classes, uma Cliente e outra Projeto. Um cliente pode ter v rios
> projetos
> e um projeto pode estar associado a v rios clientes.
>
> Bom, o que eu quero saber  : como fa o esse relacionamente de muitos pra
> muitos?
>
> E na hora de criar os objetos no plone? Posso criar primeiro os clientes,
> depois criar os projetos, sem associ -los a nenhum cliente, para, s  depois
> de criados, associar clientes com projetos? Como isso   feito?

Bem, esse tipo de modelagem em um banco de dados relacional -- independente do
banco de dados -- não é muito correto e leva a bastante problemas.  Isso foge
à normalização.  O ideal é criar no mínimo uma outra tabela associando as
informações das duas anteriores.  Entretanto, se teu projeto exige essa
denormalização, então ela é aceitável.  O projeto é teu e você é o único que
conhece todas as restrições e necessidades.

Sobre a possibilidade de criação de registros sem informações e poder definir
a informação depois, não vejo problema nenhum -- a ressalva da tabela auxiliar
ainda faz-se verdadeira --, mas lembre-se de restringir as informações válidas
para os dados existentes na outra tabela.  A isso chama-se de integridade
referencial.  E não permita a remoção de um valor se ele é referenciado na
outra tabela.

A idéia é a mesma para o Plone usando o ZODB, o Gadfly, ou outro banco de
dados qualquer.

O que eu costumo fazer é definir os use cases, a partir dali definir o que é
preciso, quais informações serão armazenadas, definir os relacionamentos entre
elas, modelar o banco de dados e depois partir para a aplicação já com toda
essa bagagem de documentação pronta.  Sempre fazendo testes e mantendo a
documentação consistente com a implementação.

-- 
Jorge Godoy      <[EMAIL PROTECTED]>


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a