Auto relacionamento e uma segunda entidade na jogada.
Em Modelagem de Dados fazendo um modelo conceitual, tenho a seguinte duvida:
Produto de um supermercado que você compara com outro produto para saber qual é mais barato.
Em um dado momento o usuário pode querer saber em um histórico qual a media da diferença entre os mais caros e mais baratos.
É um auto relacionamento com o Relacionamento Compara Produto -> Compara -> Produto mas o resultado disso seria então guardado em uma outro entidade Melhores itens, como isso ficaria representado no Modelo Conceitual que eu não consigo entender.
Produto de um supermercado que você compara com outro produto para saber qual é mais barato.
Em um dado momento o usuário pode querer saber em um histórico qual a media da diferença entre os mais caros e mais baratos.
É um auto relacionamento com o Relacionamento Compara Produto -> Compara -> Produto mas o resultado disso seria então guardado em uma outro entidade Melhores itens, como isso ficaria representado no Modelo Conceitual que eu não consigo entender.
Hugo Thomaz
Curtidas 0
Respostas
Marcos P
06/11/2015
Não sei se entendi muito bem sua dúvida, mas vamos lá...
Todos esses controles serão derivados da tabela de PRODUTOS, que é a tabela principal do modelo.
A comparação para definir qual o produto mais barato, não é um relacionamento, mas sim um ranking do atributo PREÇO dessa tabela... ou seja, um select !
Quando você diz "em um dado momento o usuário pode querer saber...", dá a impressão que deve existir uma operação de "fechamento" dos preços, ou seja, o registro do preço dos produtos diariamente para fins de cálculo da média de preços no decorrer do tempo.
Essa é uma segunda tabela, PRODUTO_HISTORICO, que está relacionada a tabela principal por ID_PRODUTO, mas só serve para fins de registro histórico dos preços e posterior cálculo dos preços médios no decorrer do tempo.
Ou seja, um relacionamento de PRODUTO [1] x [n] PRODUTO_HISTÓRICO.
Senão for isso, seria interessante você detalhar melhor o contexto do tal "auto relacionamento" e o que seria esse cálculo da média de preços.
Todos esses controles serão derivados da tabela de PRODUTOS, que é a tabela principal do modelo.
A comparação para definir qual o produto mais barato, não é um relacionamento, mas sim um ranking do atributo PREÇO dessa tabela... ou seja, um select !
Quando você diz "em um dado momento o usuário pode querer saber...", dá a impressão que deve existir uma operação de "fechamento" dos preços, ou seja, o registro do preço dos produtos diariamente para fins de cálculo da média de preços no decorrer do tempo.
Essa é uma segunda tabela, PRODUTO_HISTORICO, que está relacionada a tabela principal por ID_PRODUTO, mas só serve para fins de registro histórico dos preços e posterior cálculo dos preços médios no decorrer do tempo.
Ou seja, um relacionamento de PRODUTO [1] x [n] PRODUTO_HISTÓRICO.
Senão for isso, seria interessante você detalhar melhor o contexto do tal "auto relacionamento" e o que seria esse cálculo da média de preços.
GOSTEI 0