Modelo de banco de dados hierárquico
Estou criando um site de classificados sobre animais de estimação que terá três categorias (principais) de anúncios:
A- Sale
B- Breeding
C- Jobs
O problema que estou enfrentando é que todas as três categorias de anúncios têm algumas coisas em comum, mas também têm algumas diferença
Por exemplo, as categorias A, B e C têm o seguinte em comum:
category_id
ad_id
user_id
location
No entanto, os anúncios da categoria B não podem ser classificados como "Procurando / à venda", enquanto os B & C podem. Além disso, cada categoria terá suas próprias subcategorias. Por exemplo, a categoria A teria uma subcategoria de adoção e uma subcategoria de venda e categoria C teria uma subcategoria Jobs e uma subcategoria Service
Eles também terão alguns atributos incomuns, como salário, apenas na categoria C.
omecei a trabalhar nele como um modelo de entidade-atributo-valor, mas tenho várias preocupaçõe
Isso vai afetar o desempenho? Porque os usuários devem poder pesquisar com base em alguns dos atributos exclusivos. Portanto, a consulta através de uma tabela enorme não afetaria o desempenho?
Um dos meus atributos é "Animal" (exclusivo para A e B), inicialmente eu queria ter uma tabela Animal e uma tabela Breed (semelhante à localização em uma tabela própria para modelos de banco de dados classificados). Mas não consigo imaginar como fazer isso com o modelo de atributo de entidad
Aqui está o design do banco de dados que eu criei:http: //i.imgur.com/jyV6Cjc.pn
[Atualizar
Depois de ler a herança da tabela de classes, parecia um ajuste melhor do que o modelo EAV, então mudei meu EER para este:http: //i.imgur.com/JWPjt23.pn
s anúncios @Job e os anúncios de venda podem ser classificados como "Procura / oferta", mas não haverá muitas diferenças nos atributos, provavelmente apenas seus nomes (preço x preço preferencial, por exemplo). Então você acha que seria necessário adicionar outro nível de herança aqui ou seria um aborrecimento?
Um anúncio de venda pode ser um animal de estimação à venda, animal de adoção, solicitação de adoção, solicitação de compra de um animal de estimação. Você acha que eu deveria dividi-los em duas tabelas? Adoção e Venda? Não haveria uma grande diferença nos atributos, provavelmente apenas um atributo diferent