Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luciano Rodrigo

modelagem

Recommended Posts

Alguém poderia me explicar essa modelagem?

Tenho estudado p/ uma prova da faculdade e sinceramente não consigo entender muito bem.

 

72093038ed.png

 

Queria entender como funciona o autorelacionamento da tabela produto. Pra que serve?

Também não entendo as duas chaves primárias na tabela insumos e por serem as mesmas nas tabelas produto e materia_prima.

Ficaria grato pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagine uma loja de peças de carro, ele vende um item : motor de fusca, mas motor de fusca e composto de n partes/peças que podem ser vendidas de forma separada, pistão de motor de fusca.

 

O autorrelaciomento(se escreva assim agora?) acima descreve isto.

 

01
motor de fusca
--

02
pistão de motor de fusca
01

03 
vela de pistão de motor de fusca
02

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pontos:

 

A tabela insumos não tem 2 chaves primárias, qualquer tabela de um banco de dados relacional pode ter apenas uma chave primária, neste caso a tabela possui uma chave primária composta, que por sua vez também são chaves estrangeiras.

 

O fato dos campos terem o mesmo nome é uma questão apenas visual, nada impede nomear o campo de forma diferente, mas o fato de terem nomes iguais, ou parecidos, facilita a identificação do relacionamento.

 

Acho que este auto relacionamento esta incorreto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Membro Luciano Rodrigo pediu para eu desbloquear este tópico mas ele não aparece para mim bloqueado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui tá normal e nas permissões do fórum aparentemente normal também

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ontem eu não estava conseguindo postar :natalohmy:

Fiz a chave composta desssa forma abaixo e deu certo, só ainda não entendo pq a tabela produto tá se relacionamento com ela mesma.

 

create table produto (

idproduto integer,

descricao varchar(200),

composicao varchar(150),

constraint pk_idproduto primary key(idproduto)

)

 

create table insumos (

idproduto integer,

idinsumo integer,

qtd integer,

constraint pk_insumos_idproduto primary key(idproduto,idinsumo),

constraint fk_idproduto foreign key(idproduto) references produto(idproduto),

constraint fk_idinsumo foreign key(idinsumo) references materia_prima(idinsumo)

)

 

create table materia_prima (

idinsumo integer,

descricao varchar(150),

unidade varchar(2),

precounitario decimal(10,2),

constraint pk_idinsumo primary key(idinsumo)

)

Compartilhar este post


Link para o post
Compartilhar em outros sites

só ainda não entendo pq a tabela produto tá se relacionamento com ela mesma.

 

não entendi esta parte

 

conseguiu resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

...só ainda não entendo pq a tabela produto tá se relacionamento com ela mesma.

 

Acho que este auto-relacionamento esta incorreto. Um auto-relacionamento pode ser utilizado para criar hierarquias/ligações de coisas iguais ou parecidas, para criar uma dependência, mas não me parece ser este o caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.