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