Pergunta

Eu tenho esse problema atual com dados que tenho de representar em um banco de dados MySQL:

Eu tenho que suportar diferentes tipos de produtos com dados diferentes, cada um, por exemplo, carros, quartos de hotel, livros, etc. Para o meu pedido há alguns dados que é comum para cada produto, como nome, descrição, preço, etc.

Então eu acho que de ter uma tabela de produtos, com dados comuns, com carros, hotel_rooms, livros e quaisquer tabelas que fazem referência esta tabela produto em um 1:. Relação 1

O problema é ter a tabela de produtos como uma tabela mestre, para que eu possa consultar a tabela de produto e obter os dados extra "automagicamente" com essas consultas, para que eu possa tornar a aplicação mais "genérico".

Todas as idéias de como isso pode ser feito? Eu tenho algumas idéias, mas eu não acho que eles são a melhor maneira de fazê-lo e eu não quero ir para hacks sujos quando este problema pode ser mais comum do que eu penso.

Usando:. PHP + Zend Framework + MySQL

Outras dicas

Tenha um objeto de base, em seguida, usar polimorfismo a subclasse que objeto base. O objeto base armazena todos os dados compartilhados (em 1 mesa) .. Em seguida, cada subclasse tem suas propriedades únicas e fontes los de uma tabela separada key'd na tabela base. Adicione as subclasses capaz de carregar, tanto os dados comuns de seu objecto principal, além como carregar os seus dados originais / distintas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top