Le chiavi esterne in MYSQL si possono fare solo con determinati tipi di tabelle: ad esempio, se usi le tabelle MyISAM non puoi usare le chiavi esterne, per le quali puoi usare il formato di tabelle InnoDB
E con phpmyadmin le puoi impostare
Per quanto riguarda la struttura del DB credo posso andare bene, aggiungerei solo una colonna ID_pratica nella tabella pratiche, per avere un indice univoco per ogni pratica
In un giorno e mezzo tutto questo lavoro? Si fa si fa, è più difficile studiare il DB che preparare lo script in PHP
BUON LAVORO!