In merito all' “Analisi delle funzioni” va osservato che sostanzialmente si effettuano le operazioni di inserimento, modifica, cancellazione e visualizzazione contenuto per ogni tabella.
Anche se per molte tabelle l'operazione di modifica non compare nella soluzione... in realtà questa deve essere prevista (anche se vi sono delle eccezioni) in quanto una volta inserito un record collegato ad altri attraverso dei vincoli referenziali, la sua cancellazione può essere impossibile in quanto comporterebbe la cancellazione dei record associati. Esempio: se mi accorgo che non ho scritto bene il nome di una nazione non posso cancellare e reinserire il record se prima ad esempio non cancello tutti gli abbonati o gli istituti e a cascata tutto il database in pratica...
Per questo è bene prevedere sempre anche l'operazione di modifica a meno che tale operazione debba essere soggetta a restrizioni particolari per motivi di sicurezza.
Esempio non posso modificare i dati relativi agli ordini già evasi, in quanto ciò permetterebbe operazioni illecite:
ad esempio sarebbe possibile modificare l'importo pagato dal cliente e distrarre fondi dalle casse dell'azienda (o da quelle del fisco) oppure sarebbe possibile affermare che il prodotto richiesto dal cliente era effettivamente quello spedito quando invece c'è stato uno sbaglio da parte dell'azienda,...
(ovviamente lo stesso vale anche per il cliente).
Al contrario deve essere possibile modificare un ordine ancora non “processato”, perchè il cliente può voler aggiungere dei prodotti o modificare le quantità ecc... all'ultimo momento purchè questo avvenga entro i termini e alle condizioni imposte dall'azienda.
Normalmente è possibile impedire queste operazioni agli utenti con bassi “privilegi”, mentre è possibile consentire le medesime operazioni ad utenti dotati di maggiori credenziali.
Vi sono vari modi di effettuare tali restrizioni sia a livello del database(vedi operazione GRANT) o a livello di server ovvero di script PHP(verificando le credenziali dell'utente).
Discorso analogo può essere effettuato sulle operazioni di cancellazione.
A parte le 4 operazioni fondamentali viste sopra si possono individuare altre interrogazioni che permettono di “aggregare” (ovvero mettere insieme) dati provenienti da diverse tabelle e che dipendono dal problema preso in considerazione(ad esempio devo visualizzare dati anagrafici e indirizzi dei clienti, ecc...).
Sicuramente vi figurano le query richieste nel testo d'esame ma potrebbero esservi altre operazioni di routine che devono essere svolte sulla base dati.