Si vuole creare una semplice applicazione web (una versione molto semplificata di un’anagrafica clienti) che permetta di memorizzare alcuni dati dei clienti in un database di nome anagrafica. Di ciascun cliente si vuole memorizzare i seguenti dati: cognome, nome, indirizzo, città, provincia. Il database al quale l’applicazione dovrà connettersi è descritto dal seguente modello.
Schema E/R del database ‘anagrafica‘
Schema logico del database ‘anagrafica‘
clienti (idCliente {PK}, cognome, nome, indirizzo, idCitta {FK})
Nome campo | Tipo | Obbligatorio | Chiave | Default | Extra |
idCliente | int | si | PK | auto_increment | |
cognome | varchar(30) | si | |||
nome | varchar(30) | si | |||
indirizzo | varchar(40) | no | |||
idCitta | int | si | FK |
citta (idCitta {PK}, nome, idProvincia {FK})
Nome campo | Tipo | Obbligatorio | Chiave | Default | Extra |
idCitta | int | si | PK | auto_increment | |
nome | varchar(30) | si | |||
idProvincia | int | si | FK |
province (idProvincia {PK}, sigla)
Nome campo | Tipo | Obbligatorio | Chiave | Default | Extra |
idProvincia | int | si | PK | auto_increment | |
sigla | char(2) | si |
L’applicazione dovrà realizzare le seguenti funzionalità:
- Inserimento di un nuovo cliente nella tabella clienti.
- Visualizzazione della tabella clienti.
- Visualizzazione dei clienti per provincia.
- Visualizzazione dei clienti per città.
In particolare, quando si inserisce un nuovo cliente (punto 1) le scelte della provincia e della città devono avvenire tramite delle caselle di scelta a discesa. Se la provincia e/o la città non sono presenti nel database, deve essere previsto che si possa procedere prima con l’inserimento della provincia e/o della città. Pertanto, bisognerà prevedere la realizzazione delle seguenti sotto-funzionalità attivabili nella pagina della funzionalità del punto 1:
- Aggiungi provincia.
- Aggiungi città.