Opa, beleza ?! Não seria viável criar a tabela PRODUTO desta forma, pois ela teria 3 chaves estrangeiras indicando um só produto, mas cada uma dessas chaves é uma produto. Por exemplo, você teria um registro do tipo: id_produto: 1 escritorio_id: 1 festa_id: 1 escolar_id: 1 E isso não seria correto, pois a maioria dos produtos será OU escritorio OU festa OU escolar. Assim, ao invés de criar uma tabela para cada tipo de produto será melhor criar um campo TIPO na tabela PRODUTO, uma vez que em todas se tem as mesmas colunas (nome, descricao e valor). Ficaria assim: id_produto: 1 Nome: Cadeira Valor: 150 Tipo: ESCRITORIO A tabela CARRINHO acredito que seja a responsável por guardar a compra, então nela deve guardar o ID do cliente com os ID's dos produtos, então poderia ficar assim: cliente_id: 1 produto_id: 1 quantidade: 2 valor: 300 cliente_id: 1 produto_id: 2 quantidade: 10 valor: 500 É isso, espero ter ajudado. XD E qualquer coisa, estamos por aqui.