ciao
da quello che ho capito dovresti farti più tabelle tra loro collegate esempio:
tabella categorie
i
Codice:
d int(9) primarikey autoincrement
categoria varchar(250) //cane, gatto...
tabella sotto_categorie
Codice:
id int(9) primarikey autoincrement
sotto_categoria varchar(250) //pelo lungo, senza pelo.....
tabella animali
Codice:
id int(9) primarikey autoincrement
id_cat int(9) //questo lega l'animale alla categoria
id_sot_cat int(9) //questo lega l'animale alla sottocategoria
animale varchar(250)
//e altri campi che ti servono per descrive l'animale
in questo modo puoi aumentare/modificare le categorie e le sottocategorie, attento per l'eliminazione devi procedere in cascata.
un altro particolare da tener presente è legare una particolare sottocategoria ad una o più categorie, es
se la categorie è "cane" oppure "gatto" è giusto cha a queste categorie si associno le sottocategorie "pelo lungo" o "pelo corto", ma se la categoria è "pesce" non credo che esistano pesci a pelo lungo o corto, quindi le due sottocategorie citate NON devono associarsi alla categoria "pesci"
quindi probabilmente ti converrà crere un'ulteriore tabella che crei un collegamento tra le categoria e le sottocategorie associate, es.
tabella legame
Codice:
id int(9) primarikey autoincrement
id_cat int(9)//id della categoria
id_sot_cat int(9)//id della sottocategoria
faccio un esempio pratico di come alla fine dovresti trovarti il db
tabella categorie
i
d | categoria
1 | cani
2 | gatti
3 | pesci
...ecc...
tabella sottocategorie
id | sottocategoria
1 | pelo lungo
2 | pelo corto
3 | pinne gialle
...ecc...
tabella legame
id | id_cat | id_sot_cat
1 | 1 | 1 //lega la cat cani alla sotcat pelo lungo
2 | 1 | 2 //lega la cat cani alla sotcat pelo corto
3 | 2 | 1 //lega la cat gatti alla sotcat pelo lungo
4 | 2 | 2 //lega la cat gatti alla sotcat pelo corto
5 | 2 | 3 //lega la cat pesci alla sotcat pinne gialle
...ecc...
tabella animali
id | id_cat | id_sot_cat | animale | ...
1 | 3 | 3 | tonno | .....// pesci - pinne gialle ...
2 | 2 | 1 | soriano | ....//gatto - pelo lungo ...
...ecc...
ricorda che quando si usa un db la parte principale è come strutturarlo (carta e matita) poi le aggiunte/modifiche/cancellazioni vengono in seguito