Basi di dati relazionali 1

Transcript

Basi di dati relazionali 1
u
Basi di dati relazionali a
Che cosa è una base di dati
tEJ
BASE
1
8.
•
..
.:
•
/
Per la ges tione delle basi di dati e la veri­
fi ca della loro coerenza e consistenza,
sono necessari particolari sistem i soft­
ware' chiamati DBMS ( ata Base Mana­
gem ent System) (figura 1.1), che si collo­
cano tra i program mi ap plicativi e i file e
si occupano di gestire i dati, inserendolì
e andandoli a prelevare (su richiesta dei
pr grammi stessi) dal database.
Figura 1.1 Base di dati
INTERFACCIA UTENT E
.
~
Una base di dati (o database) è una coLle­
zione di dati struttw-ati, progettata per es­
sere accessibile da parte di applicazioni
differen ti e differenti utenti. In altre paro­
le si tratta di un insieme di dati memoriz­
z ti senza inutili ridondanze, organizzato
in modo da essere indip ndente dai pro­
grammi ch nec ssitano di accedere ai
dati tessi e in grado di s rvire più acces i
simLÙlanei (eventualmente da parte di
applicazioni e utenti di ersi).
Usando d irettamente i file, come descritto nel Modulo 5 ogni program­
m a deve prowedere auton omamente a interfacciarsi con il file system,
tran1ite le opportune is Lruzioni di Open Read Wr i te ecc. Usando i
da tabase q ueste attività engono demandate al DBMS. In figura 1.2 vie­
ne evidenziato il modello di funzi onamento d i un tale sistem a. Gli utenti
accedono ai programm i tramite interfacce, i p rogrammi, quand o hanno
necessità di accedere ai dati, li richiedono al DBMS, che li preleva dal da­
tabase interagendo con il file system del sistema operativo, per restituirlì
infin e ai p rogrammi rich iedenti.
I
PROGRAMMA APPLICATIVO .'
f
DBMS /
f
SISTEMA OPERATIVO
/
I
t
Rappresentazione dei dati
Il modello relazionale è così chiamato perché è rappresen tato da tabelle
o relazioni; esso è basato sul c ne tto ma tematico d i r lazione tra in ie­
mi ed è libero da vincoli legali alI' ffi cienza implementativa. Le tabelle (o
relazioni) sono formate da righe e colonne: le caratteristiche di ogni rela­
Figura 1.2 Sistema basato
zione (attrib uti) sono rappresentate sulle colonne della tabel.1a, mentre
su DBMS
sLÙle righe della labella sono rappresentate le occorrenze della relazione
(o record della tab ella) dette anche en nuple (N-pIe).
In questo Modulo useremo prevalentemente il termine tabella invec del termine re­
lazione, ricordando comu nque che sono sino nimi, così come lo sono i termini "cam­
260
Modu lo
LA MEMORIZZAZIONE DEI DATI CON I DATABASE
I
po" e "attributo", e i termini "record ", "occorrenza" ed "ennupla". In figura 1.3 vi ene
mostrato un esempio di Tabelle relazionali .
. AMICI
LOCALITÀ
cognome
Rossi
indiriuo
Via Roma 4
città
Tor ino
n. telefono
011 3572943
città
Torino
reg ione Piemonte Bianchi
Via Torino 12 Verdi
Via Genova 12
Milano
Torino
024372049
011 6993524
Milano
Roma
Lombardia Laz io Figura 1.3 Tabelle relazionali
Per identificare univocamente i record all 'interno della labella i fa uso di campi chiave
o d i identificatori. Un identificato re è un insiem e di uno o più attributi che identifica univocamente una data occorrenza. Al posto di iden tificatore si parla a volte di chiave candidata e in una labeIJ a ne posson o esistere più di una (per e empio nella tabella PERSONA possono esi tere due iden tificatori, il CODICE FISCALE e l'insieme di NOME , COGNOME e DATA-NASCITA). Si osservi che almeno una chiave candidala esiste sempre
poiché al limite pu ò esser costituita dall'insiem e di tutti gli attri buti (n n posso no in­
fatti esistere record uguali, cioè le righe della tabella devono ess re tutte diver e) . Tra tutte le chiavi candidate (gli identificatori) viene scelta una chiave primaria pe r la memorizzazione e p er ffett uare i collegamenti con le altre relazio ni. ormal­ mente ne viene scelta una tra q uelle co n il min or numero di attributi . Una chiave esterna (o straniera) è u n attributo (o insiem e di attri buti) che non è chiave nella ta­
bella, ma lo è in un' altra e serve per realizzare il coll egam ento logi o tra le enti à. .
Due tabelle possono essere messe in relazione solo amaverso l' uguaglianza dei valori di
un erto campo. Due valori ono confrontabili solo se appartengono all o stesso dominio.
Per dominio si inten de l'insieme dei al ori su cui è d fi nito un certo attributo, cioè
l'insiem e di tutti i valori elementari ch e u n attributo può assumere (per sempio il
campo ETÀ potrà essere definito ul dom ini degli interi h e va da O a ) 50).
Il concetto di dominio è fondam en tale perch é sono proprio gli attributi di di erse
relaz ioni definite sullo stesso dominio eh pe rmettono di reali zzare le associ azio ni
tra i diversi tipi di en tità. In parti colare questo è possibile tramite l'uguaglianza tra
chiave primaria di u na tabella e chiave straniera di un'al tra.
Nell' esempio d i figu ra 1.3 si vede come la tabella LOCALITÀ sia collegata alla tab Ila
AMICI poiché in entramb i esi te l'attributo CITTÀ, chia e primaria nella tabella
LOCALITÀ e chiave stran iera nella tabella AMICI.
Se il n umero di attribu ti di una chiave straniera (o meglio la sua dim nsio ne) è ele­
vato, è spesso convenient e introdurre un nu ovo campo nella tabella di partenza (per
esempio un campo CODICE) facendolo diventare la nuova chiave.
I. '
.
AJtr~ c·ar~tte~·istiche ·risultano utili per definir le metriche (ossia e prim ere le misu ­
re quantit a tive) sulle relazioni presenti in un database: per grado di una relazione si
intende il numero di campi delle tabelle, men tre per cardinalità si intende il nu m ­
ro delle occorren ze presenti in un dato istante. Nelle tabelle no n com a J'ordinamen ­
t delle N-pie (record), ma le -pie non si possono ri pelere e sono id ntificate uni­
va came nte dalla chiave.
Ilo sche ma di figura 1.4 sono riassunti e illustrati i concetti appe na esp re si sul ­
l'es m pio della la bella AMICI.
Il mo dello rela zionale si basa su fondamenti matematici rigorosi, in particolare, per
quanto riguarda le operazio ni, si basa sull' algebra relazionale. Le operazioni di repe­
Unt tà
BASI DI DATI RELl\ZIONALI
261
,
rimento sono in genere orientate al rep erimento di insiemi di record. A ooni ri chie ­
sta vie.ne .fornito l'insieme delle occorrenze che sod dis fan o le condizioni imposl dalla flch lesta stessa (non solo il primo record che le soddisfa) . Questa modalità operativa, caratteristica dei da laba e rel az ionali, viene detta ser­
orienred. La tru ttura di una base di dati è facile da comprendere e da usare, pur mantenendo un a grande pO lenza di rapprese ntazione. DOMINIO
CHIAVE
PRIMARIA
\AMICI! TESTATA ~ ~ognome
DATI
DOMINIO
STRINGHE
DI CARATTERI
TORINO, MILANO,
ROMA, NAPOLI, ...
-------
indiriuo
città
Rossi
Via Roma 4
Torino
011 3572943
Bianchi
Via Torino 12
Milano
02 4372049
Verdi
Via Genova 12
Torino
011 6993524
n.telefono
..
-
'RECORD
/ (CARDINALlTÀ)
ATTRIBUTI (GRADO)
Figura 1.4 Caratteristiche di una tabella
Operazioni sulle tabelle relazionali
Le p erazioni che si possono fare sulle tab elle sono basate sull'algebr relaziona le: il
risultato di ogni operazi o ne è un insieme di reco rd ossia, dal p un to di vis ta logico,
una n u ova ta bella (figura 1.5).
TABELLA RISULTATO
OPERATORE
RELAZIONALE
Figura 1.5 Operatore di algebra relazionale
Alcune di queste operazioni si b asano sui eonc tti generali deil 'insiemistica (unione, in­
tersezione, differenza), mentre altre sono più spe iIi he della teo ria dei database. Alcu ­
n e op rano su una sola tabella eli partenza (selezione, proiezi ne) menn'e altre utilizza­
no p iù tab elle. Le prin ipali operazioni (riassunte in figura 1.6) sono el ncate di seguito.
Unione: l'un i n e p uò avv nire tra due tabelle co mpa tib ili (cioè co n lo stesso nume­
ro di campi, e questi de ono avere lo stesso dominio). Il ri su lla to d ll' unione è !'in­
sieme di tutt le occorrenz delle d ue tabell e e elusi i d uplicati.
lntersezione: a n ch in questo caso \' p razio n e p uò esse rc effet tu a ta solo su tabelle
compatibili. Il risultato deIl' in terse zio ne è u n a tabella che contiene solo le occorren­
ze che sono presenti in entram be le tabelle.
Differenza: an h e in questo caso l' op crazion p uò essere effe t:luata solo su tabelle
com p atibili. Il risultato della d iff renza è una labella che co ntie ne le ccorrenze che
sono presenti solo nella prima tabell a ma no n n ella seco nda.
Prodotto cartesiano: è l'insieme di ogni possibile combinazion di ri ghe di due ta·
belle. In genere il risultato è un insieme molto ampio, ed è raro che tutte le comb i­
nazioni abbiano significato.
262
Mod lo .
LA MEMORIZZAZIONE DEI DATI CO
I DA ABAS(
SeJezion e: è ap plicata ad un singolo insieme (tabella o risultato di un'operazione
precede nte), e d à come risultato l'insieme delle occorrenze che rispettano certe
condizioni (sottoinsieme orizzontale) .
Proiezion e: applicata a u n singolo insieme (tabe ll a o risulta to di un' operazione pre ­
cedente) il risultato è una tabella co n lo stesso numero di occorrenze, ma con solo
alcuni degli attributi (sottoinsieme verticale) .
Join: si effettua tra due tabelle che hanno un attributo in comune (cioè definito sullo
stesso d ominio). È u n sottoinsiem e del prodo tto a rtesiano a cui è stata ap plicata
una clausola di selezione sull' u guaglianza degli attributi. Si posso no individuare al­
cune tipologie di join in base al tipo d i condi zione fo rm ul ata sull'el emento comune .
In particolare nel!' equi-join la condizione è di uguaglianza, e prend e il n m e di na­
tural-join se il ris ultato è u na tabella composta dall a somn a d e i campi delle due ta­
belle m en o uno (l'attribu to u sato per iljoin viene p reso una sola volta).
Queste operazioni a secon d a dei lingu aggi e dei sistemi vengono tradotte in mod o dif­
ferente. In alcuni casi si ha un comando p er ogni ope razione, mentre in altri è possibi­
le effettuare più op erazioni con un' unica istruzione o avere a di posizion e com andi
elementari da combi nare tra loro per ottenere le sud dette operazioni . Oltr a q ueste
operazioni, in genere i linguaggi di interrogazione p e r datubase m ettono a dispo izio­
n<.: anche altre iùnzionalità come operazioni ar itmetiche di somma, m dia ecc.
~~-
-
.-----~
..
----~-
~
UNIONE
DIF FERE NZA
INTERSEZIONE
B
C
A
B
C
a2 b2
cl
c2
al
a2 ·
al
~
bl
b2
cl
c2
A
---al bl
---
~
A
B
b l cl
al bl
- - - - - - -c2b2
a2 b2
---a3 b2
b 1 • c2
b2 cl
B
C
A B C
a l bl c l
a2 b2 c2
----a3
- -b2
_.c2
­
-----
JOIN (GIUNZIONE)
PRODono CARTESIANO
A
-B- -C
D
SELEZIO N E
-------
A
B
C
D
PROIEZIONE
- - - - - - - - - - - - ---
Figura 1.6 Algebra relazionale
Che cosa è una base di dati?
Che cosa si rappresenta in una tabella?
Che cosa si intende per DBMS?
Che cosa è il dominio?
Quali sono le caratteristiche del modello
relazionale?
Che cosa è una chiave esterna?
~---------------------------------------------------~~----,
263
BASI DI DATI RFLAZIONALI
Unita
Basi di dati con Microsoft Access
Microsoft Aécess
L'applicativo Access, che fa parte del pacchetto Microsoft Office, mette a disposizio­
ne del programmatore e delJ'utente vari oggetti che consentono di crerue, configura- .
re e gestire database relazionali.
Creazione di un database
Dopo aver avviato Access (tramite il pulsante Start o direttamente facendo doppio clic
sulla sua icona), appare la finestra del prograrrirna che consente di aprire un databa- .
se esistente o di crearne Uno nuovo (figura 2.1).
La prima operazione da compiere è creare un database vuoto in cui, successivamen­
te, verranno inserite le tabelJe con i dati. Si tratta di creare una struttura di database,
assegnarle un nome e posizionarla in una directory del disco secondo le modalità
tipiche di Windows. Pensiamo a questa struttura come a un contenitore di tabelle,
per il momento vuoto.
Introduzione Q Microsoft Office Access
----
Figura 2.1
• La finestra del database
All' apertura o alla creazione di un database, sullo schermo viene visualizzata la
finestra di figura 2.2 dalla quale cliccando su Crea della barra dei menù è possibile
creare tabelle, query, maschere e feport in diverse modalità.
Tale fine stra presenta oltre alla barra del titolo, che evidenzia il nome del database
attivo, la barra dei menùcon all'interno i vari oggetti utilizzabili, un area di lavoro
dove vengono visualizzati gli oggetti creati quando vengono aperti e una barra di
. stato che indica lo stato del database.
264
Modulo 6
LA MEMORlzzAzlONE DEI DATI CON I DATABASE
Barra del m enù
~_-L.._
Barra degli
strumenti
Area di lavoro
Barra d i stato
Figura 2.2
Esercizio guidato
Testo. Crea un database vuoto.
Analisi. Crea una struttura di database, assegnagli un nome e posizionalo in una
directory del dis co ~ Pensa a questa struttura come a un cont~nitore di tabelle, per il
momento vuoto.
Realizzazione. Awiando Access viene proposto di creare un nuovo database oppure
di lavorare . su un dàtabase esistente. Scelta la prima opzione, devi assegnare un
nome al ,nuovo database e scegliere una -directory' (secondo le modalità tipiche di
. Windows) in cui collocarlo.
IntrOl:Juzione
Microsoft Offlce Access
Figura 2.3
verifica le tue conescenze
1 Un a vo lta creato, il database dove deve essere
salvato?
2 Che pulsanti devo utili zza re per creare
un database vuoto?
3
C~e
cosa cont iene la barra dei me nù?
4 Che d ifferenza c'è tra barra dei mÈmù e barra
degl i st rumenti?
Unità 1
BASI DI DATI RElAZIONALI
265
Le tabelle i Access
tabella viene definita attraverso la voce del menu
possibile creare una tabel­
Ulanascegliendo
Nella figura 3.1 sono mostrate le varie componenti.
Crea. È
Struttura tabella.
Nome del campo Tipo del campo Descrizion e del campo
Definizione campi ---~~~~=::rJ~
Definizi one----t----iil~~I~~~~ni
delle proprietà
del campo
--.....--..._......
Figura 3.1
Nella colonna "Tipo dati" è specificato il tipo dei dati da memorizzare nel campo.
Nella tabella seguente sono mostrati i possibili tipi di dati e la quantità di memoria
. occupata da ciascuno.
nome
t esto
numerico
tipo
descrizione
,- f ino a 255 caratteri
f ino a 8 byte
caratteri alfanumerici (test o o numeriche non richi edono calcoli)
valori numerici
data/ora
8 byte
valori di date e ore
valuta
8 byte
valori monetari
co ntatore
8 byte
sì/no
1 byte
memo
valore numerico sequenziale che viene incrementato
, automaticamente ogni volta ch e si aggiunge un record
valori logici 1 o O (vero o fa lso)
ca ratteri alfanumerici (frasi o paragrafi)
_- fino a .64 000 byte
oggetto ole
fino a 1 GB (compatibilmente
con lo spazio disponibile sul disco)
-oggetti importati da altre appli cazion i (documenti Word,
fogli Excel ecc.), oggetti grafici, dati binari
Nella tabella seguente sono descritte alcune delle proprietà dei campi.
proprietà
desaizione
dimensione
.campo
dimensione massima dei dati che è possi bile memorizzare in un campo di t ipo numerico o di t esto
formato
perm ette di personalizzare il formato di visua lizzazione e di stampa per i campi di ti po numerico,
data e ora
cifre decimali
consente di impostare il numero di cifre decimali da utilizzare pe r visual izzare i dati in un campo
di tipo numerico o valuta
maschera
input '
solo
permette la visualizzazione di caratteri di f ormattazi one che rimangono sempre presenti ne ll a cena
per f acilita re l'inserimento dei dati (per esempio te!. __ __ -'____ _ __ _ _ __ perme!te di inserire
solo il prefisso e i numeri negli spaz i vuoti)
(segue)
266.
Modulo 6
-LA MEMORIZZAZIONE DEI 01>.11CON I DATABASE
,
proprietà
. etichetta
descrizione
consente di creare etichette di testo nelle quali è possib ile inserire nelle varie modalità
di visua lizzazione, ·spiegazioni sugli oggetti
valore
permette di impostare l'inserimento automatico di un determinato valore in un campo predefin it o
quando viene aggiunto un record nella tabella
valido se
consente d i sp_ecificare i crit eri di accettazion e per limitare i valori dei dati immessi in un campo;
quan do viene immesso un valore che non corrisponde ai criteri impostati, vien e visualizzato
un messagg io di errore
consenti
permette la memorizzazionE?. di strin ghe con lunghezza zero in ca mpi di tipo t esto o memo
lunghezza zero
ind icizzato
consente di velocizzare le operazion i di qùery, di ord in amento e di raggruppamento
Una tabella può essere aperta anche
in modalità visualizzazione Foglio
dati. In questO caso viene vista come
insieme di record (figura 3.2).
In Visualizzazione Foglio dati è possi­
bile visualizzare, scorrere, ordinare, fil ­
trare, trovare, aggiungere, cancellare
modificare e stampare i dati. È inoltre
possibile modificare l'aspetto del
foglio dati aggiungendo, eliminando,
spostando e nascondendo colonn,e.
Figura 3.2 Vis alfzzazione Foglio dati
I ntegritàreferenziale
Con questo termine si indica un sistema di regole utilizzate per assicurare che le relazio­
ni tra i récord delle tabelle correlate siano valide. Seviene applicatafintegrità referenzia­
le tra due tabelle, i dati correlati non possono essere eliminati o modificati per errore.
Con i vincoli di integrità così impostati (come nell'esempio della figura 3.3), l'inseri­
mento- di un lmpiegato comporta il contrQllo di esìstenza d 1 dip artimento a cui
appartiene: se il dipartimento non esiste, l'impiegato non viene insèrito nella base di
dati. D'altro canto, quan do si cancella un dipartimento, viene controllato che non
esistano più impiegati che la orino in esso: se ne esistono aneora~ il dipartimento
non viene elfrnina o daJ database.
•
•
.-
-~
-
j
•
-
~.
J
,j••
:1_.
. , - • -' ••.,
- • , "•
~
., NOME
POSIZIONE
Figura 3,3 Vincoli di integrità
Unità 1
BASI DI DATI REIAZIONAU
267 ..
Esercizio 'guidato Testo. Re.alizza u n' applicazione per gestire un'agenzia immobiliare che vuole memorizzare in un database di Access i dati degli appartamenti in vendita o in affitto. Per ogni unità immobiliare (che può essere un appartamento, una villa, un rustico, un box auto o un edificio di altro tipo) si conoscono le seguenti informazi oni: indi­
rizzo, superficie (inferiore a 1000 mq), prezzo (di vendita di affitto), numero di stan­ ze (al massimo 20), presenza di box, presenza di cantin a, data di disponibilità, descri­
zione, dati anagrafici del proprietario. PUÒ irioltre essere disponibile una fotografia dell'immobile. " Crea una tabella con i dati indicati. o
Analisi. n testo del problema indica dettagliatamente i dati da utilizzare; per alcuni di
.essi devono essere definite le regole di convalida, ossia le condizioni che devono
essere rispettate perché il DBMS accetti di memorizzare i dati.
La fotografia dell'immobile è inserita neUa tabeUa in un campo di tipo OLE: questo
tipo di dati permette di incorporare nella base di dati oggetti di diversa natura come
un'immagine in fOl1i1ato pamt.
variabili
nome campo
tipo
regoia di convalida
descrizione
IdAll ogg io
numero
Generato aut omaticamente
numero ch e identifica in modo
(Numero progressivo)
univoco ciascuna unità immobiliare
~ichi esto
indica il tipo di unità immob ilia re
(a pparta mento, villa, rustico, box auto, altro)
Tipo
stringa(1 )
Può valere: A, V,R,B,X
Affitto Ven dita
st ringa(1)
Rich iesto
Pu ò valere: A, V
inqica se l'all oggio è in vendita o in affitto.
Può assumere so lo i due valori previsti
per affitto o vend it a
Indirizzo
stringa(5Q)
Richiesto
indirizzo dell'unità immobiliare
CAP
stringa(5)
Città
stringa(25)
Richiesto
Superficie
numero
Compresa fra O e 1000
Prezzo
numero
Richiesto
preZ?o di vendita o di affitto mensile dell' unità
immobi liare
NumeroStanze
numero
Com preso fra 1 e 20
numero di stanze dell'unità immobil iare .
Box . .
SUNo
indica se l' unità immobiliare ha il box o no
Cantina
Sì/No
indica se l' unità immobiliare ha la canti na o no
DataDisp
data
data in cui l'unità immobiliare sarà disponibile
Descrizione
Memo
descrizione anche dettagliata dell'unità immobiliare
Foto
aie
disegno della piantina dell'unità immobil iare
codice di awiamento postale
città dove si trova l'unità immobiliare
. superficie commerciale in mq dell 'unità
immobiliare
. stringa(30)
Richiesto
cognome e nome del proprietario
IndirizzoProp
stringa(50)
Richiesto
indirizzo del proprietario
TelefonoProp
stringa(15)
Rich iesto
numero di telefono del propri et ario
NomèProp
-
Realiuazione. Tutte le informazioni relative agli immobili sono ID.$erite nella tabella iMMOBIU che presenta il campo ldAlloggio come chiave p rimaria. Nell~ figura 3.4 è nportat~ la struttura della tabella e nella figura 3.5 le finestre nelle quali sono presenti le regole di convalida per i vari campi.
.
.268
Modulo 6 . LA
MEMORIZZAZIONE DEI DATI CON I DATABASE
­
....
ltor-
Nome....., ·
'~. .O
T'e!!
ìiOOd1~~lnlf1IObll~~·A" •• ~Io,V ;llvtu&''''''-;-boJc.,.''''~'~·.aI1io
&ndk:a M t'untU UnrmobUw•• an W'IIndnI M oI\n Iffltto(A)
Ir.,t;
T_
.Attlttov andtU
~~
ITti10
C»
ITesto
éiiij- - - - ~rfld.
""=,,,,,.
I_ _.....nlvoco
c:Ontltarl!
~
ITHto
lndo1tto doIl'unItIlIftnlObIUM.
"'!bdl'!•...m;.,,~~ - emi tn cU" tn:rv~ W\Id k'MIobm...
-
--
.rnuo
11OdIo .. rlO>ltt _ 1.... 11011 be,..!!'!! SII"';
indica M runlU Imrnobffie"e he" cantan. O no o.u1ora
- - --da&.atna.l~n.mabll~"'dI~nibi&e ~lk)ne
l'';';;
­
.....
=-
•Ogttta OI..E
--
.......
ITosto
~~d.~I&.. doII'lI'IIàl........1...
- - - _____
IIFi...
---
-
.eg~~
..
11
Il
u~,.__ ~_._
11'-- . . . . "._co
CU!a.d:.. ,.,..."..
awtIJlJto"'~
lc.iq:lO ... ,,,...,.oIONttl~" GuIdI
.....(~n
...•
.....IO"
~
-
-
foto dt.ll'untU tmmobllllte
! ~•• nome ~~pc1.tano '"
....
­
.-
- -­
-
. e'ano ca ".~ _di
talns{Ie cr.U'unKl iIrPobCll.are
I nurMtO di stw\lt dett\JnltlllrnrnobUt....
;~
Foto
NomeProp
~ . -
-
1 ......n.,~ ==:J ~ tom~aI • ..,mqct...rrunltt~illl,.
=t=
sVNo
~r\i-;·-Box - - - - - CorttlN
- - --- -
Il
.
il
Figura 3.4 Struttura della tabella
"
l
I
Generale Ri~ral
GeJlerale
Dimensione camDo
formilt o
Ma~chera di inDut
Etichetta
Valore~ed efinito
Va lido se
Messàll!llo errore
1
.:
1
Eti<hetta
Richi~sto
CoruentlltJIHfhezza ZelO
ln<fKizzato
Compres5ione Unicode
Modalità IME
Mooarrt1 frase IME
Smart tag
= "A" Or V Or"B" Or "R" Or '1r
vallHe non llrevisto
Si
No
No
Sì
Nessun contr~o
N!5suna conversione
Valore,predefinito
Valido se
Messaggio eIrore
Richiesto
Consenti lunghezza zuo
IlIdldzzato
(ompreufone Unicode
Modalità IME
ModaIltà frllS'elME\
.'
="A'OrY
Valore nonp.revisto
Si
No
No
Si
Nessun controDo
l'kssuna conver5ione
ISmart talI
b campo AffittoVendita
a campo Tipo
.
Gen.era le I lticerca
1
Dimen sione campo
Formato
PosiZioni decimali
Ma sch era di mput
Etichetta
Va lore j)redefinito
Valido se
MessaQQi(l errore
Ridlie5to
Indicizzato-
.
r
Formato Poslz.ioni decim.1I1i Mascherct dr inllut Etichetta 2
Va/ore predefinito Valido.!! O. >OAnd <1000 Valore non pr~o
No
No
Allineamento testo
c campo Superficie
~'L:
Byte
Automatiche " =1 And <20 Messaggio !lrore Richiesto No
[ndicimlto
Sì (Duplicati a.mmeSSl}
Smarttaa
Allineamento testo
Standard
I
t Generale I Rfmca l
·IDini.enÙOne campo
Precisione Singola
Smarttaa
-
I Riceral I
Dimensione campo
Formato
Maschera dì inj)ut
....
.
5tandard
d campo NumeroStanze
Figura 3.5
Unità 1
BASIDI DATI RfLAZlONA LI
269
Inserimento dei dati
'inserimento dei dati
una tabélla, di cui si
L
preceden temente definita la struttura, può
essere effettuata in maniera interattiva aprendo la
in
è
tabella in Visualizza Foglio dati (figura 4.1) e inse­
rendo i valori dei vari campi, oppure utilizzando le
-maschere.
Figura 4.1 foglio Dati
"
• Le maschere
Le maschere sono strumenti di input e di output che permettono di visualizzare o modificare i dati presenti nelle tabelle senza intervenire direttamente. Con esse è possibile operare anche sul risultato di una query, vedendo i dati in un formato più allÙchevole e adatto anche a utenti finali non esperti. Le maschere !tossono contenere molti oggetti e controlli diversi, con svariate pro­
prietà, e possono essere strutturate in maschere e sottomaschere. Con le maschere si può operare in differenti modalità di visualizzazione. La visualizzazione Maschera è la modalità di esecuzione della m aschera, visualizza
un record pér volta e consente di sconere i vari record tramite pulsanti. Il record atti­
vo può essere esaminato, modificato o elimmato. È inoltre possibile inserirne uno
nuovo (figura 4.2).
La visualizzazione Struttura è la modalità con cui è possibile creare o modificare una
maschera (figura 4.3).
- .....;".,..;.u­
• ·!---.!.... t • • '~ I ""
~-
--­
-
~
-
:I
~
,",o
I ....
l' "
l ' t I , • • ' l''
"R "
' c' "111 ' ,_._, __
I
TabeJla2
•
l ' ' ' l ' "1 - 1
·é~
...
~-----,c==~---------------.I
I
-­
~
\I!!.~
I
-
r.a_,1tCIuC ~~
~====~~================~I
I
~~~===::::=;:====:;:~n
~~W*
]to~"
Figura 4.2 Maschera di visualizzazione
Figura 4.3 Struttura di una maschera
Una maschera può includere fino a cinque sezioni.
• Intestazio~e maschera: contiene le informazioni che si desidera mostrare per
ogni record, per esempio un titolo relativo alla maschera.
• Intestazione pagina: contiene titoli, immagini grafiche o altre informazioni che
saranno visibili solo nelle maschere stampate.
• Corpo: visualizza i record. .
• P iè di pagina Pagina: contiene la data, il numero di pagina o altre informazioni
che saranno visibili solo nelle maschere stampate.
• Piè di p agina Maschera: contiene le informazioni che si desidera mostrare
per ogni record, come pulsanti di comando o istruzioni per l'uso della ma­
schera.
270
Modulo 6
LA MEMORllZAZIONE 08 DATI CON I DATABASE
I controlli Un controllo è un oggettQ grafico che può
essere inserito in una masch era per visualiz­
zare dati, eseguire un'azione o per evidenziare
d eterminati aspetti. I controlli (figura 4.4) .
sono usati sia nelle maschere, sia nei report.
'Per identificru:e un controllo è sufficiente fer ­
m arsi qualche attimo su eli esso con il punta­
tore del mouse: Access ne visualizza il nome.
Controlli
Figura 4.4
~
Esaminiamo alcuni dei p~cipali controlli e il loro uso.
• Etichette: visuallzzano un testo descrittivo (per esempio un titolo, il nome di un
campo, istruzioni e messaggi per l'utente). Non cambiano da un record all'altro.
• Caselle dì testo: sono utilizzate per visualizzare, immettere o modificare dati nel­
l'origine recgrd eli un a ma~chera o eli un report. Si usano anche per visualizzare i
risultati di un calcolo oppwe p er accettare l'input dell'utente.
.
• Caselle combinate: permettono di visualizzare un elenco di elementi tra cui è pos­
sibile selezionarne uno. L'elemento selezionato è visualizzato nel box associato.
• Pulsanti dì comando: consentono di eseguire determinate azioni, come l'apertura
di una maschera, la ricerca di un record e così via.
,
• Casella inunagine: crea un contenitore in cui è possibile visualizzare un elemento
grafico in formato bitmap, icona, JPEG o GIP.
I controlli possono essere associati, non associati o calcolati.
Controlli associati · Un controllo può essere associato a un campo di una tabella (o di unaquery) . I controlli associati si utilizzano per visualizzare,
immettere e aggiornare i valori conte­
- .. , , ..
.. ." l ' ' ' . I. " -. " ro ·, ·-• , .. _ .:.=:.~ ,nuti nei campi del database, e ovvia~
.......... ­
; 'STUDENTI
mente il loro contenuto varia per ogni
record visualizzato. Tipici controlli as­
le,
' .
I~,
.sociati sono le caselle di testo o le ca­
t­
I;'
I
n­
l­
I
selle combinate.
•
-­
• ••
~
• . ,. I
..
-
~
.'
I
l
I:''::'" F,-
r-
r-
-- - -
.
--
!!..
...
Ir­
Nell'esempio della figura 4.5, l'origi­
ne del contròllo è.il campo Cognome
della tabella Studenti.
1!iP~
,
r
L
Controlli non associati
Un con trollo non assodato non ha
invece un'origine dati, e normalmente
è u tilizzato per visualizzare istruzioni,
messaggi, grafica, cioè per informa­
zioni che non devono cambiare con lo
scorrere dei record.
. Tipici controlli non associati sono le
etich ette, le immagini, la grafica (fi ­
gura 4.6).
.Figura 4.6 Controlli non associati
Controlli calcolati
Un controllo calcolato contiene un'espressione che utilizza e calcola i dati di un
campo o 'i dati di un altro controllo.
Unità 1
BASI DI DATI RELAllONALI
I
.
271
Nell'esempio della figu ra 4.7, il voto
in trentesimi viene calcolato a partite
dal campo voto moltiplicato per 30 e
diviso per lO.
Figura 4.7 Controlli calcolati
Esercizio guidato
Testo. Facendo riferimento all'esercizio della lezione 3 crea una maschera per l'inse­
rimento dei dati nella tabella Immobili, aggilillgi sulla maschera il costo dell'inìmo­
bile al metro quadro (calcolato) .
-Analisì. Poiché si intende utilizzare la maschera per inserire i record, e necessario
prevedere nella maschera la presenza di tutti i campi della tabella Immobili.
Realizzazione. Per creare lilla maschera posizionati
su Crea e scegli Maschera. Otterrai la maschera mo­
-strata in figura 4.8 contenente tutti i campi dell~ ta­
bella Immobili.
Come si può notare, per ottenere un risultato mi­
gliore, alcuni campi dovrebbero essere modifica­
ti: per esempio la scritta NomeProp dovrebbe es­
sere sostituita con Nome Proprietario, IndProp
con Indirizzo Proprieté!Qo, TeIProp con Telefono
Proprietario. È possibile realizzare ciò scegliendo
di visualizzare la maschera in modalità struttura:
occorre andare su Home, Visualizza e scegliere
Vzsualizzazione struttura. -
IMMOBIU
--- --,
~- ~r.;;..;;..
- I----.-,,:: ,~
~e<RI~1
I~ I
""""'. I -
1_
1I--_I
I
Figura 4.8
•
==1
1 = = 1
-Iii
-~,
I
--I
",,"
=====j
1=1
I?-=-= = == ==1
j '- I' - - - --
El
---'
1
' · I · •. • ·' ·,· .·. ·!. . :. .. ·.·. _' J • l ' '· ' .... · • ....... . , ." , .• . .•. , .•. ~ .• . , "! . ...
Si ottiene la finestra illustrata nella figura 4.9, do­
ve è permesso effettuare modifiche alla masche­
ra. In questa maschera sono visualizzati tutti i
campi della tabella Immobili: ogni campo della
tabella è visualizzato rnediant una coppia di og­
getti: uno di tipo Etichetta che contiene la descri­
zione del campo e uno di tipo Casella di testo
contenenteil dato della tabella. Per modificare i campi NomeProp, Indirizzo­
Prop e TelefonoProp occorre posizionarsi sul­
l'etichetta da modificare e digitare il n uovo valo­
re. n risultato dell'operazione e visibile nella fi­
L~
gura4 .10.
Figura 4.g
.­
--
• • , . , .,
':..l~".~'
t' ,
-­
. ',· ., .·. '.·G.. ·•· .·•.
IDor­ -
CA>
-­~
.... """ M
w·
. .. " •
• •
'1 . '
a ,o Q'1 a
~
,­
-~_~ ...
"I
- ...
~ o.
-~-,.
e:-.
_ _o
!i
...
5F. 1 ,~
J~1
~"n~ C19
AlINo
1
.­
"'-13
.
I I I l l f'
11 I I L-_
.
~-
,\,__,1, .L
Figura 4.10
I
272
Modulo 6
..
""""11 1 _
LA MEMORIZZAZIONE-DEI DATI CON I DATABASE
J...J
"
~
Casella di testo
Etichetta
Per aggiungere l'informazione riguardante il costo al metro quadrato dell'immobi­
le, si inserisce nella m aschera un oggetto di tipo Casella di testo. Automaticamente
compare la relativa Etichetta all'interno della quale si digita "Costo al mq". Facendo
clic con il pulsante destro del mouse sulla casella di testo appena inserita si selezio­
na la voce Proprietà che apre una nuova finestra dove è possibile impostare le carat­
teristiche dell' oggetto (figura 4.10).
In questo caso ~ stata digitata nella proprietà Origine controllo la formula:
"= Prezzo/Superficie" .
Utilizzando la m aschera appena creata è possibile inserire i
dati relativi agli immobili facendo attenzione a non violare
le regole di validità eventualmente impostate. Inoltre, per
inserire nella tabella la foto dell'immobile è necessario fare
clic con il mouse su Cornice oggetto. non associato, selezio­
nando poi l'opzione Crea da file e facerìdo clic sul pulsant_e
Sfoglia si defirùsce il percorso del file conIa fotografia (figu­
ra 4;11).
-
~ :.~~=:.
",t. _ _ _
Figura 4.11
Oppure è possibile inserire un'immagine fac endo clic su Immagine, si apre la finestra
mostrata in figura 4.12, si sceglie poi il file che contiene l'immagine dainserire.
Figura 4.12 . Al termine la maschera risultante sarà quella visibile nella figura 4.13. -~
~.
' = == = ===91I ~
ft=1
~~
AIfIl1 0Vendlta: lv
IonItnU O·
1··.. ~l'!'\Il
r=1i!l=;;--_-'-_ __
-,
I ~
l
~======jl """"'P'".''"W'''
Eu
101:
I
Figura 4.13
Unità 1 BASI DI DAn RE UIllONAU
,
273
. l
Le query
Query di selezione
Le query sono usate per visualizzare e modificare i dati. In esse vengono impostati i cri­
teri che servono a recuperare soltanto i record e i campi desiderati di una o più tabelle.
li tipo più comune di query è la query di selezione. Utilizzando i criteri specificati, la
query di s el~zione recupera i dati da una o più tabelle, quindj li visualizza nell'ordi­
ne desiderato. È possibile utilizzare le query come origine di record per maschere e
report; in questo caso la maschera (o il report) visualizza solo i dati selezionati dalla
query stessa
La definizione di una query può avvenire tramite la creazione guidata, facile ma adatta
prevalentemente per query semplici, oppure in Vzsualizzazione struttura, per realizZare
qualunque tipo di query. In Visualizzazione struttura vanno indicate le tabelle su cui
eseguire la query, i campi da visualizzare, i criteri per ogni campo.
Nell' esempio seguente (figura 5.1) viene definita una query sulla tabella Dipendente per
visualizzare tutti i dati dei dipendenti di Torino.
Tabella su cui effettuare la qu ery
."
Cam pi da
r--="-...;.:........;-.;.-:-------.-~'---r.-:"--"--:..::.;'--- Visual izza re
Criterio
di selezione
Figura 5.1 Definizione di una quel)' tramite la visulizzazione struttura
Query
SU
più tabelle
Quando la query viene eseguita su più tabelle, queste vanno selezionate tramite l'ap­
" "
posita finestra (figura 5.2).
~~-~~~
Mostn tabella
Tab!Ie
.----==-.~~.~.,
.1. lS
lQoery JfnIr<IrWe !
OlPENJENTE
M1CI!lI1
I
Figura 5.2 Selezione tabell~ "
274
Modulo 6
LA MEMORIZZAZIONE DEI DAn CON I DATABASE
t~J I .~~
,
Le due tabelle vengono inserite nella query, e le eventuali relazioni presenti sono rap­
presentate dalla linea di join (figura 5.3). Si possono quindi inserire come campi quel­
li presenti in entrambe le tabelle.
Quando si crea una~query su più tabelle, è necessario assicurarsi che i ,relativi elenchi
di campi siano collegati l'lll10 all'altro con una linea di join, in modo·che per Access
sia possibile connettere le informazioni.
nome
OlfENOOOE
DlPEtlOEIflE
Figura·5.3 Linea di join
Query di comando .
Le q uery di comando permettono di operare su più record tramite lll1a sola operazio­
ne. Access ne comprende quattro tipi:
• creazione tabella;
• accodamento;
• elimlnazione:
• aggiornamento;
Le query di com~do producono risultati irreversibili, quindi prima di eseguirle
Access visualizza sempre un messaggio di awertimento. Per impostarle si fa clic sul
menu Query e si sceglie il tipo desiderato.
• Query di creazione tabella. Permette di creare una tabella nuova a partire dal risulta­
to della query. La struttUra della nuova tabella avrà tutti i campi definiti nella query e
conterrà i record che corrispondono ai criteri definiti (figura 5.4).
Cred7ione tabella
ILII~
Veal'lUD\la.cabela
~t~: I.---------------~--~
0~correrte
O ~o d..tabaoe
I~' ~ :L
r - - - - - - ----------------,
Figura 5.4 Creazione tabella
• Query di accodamento. I record risultanti dalla queryverranno accodati alla
tabella specific ata. È importante prestare attenzione alla coerenza dei ti pi dei
campi risultanti dalla query e di quelli presenti nella tabella. TI meccanismo di fun­
zionamento è analogo a quello della query di creazione tabella.
Unità 1
SASI DI ~ATI RELAllONALI
275
• Query di aggiornamento. Permette di modificare con un solo comando il COnte­
nùto dei campi di UDD o più record. In questo caso va indicato come deve essere
cambiato il valore (figura 5.5) .
Figura 5.5 Query di aggiornamento
• Query di eliminazione. Permette di eliminare da una o più tabelle un gruppo di
record che soddisfano i criteri della,selezione.
Query con parametri
"
"
Una query con parametri permette di fare in modo che alcuni dei valori da utilizza­
re come criteri vengano immessi direttamente dall'utente (figura 5.6) .
OIl'ENOENrE
i
dlp
cognome
,
-
---_.
Im~ttere
--"~~. ~--~,--- \
valore parametro .? ~
località "
r.parto
OInIpa: dlp
_
loWlti
=
DENn.
=-~~
DIPEND
~~EHTE
=--EDiPENoENTE
Tabella: DiPEH
Qrdl!\ll1lmlO:
I- -___- - I c - -___--t--~--_t--",..,;__-..,...,
Morna: I_ _
Crltrrt
-"v"'--_-+-_-"'''--_-+:-:=-......=''--_-l-_~'''__!
Oppu..: 1--------i~----t="-----+----:--_1
Figura 5.6 Query con "parametri
.
'
. '
.
:
Per creare una query con parametri, è sufficiente creare una normale query di sele­
zione e digitare nella ceUa Criteri una richiesta racchiusa tra parentesi quadre. Al
momento dell'esecuzìone verrà richiesto l'inserimento del parametro. È possibile"
utilizzare parametri per tutti i campi desiderati.
Campi calcolati
•
276
" In Accessè possibile eseguire diversi tipi di calcolo all'interno di una query: calcolare
la somma o la m edia dei valori contenuti in un campo, moltiplicare i valori contenuti
in due campi, oppure calcolare la data chè ricorre un mese dopo la data corrente. Un
Modulo 6
LA MEMORIZZAZIONE DEI DATI CON I DATABASE
calcolo deve essere impostato in un campo calcolato, cioè un campo di una query che
visualizza il risultato di un'espressione invece di dati memorizzati (figura 5.7).
'l'
flU!MtDGttuQI
CWQtlittl,H»
" poniIIIW
......
.0I1:0!.i
diI
...-_.
-~-
'A"nUIU
~a'
-~1.
, Cot""
o""....
g _.
,!
I
~
_ ~-=+--
I
,I.
-"""""-1
.
.B -·~ a-I l'
-r-­
.~
-+-
I
,
I
i. il!
-
rar.~
--~
f"'~ --=-=i~
•I
,..- ~~~ '.
_~,.i
~=--
~
.. ",,~
-
•
Figura 5.7 Query con campo calcolato
Il calcolo viene rieseguito ogni volta che viene eseguita la query, pertanto i risultati
sono sempre aggiornati. Non è possibile aggiornare manualmente i risultati.
Esercizio guidato
Facendo riferimento all' esercizio della lezione 3 crea una queryche presenti 1'elenco
degli im mobili in vendita a Torino.:
Analisi. Poiché si utilizzeranno solo alcune informazioni presenti nella tabella
Immobili, per prima cosa elenca i campi di tuo interesse.
variabili
nome
utilizzo
descrizione
IdA llo99 io
.
Tipo
AffittoVendita
Indirizzo
Città
output
output
output
output
out put
numero che identifica ciascuna unità immobiliare
indica il tipo di unità immobiliare
indica se l'alloggio è in vendita o in affitto
indirizzo dell'unità immobil iare
città dove si trova l'unità immobi li are
Realizzazione., Scegli di realizzare la query con la funzione Crea una query
media nte una creazione guidata e nell'apposito campo indica la tabeUa dalla
quale saranno preleva ti i dati (Immobili). Dal momento che non tutti i campi sono
coinvolti nella query, dovrai-indicare quali sono da visualizzare (figura 5.8).
C".:UDn~~.a
Qurly s..mpl ""
~1""",,d&rd.cIon_~.
I
E ~~dol*Ì"""'o~.
~~~:~~~~--------~
~
~.-..-
CN'
Figura 5.8 Scelta dei campi
Unità 1
BASI DI DATI RElAZIONAU
277
Poiché vogliamo visualizzare solo gli alloggi ìn vendita a Torino (Tipo = "A n and
= "Tori no " and Affitt o Ve ndit a = UV"), dovremo modificare la queryindi­
cando le condizioni di selezione sui campi (figura 5.9).
Ci ttà
-
AffiIloVcndlt •
. In","""
CM' .
Condizion i per effettuare la selezione
Figura 5.9 Condizione di selezione sui c.ampi
Eseguendo la query si ottiene il risultato mostrato in figura 5.10.
Figura 5.10 Risultato della query
Esercizio guidato
Tes~o. Facendo riferimento all'esercizio della lezione 3 crea un a query che presenti gli
. immobili in vendita con prezzo compreso fra 50000 e 10QOOO euro.
Analisi. Poiché anche in questo caso si utilizzeranno solo alèune informazioni presenti
n ella tabella Immobili, p er prima cosa elenca i campi di tuo interesse.
. variabilì
nome
utilizzo
descrizione
IdAlloggio
Tipo
AffittoVendita
Prezzo
output
output
output
output
numero che identifica ciascuna unit à immobi liare
indica il t ipo di unità immobilia(e
indica se l'alloggio è in vendita o in affitto
prezzo di vend ita dell'im mob ile
.
'
I)
l'
li
"
Realizzazione. Procedi con la creazione guidata della query e n ell'apposito campo
indichiamo la tabella dalla quale saranno prelevati i dati (Immobili). Dal m omento
che n on tutti i campi sono coinvolti nella query, dovrai indicare anche quali sono da
visualizzare (figura 5.11 ~.
278
Modulo 6
LA MEMORIZZAZIO!,!E DEI DATI CON I DATABASE
~nec
guidati Query Sempll_c€ ""­ _ _ __
~ ~.anp'do*d.dono"""'.4JIf1.
I
E poo:;sHt~~dal*' faboIeo4Jlf1.
Figura 5.11 Campi da visualizzare
Poiché vogliamo visualizzare solo gli alloggi {Tipo = "A") in vendita (Affitto
Vendita = " V'') con prezzo compreso fra 50000 e 100000 eur.o (P r e zzo > 50000 a n d
Prezzo < 100000 ), dovrai modificare la query indicando le condizioni di selezione
sui campi interessati (figura 5.12).
x
~:~: I ~~~ru
~-~~~o~m
~----i~~T=~-T.~
Ordhuulu:ntQ;
~:~
Oppure.
' ~V'----+.=
A 'C ­
__
...
v'----~~"V'
:=_-"'''----_'_=
I~------r----------'----------------+--
Figura 5.12 Condizione di selezione , Eseguendo infine la query otterremo il riswtato mostrato in figura 5.13. Preuo
llpo
•
~
'IftI;O
(tiQ
Figura 5.13 Risultato della query
Unità 1
BASI DI DATI RELAZ10NALI
279
LUI"'~...-:iiI~
Visualizzazione dei dati
La visualizzazione dei dati puo awenire utilizzando query, mas.chere oppure report.
I report
Un report si può creare basandosi su una tabella o su una query. Come per l a
masch era la realizzazione può essere svolta tramite la creaiione guidata oppure
tramite la modalità Visualizzazione struttura. È possibile modificare la collocazio­
ne dei campi di dati e le intestazioni all'interno di un report. Una caratteristica
utile dei report è quella di potere raggruppare i risultati secondo i valori comuni di
uno o più campi.
.
'.,
È inoltre possibile modificare la struttura dei reportin modo analogo a quello utiliz­
zato per le maschere, così come si possono inserire, sempre in analogia con le
maschere, i controlli.
Nei report è possibile inserire, nell'intestazione e nel piè di pagina, n umerose infor­
mazioni come il numero di pagina, la data o altri dati.
Esercizio guidato Testo. Facendo riferimento all' esercizio della lezione 3 crea un report che presenti
l'elenco degli immobili raggruppati per città e in ordine decrescente di prezzo.
Analisi. Poiché si vuole ottenere l'elenco degli immobili raggruppari per città in ordi­
ne decrescente di prezzo, nel report dovranno comparire solo alcune delle infonna­
zioni presenti nella tabella Immobili.
variabili
nome .
utilizzo
IdAlioggio
Tipo
Città
Prezzo
o utput
out put
out put
o utput
descrizione
-
numero che ident ifica ciascuna u nità immobi liare
indica il tipo d i uni t à immobIlia re
città dove si t rova l'unit à immobi liare
prezzo di vendita o di affi tto mensile dell 'unità immobiliare
Realizzazione. Scegli di creare il report mediante la creazione guidata e inserisci solo
i c"ampi interessati prelevandoli dalla tab,eIla Immobili (figura 6.1).
/
Figura 6.1 Scelta dei campi
280
Modulo 6
LA MEMORIZZAZIONE DEI DATl CON I DATABASE
. Poiché nel report si vogliono visualizzare gli immobili raggruppati per città, occorre.
aggi ungere un livello di gruppo selezionando il campo Città come illustrato nella
figura 6.2.
lOtta
, TIIIl, Pre:zJt,
I~I I ~· I~~
Figura 6.2 Selezione del campo Città·
Va inoltre scelto 1'ordinamento con cui si devono mostrare i dati. Basta indicare nella
. apposita casella il campo Prezzo e selezionare l'ordinamento decrescente (figura 6.3).
Al termine il report risul tante sarà quello della figu ra 6.4.
--=--.,,-,
----,-- ­
~1,.,.ct .._ . ~4nooiogodo-'per, ...."O!1l ddl;ttagIo.
ÈpoooibIo_ I ..--d .. b050od..,_ 6 ,*,"tIro ~ ..
_aestSlllo o doa_.
.
..-=-_____
:=
-"8
..... 1
l
~.
--------
,flMMOBILI
!
i
i
J
,--I_ _ _ _ _ _.....liwl I S4!e!!!1. .!
!
L;-- - ---- ­3--' : . er=.. 1
~___ ___~vl l ~m I
­
"" ......
,.....,
5V
""""
....
4 v
.......
"""'"
i
. J
-
56OIlOO
J«II)
8 A
6v
, A
7 A
i
. I _~ Il %N*i
0
Figura 6.4 Il report fi nale
Figura 6.3 Ordinamento decrescente
Quale differenza c'è tra una maschera e un report?
2 Un report si può fare solo su t abelle o anche
su q uery?
:3
Quale nome deve avere un repo rt?
4 Qua li sono le modalità con cu i puoi creare un
report?
Unità 1
BASI DI DATI RELAZIONAU
281
Basi di dati relazionali'
lEZIONE 6.1.1 Che cosa è una base di dati
Una base d i dati permette di gestire insiemi di dati st rutturat i senza ridonda nze inut il i. Il modello rel a­
zionale è basato sulla rappresentazione dei dat i t ram ite re lazioni (o tabelle). È f acile da util izzare ed è il
mo dello attualm ente più diffuso.
LEZIONE 6.1.2 Basi di dati con Microsoft Access
Access è un DBMS molto utilizzat o per, la realizzazione di semplici basi di dati rela zional i. È f acile da uti­
lizzare poiché possiede un'interfaccia grafica molto semplice. Viene impiegato anche per r ealizzare pic- .
'coli database aziendali .
LEZIONE 6..3 Le tabelle in Access
Veng ono mostrate, attraverso un esercizio guidato, la creazione e la definizione dei campi delle tabelle.
che compòngono un database relazionale attraverso i co mandi Microsoft Access 2007.
LEZIONE 6. .4 Inserimento dei dati
Viene proposto un esercizio in cui vengono inseriti i dati in una tabe lla precedentemente creata attraver­
so l'utili zzo dell e maschere. Le maschere permettono di inser.ire o visuali zza re o modificare i dat i presen­
ti in Una t abella.
CEllONE 6.1.5 Le query
Una query è un'interrogazion e di un a base di dati, essa può agire su una o più t abe lle e dà come risu lta­
to una tabel la. In Access è possibil e defini re diversi tip i di query e una query può essere realizzata in crea­
zion e g uidata o definendo ne la struttura, oppure attraversa la codifica SQL.
LEZIONE 6.1w6 Visualizzazione dei dati
Il metodo più adatto per visuaHzzare i dati è quell o di costruire un report. Access offre la possibil ità di
costru ire i report inseren do i campi contenuti in una o più tabell e e campi non associati direttament e a
ta belle, ma ottenuti come risu ltato di operazioni.
er l'orale prova a rispondere e poi verifìca
Che cosa è una base di dati?
MPl
"11
Quali sono le caratterist iche del mode llo rel azionale?
Quali sono le caratterist iche di Access?
.. L2
Ch e cosa co nti ene una t abella?
Come si definisce la chiave primaria d i una t abella?
.. L3
Co me avviene l'inserimento dei dati in una tabella?
.. L4
Elenca .Ie caratteristiche d i una maschera e come si defin isce in Access.
.. L4
.. LS
Che cosa è una query?
Elenca i ti pi d i query che possono essere definite in Access e il loro uso.
" .LS
Che cosa è un campo calcolato? .
.. LS
A che cosa servono i re port?
.. L6
Come possono essere def inite le maschere e i report in Access? .
282
Modulo 6
.LA MEMORIZZAZIONE DEI DATI CON I DATABASE
.. L4, L6
M odul o 5
La memori zzazione dei dati con i database
16 Il DB M S è:
Domande Vero/Falso . 1 punto per risposta esatta
1
Relazione è sinonim o di tabella
m
M
Mm
Mm
2
Un report serve per inserire i dati in una tabella
3
Una maschera serve per vi sualizzare i dati
4
Una t abe lla contiene sulle righe i campi dèl re cord
5
Mm
. M fIl
Mm
Una tabella contiene sulle righe le occ or r~ n ze
6
Una query genera una nuova tabella
7
Una chiave pri maria può contenere du plicati
[2]
8
DB M Svuoi dire Data Base Management System
M
9
M icrosoft Access è un DBMS re lazion ale
lYl
a una parte del sistema operativo
b il progettista della base d i dati
c un modulo del sistema operativo per la gestione dei
file
d un software per la gestione di una base di dati
Domande aperte . 5 punti per risp osta esatta
17 Cost ru isci un report per visualizzare i campi nome, co­
gnome ed età della tabella Dipendenti in ordine alfa­
betico.
m
18 Descrivi i passi necessa ri per creare una query conte­
nente i dipendenti di età su periorea l!na data età.
m
20 Com e si inserisce un campo calcolato in una query?
m
19 Ache cosa servono le query di selezione? .
21 Come si possono definire i campi di una tabella?
Qual è la risposta giusta7
3 punti per risposta esatta
10 Una masche ra serve per:
a
b
.c
d
ottenere una nuova tabell a da una gi à esistente
visualizzare, inserire e mod if icare dati
visualizzare dati
rappresentare Una base di dati
11 Un a query serve per:
.a
b
c
d
ottenere una nuova tabella da una già esistente
visualizzare, inserire e modificare dati
visualizzare dati
rappresentare una base di dati
12 Vn report serve per:
a ottenere una nuova tabella da una già esistente
b visualizzare, inserire e modif icare dat i
22 Che cosa sono le rego le di convalid a e come possono
essere def in ite?
23 Defin isci la t abella Abitanti in grado di contenere i da­
ti relativi agli abitanti di una città ..
24 Defin.isci una maschera per l'inserimento dei dati nella
tabella Ab itanti.
25 Costruisci una query in Visualizzazione struttura che
contenga tutti i dati degli st udenti della Facoltà di In­
formatica di Torin o laureatisi con il massimo dei voti .
26 Costru isci una base di dati in grado di contenere i dati
dei DVD che possiedi.
27 Costruisci un report in cui siano visibili i DVD suddivisi
per autore.
28 Costruisci un a qu ery per mettere insieme i dati di due
tabelle con la stessa struttu ra .
c visualizzare dat i
d rappresentare una base di dat i
13 Una riga di una t abella cont iene:
a un'istanza dell'ogget t o rappresent ato dall a tabell a
b dati appartenenti a oggetti diversi della realt à
c attributi defi niti sullo stesso dominio
d un'informazione elementare
29 Elenca i diversi tipi di query e spiegane le caratteristi­
che.
30 Def inisci una base di dati per la memorizzazione dei
dati relat ivi ai partecipa nti a una gara di at letica, pre­
ved i la st ampa della classifica fi nale.
14 Un attributo è rappresentato da:
a una riga di una tabella
buna colonna di una tabe lla
c una chiave pri mari a ­
d una chiave seCondaria
15 È possibile modificare un report:
....... X 3
..... ... ./100
Modulo 6
, \
.. ...... . X 1
Totale risposte Scelta
Totale risposte Ap erte
a al momento della sua visualizzazione
b quando non contien e campi ca lcolati
c aprendolo in Visuali zz azione struttura
d quando ha una struttu ra semplice
=............... =.............. . ... ... ... X 5 =.. ._.. ......... Totale risposte Vero/f also
LA MEMORI ZZAZIONE DEI DATI CON I DATABASE
283