I miei consigli
1) elimina del tutto le FK e gestiscile dall'applicazione
2) sempre nell'applicazione metti l' "intelligenza" per validare i dati prima di scriverli
3) vedo che non usi dati di default, ed hai un sacco di campi che possono essere NULL. Questo significa (prima parte) che dovrai avere logica nell'applicazione -e questo è bene- e che ne dovrai avere davvero parecchia per gestire i null -e pure questo è bene, ma devi considerarlo-
Meno ti appoggi su un certo RDBMS, più è facile in prospettiva sostituirlo, o anche solo aggiornalo, o perfino farci la manutenzione
Non lo mettere SER, non ha senso ed avrai solo problemi in backup-restore
`idALBERGO` INT NOT NULL AUTO_INCREMENT COMMENT
troppo corti: varchar più lunghi non ti costano nulla (in realtà sì, in fase di join con materializzazione della tabella, ma son quasi sicuro che le tue esigenze son così minuscole che non ti cambierà la vita)
`nome` VARCHAR(45) NULL COMMENT 'Il nome dell'albergo' ,
`viale` VARCHAR(45) NULL COMMENT 'Il viale in cui si trova ' ,
Non è un numero civico (intero), ad esempio 3/A, ti servono i char
`numero` INT(11) NULL COMMENT 'Il numero civico che gli appartiene' ,
"costo" non sono interi, se usano euro saranno DECIMAL
`costo_intero` INT(11) NULL COMMENT 'Costo del prezzo intero' ,
`costo_ridotto` INT(11) NULL COMMENT 'Costo del prezzo ridotto' ,
Neppure il telefono è un intero, perchè tipicamente ha lo zero davanti.
Inoltre può essere ben più lungo e contenere magari anche il +39
`telefono` INT(11) NULL COMMENT 'Recapito telefonico' ,
Indirizzi mail possono essere mooolto più lunghi
`mail` VARCHAR(45) NULL COMMENT 'Recapito e-mail' ,
`web` VARCHAR(45) NULL COMMENT 'Sito Web relativo all'ente' ,
Non ho proprio capito cosa sia idpaese, ma fa lo stesso
`idPAESE` INT NOT NULL COMMENT 'identificatore lago' ,

Rispondi quotando
