Ok Jorge entendi perfeitamente .... eu também acho que assim fica melhor além
de utilizar mais os recursos OO.
Eu estou perguntando essas coisas para ver como o pessoal da lista faria.
Gostaria que você desse uma analisada na pequena descrição abaixo.... Eu
também coloquei como foi que fiz.... tanto as classes como o Banco.... dá uma
olhada..
DESCRIÇÃO
Um material pode estar relacionado à 0 ou no máximo 3 registros (instâncias)
de Movimento.
A classe Movimento deve armazenar QtdEntra, QtdSai, ValorEntra, ValorSai para
os três meses anteriores ao que nós estamos.
Eu fiz da seguinte forma:
public class Material
{
private int codigo;
private String desc;
\\ métodos
}
public class MovimentoMesesAnteriores
{
private CodigoMesesAnteriores codigo;
\\ métodos\
}
public class CodigoMesesAnteriores
{
private int codMaterial;
private int mes;
\\métodos
}
O meu BD
Material (codigo, descricao, .....)
MovimentoMesesAnteriores (codMaterial, mes, QtdEntra, QtdSai, ValorEntra,
ValorSai)
classe Material
Jorge Martins wrote:
> Valter,
>
> Este modelo não é bom. Há duplicação de informação, os códigos do
> Cliente e dos Produtos. Você está pensando muito em "BD". Abstraia mais.
> Veja uma dica:
>
> /* classe cliente */
> class Client
> {
> /* construtor */
> public Client (int ID, String name)
> {
> this.ID = ID;
> this.name = name;
> }
>
> public int getID ()
> {
> return ID;
> }
>
> public String getName ()
> {
> return name;
> }
>
> /* propriedades */
> private int ID;
> private String name;
> }
>
> /* classe produto */
> class Item
> {
> /* construtor */
> public Item (int ID, String description)
> {
> this.ID = ID;
> this.description = description;
> }
>
> public int getID ()
> {
> return ID;
> }
>
> public String getDescription ()
> {
> return description;
> }
>
> /* propriedades */
> private int ID;
> private String description;
> }
>
> /* classe compra */
> class Transaction
> {
> public Transaction (Client client, Item item, Date date)
> {
> this.client = client;
> this.item = item;
> this.date = date;
> }
>
> /* propriedades */
> private Client client;
> private Item item;
> private Date date;
> }
>
> Sacou? Ao invés da classe compra guarda os códigos de cliente e
> produto, ela possui um referência para estas entidades. Caso a compra
> precise sabe o código de cliente ou produto basta utilizar: client.getID()
> ou item.getID(). Assim fica bem melhor.
>
> abraços
>
> Jorge
>
> -----Original Message-----
> From: valter vieira de camargo [mailto:[EMAIL PROTECTED]]
> Sent: quarta-feira, 14 de março de 2001 11:03
> To: [EMAIL PROTECTED]
> Subject: [java-list] tratamento de dois paradigmas OO/BD relacional
>
> Suponha que eu queira representar na UML um pequeno modelo de
> classes de PROJETO que represente um sistema onde um cliente pode
> comprar vários produtos e um produtos pode ser comprado por vários
> clientes....
>
> Estaria errado eu fazer um modelo de classes que:
>
> Classe Cliente: codigo e nome
> Classe produto: codigo e descricao
> Classe de relacionamento Compra : int codCli, int CodPro e dataCompra
>
> Fazendo um modelo de classes dessa forma estou modelando
> orientado a objeto mas com características relacionais, certo ? Mas como
> meu Banco de Dados é realacional isso estaria certo ou não ?
> Observação: Não quero utilizar agregação... apenas associação.
>
> []'s Valter
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------