vuoi
o PayPal
tutte le volte che vuoi
Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono, e-mail, età CF, Partita IVA, ...) e dei conti correnti (Numero, data di apertura, data di chiusura).
La banca vuole tener traccia dei movimenti (correntista "movimenta" conto, con attributi: "importo movimentato","data del movimento" e "tipo del movimento" ovvero prelievo o versamento).
Si consideri che un conto può essere intestato a una o più persone (co - intestazione). Un versamento o un prelievo è invece effettuato sempre da una sola persona e solo su un conto corrente. Un bonifico, infine, collega un correntista (bonifico - effettuato da correntista) con due conti correnti (bonifico preleva da conto) (bonifico - - versa su conto).
1) tracciare su carta un diagramma Entità -Relazioni che rappresenti la situazione descritta;
2) Creare mediante MS Access il database relazionale corrispondente al diagramma ER;
3) Popolare il database con alcuni dati di prova ed eseguire le seguenti interrogazioni:
a) elenco dei correntisti che nel 2007 hanno effettuato almeno un versamento; b) elenco dei correntisti che nel 2007 hanno ricevuto un bonifico dal sig. M. Rossi.
Scarica lo svolgimento completo dell'esercizio sui database
Scarica il data base di Access
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 1: creazione della tabella correntista
¾ Creazione della tabella conto corrente inserendo i suoi attributi: numero, data
apertura, data chiusura che sono di tipo rispettivamente numerico, data/ora per
le date. Ad essi si aggiunge ID conto corrente di tipo contatore che costituirà la
chiave primaria.
Figura 2: creazione della tabella conto corrente 67
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
¾ Creazione della tabella di relazione “movimenta”. I suoi attributi sono importo
(tipo campo valuta) data (tipo data/ora) tipo (tipo testo). Ad essi vanno aggiunti
le chiavi primarie delle entità che collegano ID correntista e ID conto corrente
entrambi di tipo numerico. La chiave primaria è la combinazione fra ID
correntista, ID conto corrente, data e tipo.
Figura 3: creazione della tabella di relazione movimenta
¾ Creazione della tabella di relazione “è intestatario del”. Essa collega le entità
correntista e conto corrente. Gli attributi sono ID correntista e ID conto
corrente la cui combinazione costituisce la chiave primaria
Figura 4: creazione della tabella di relazione "è intestatario del" 68
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
¾ Creazione della tabella bonifico. Questà entità è collegata ad altre mediante
una cardinalità di tipo 1:N quindi bisogna inserire nei suoi attributi le chiavi
esterne delle entità collegate in tale modo
Figura 5: creazione tabella bonifico
Passo 3: Creazione della relazione fra le tabelle
¾ Una volta completate le tabelle si passa alla relazione delle stesse nello stesso
modo in cui è stato fatto il diagramma entità-relazioni. Dalla barra degli
strumenti selezionare “relazioni”
¾ Cliccando il tasto relazioni si aprirà una nuova finestra detta appunto
“relazioni”. Per accedere bisogna selezionare su un’altra finestra sovrapposta
(detta “mostra tabella”) le tabelle che si desidera relazionare e quindi nel nostro
caso digitiamo tutte e 5 le tabelle
Figura 6: tabella che visualizza gli elementi che possono servire per creare relazioni 69
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
¾ In questo particolare database l’entità conto serve oltre ai fini dell’intestazione
e dei movimenti anche per i bonifici. A tale scopo bisogna far comparire due
altre volte l’entità conto per legarlo all’entità bonifico. Bisogna dunque
aggiungere due altre volte la tabella conto corrente (una per il prelevo del
bonifico ed un’altra per il versamento del bonifico sul conto)
¾ Si collegano le tabelle fra di loro trascinando l’ID correntista della tabella
correntista sul corrispettivo ID utente della relazione movimenta. Eseguita tale
operazione si aprirà una nuova finestra in cui sono indicati i campi che si vuole
legare che sono stati appena trascinati. Selezionare la voce “applica integrità
referenziale”. Una relazione di questo tipo garantisce che ogni valore inserito
in una colonna di chiave esterna corrisponda ad un valore esistente nella
colonna di chiave primaria correlata.
Figura 7: creazione della relazione fra gli ID correntista relativi alle tabelle "correntista" e "conto
corrente"
¾ Collegate le relazioni il risultato sarà il seguente: 70
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 8: diagramma delle relazioni
Passo 4: modifica dei parametri delle tabelle di relazione
¾ Prima di procedere a popolare il database si modifica la struttura delle tabelle
di relazione e delle tabelle con chiave esterna per una visualizzazione più
chiara del contenuto.
Tabella di relazione “affitta”
• Aprire la tabella “movimenta” in visualizzazione struttura, selezionare
“ID correntista”, cliccare ricerca e modificare i seguenti parametri:
Visualizza controllo: casella combinata
o Origine riga: utente
o Numero colonne: 2
o Larghezza colonne: 0
o 71
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 9: inserimento dei parametri dell'ID correntista
¾ Procedere allo stesso modo per modificare “ID conto corrente” con l’unica
differenza che l’origine riga sarà conto corrente
Figura 10: inserimento dei parametri dell'ID conto corrente 72
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
¾ Si procede in analogo modo per modificare ID correntista e ID conto corrente
dalla tabella di relazione “è intestatario del”
¾ Si modifica anche l’ID correntista della tabella bonifico con gli stessi parametri
visti prima per in caso della tabella di relazione movimenta
Figura 11: modifica dei parametri dell'ID correntista
¾ Si modifica l’ID conto prelevato e ID conto versato con parametri uguali a
quelli dell’ID conto corrente della tabella di relazione “movimenta.
Passo 5: popolamento delle tabelle
¾ Si procede popolando il database inserendo i dati 73
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 12: dati dei correntisti
Figura 13: dati dei conti correnti (le date di chiusura si riferiscono solo ai conti chiusi) 74
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 14: inserimento dati della tabella di relazione "è intestatario del"
Figura 15: inserimento dei dati della tabella di relazione "movimenta" 75
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Figura 16:inserimento dati della tabella didascalia 76
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Passo 6: query
Query n.1
¾ La prima query chiede l’ elenco dei correntisti che nel 2007 hanno effettuato
almeno un versamento. Si tratta di una query di selezione basata su due tabelle.
Dalla finestra principale di MS Access selezionare query e cliccare su “crea una
query in visualizzazione struttura”
¾ Una volta cliccato compariranno due finestre sovrapposte. La prima finestra su cui
possiamo accedere è “mostra tabella” in cui dobbiamo digitare “aggiungi” in
corrispondenza alle tabelle che servono nella query. Nel caso in questione le tabelle
“correntista” e movimenta
Figura 17: creazione della query
¾ Si selezionano gli attributi che servono per applicare il criterio (data) o che è
necessario sia visualizzato (nome e cognome correntista).
¾ Si aggiunge il parametro della data indicando al programma di cercare tutti i record
che si trovano tra il 31/12/06 escluso al 01/01/08 escluso. Si deseleziona la casella
77
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
mostra in corrispondenza della colonna data per fare in modo che non sia
visualizzato .
Figura 18: inserimento del criterio
Figura 19: risultato della query 78
Rocco Sergi Esercizio sui data base "Gestione conti correnti"
Query n.2
¾ La seconda query chiede l’elenco dei correntisti che nel 2007 hanno ricevuto
un bonifico dal signor Mario Rossi. Si selezionano le tabelle che interessano
ovvero “bonifico”,”correntista”, e “è intestatario del” tenendo presente che
correntista bisogna selezionarlo due volte. Tra queste tabelle bisogna lasciare
solo il legame fra gli ID correntista relativi alle tabelle bonifico e correntista
Figura 20: creazione della query
¾ Si seleziona nome e cognome dalla tabella correntista collegata con la tabella
bonifico e la data di quest’ultima tabella si inserendo il criterio del nome
cognome e della data
Figura 21: inserimento dei criteri 79