Paolo Camagni
Riccardo Nikolassy
INFORMATICA
PER L’AZIENDA
Edizione BLU
AMMINISTRAZIONE, FINANZA
E MARKETING
Nuova Edizione OPENSCHOOL
Sistemi informativi, web
e database
Edizione OPENSCHOOL
1
LIBRODITESTO
2
E-BOOK+
3
RISORSEONLINE
4
PIATTAFORMA
HOEPLI
INFORMATICA
PER L’AZIENDA
PAOLO CAMAGNI
RICCARDO NIKOLASSY
Informatica
per l’azienda
EDIZIONE BLU
Nuova Edizione OPENSCHOOL
Amministrazione, Finanza e Marketing
Sistemi informativi,
web e database
EDITORE ULRICO HOEPLI MILANO
Copyright © Ulrico Hoepli Editore S.p.A. 2015
Via Hoepli 5, 20121 Milano (Italy)
tel. +39 02 864871 – fax +39 02 8052886
e-mail [email protected]
www.hoepli.it
Tutti i diritti sono riservati a norma di legge
e a norma delle convenzioni internazionali
Presentazione
Il testo è destinato all’insegnamento dell’Informatica, previsto dal nuovo ordinamento per
l’articolazione Amministrazione, Finanza e Marketing degli Istituti Tecnici settore Economico,
dove la materia è svolta nel terzo e quarto anno di studio.
La novità dell’opera, concepita secondo le recenti indicazioni ministeriali, è l’integrazione
tra testo cartaceo e risorse digitali, con materiali multimediali che completano l’esposizione e stimolano l’interesse degli studenti. Il testo cartaceo è snello ed essenziale ed è
in stretta sinergia con la parte digitale, con il sito www.hoepliscuola.it e, a discrezione del
docente, con la piattaforma didattica.
Questa nuova edizione, inoltre, recepisce le indicazioni ricevute dai docenti che hanno in
uso la precedente edizione; in particolare sono state aggiornate e arricchite le sezioni che
riguardano l’azienda. Le unità di apprendimento concernenti il progetto dei database e il
linguaggio HTML sono state ristrutturate e revisionate, arricchendo i contenuti e riorganizzando la presentazione degli argomenti.
Il volume si articola in unità, ognuna suddivisa in più lezioni. Ciascuna lezione ha una struttura innovativa e cerca di essere una reale guida per l’apprendimento; essa, infatti, risulta
essenziale nei contenuti ma ricca di esempi e di procedure guidate: per ogni esempio
vengono proposte soluzioni guidate passo passo.
Metodologia e strumenti didattici
Le finalità e i contenuti dei diversi argomenti affrontati sono descritti dagli obiettivi generali
e dalle indicazioni In questa lezione impareremo; alla fine di ogni lezione, per lo studente
sono presenti esercizi, anche interattivi, di valutazione delle conoscenze e delle competenze raggiunte, suddivisi in domande a risposta multipla, a completamento, esercizi con
procedure guidate.
Caratteristiche della nuova edizione
La Nuova Edizione Openschool consente di:
◗◗ scaricare gratuitamente il libro digitale arricchito (eBook+) che permette in particolare di:
eseguire tutte le esercitazioni a risposta chiusa in modo interattivo;
accedere ai diversi video tutorial;
accedere alle gallerie di immagini;
scaricare gli approfondimenti tematici, le lezioni e le unità integrative.
◗◗ disporre di ulteriori esercitazioni online utilizzabili a discrezione del docente per classi virtuali
gestibili attraverso la piattaforma didattica.
Aspetti caratterizzanti
◗◗ Testo pienamente in linea con le recenti indicazioni ministeriali in merito alle nuove caratteristiche tecniche e tecnologiche dei libri misti e digitali e al loro stretto coordinamento con
la piattaforma didattica.
◗◗ Totale duttilità di utilizzo in funzione delle scelte didattiche o dotazioni tecnologiche:
• il libro cartaceo + CD-ROM consente di svolgere lezioni complete e attività di laboratorio
con l’apparato offline presente nel CD-ROM;
• l’eBook+, le risorse online e la piattaforma offrono il pieno supporto per una didattica
multimediale, a discrezione delle scelte del docente.
◗◗ Lezioni autoconclusive ricche di esempi ed esercizi, adatte a essere svolte in una lezione o
al massimo due.
◗◗ Teoria ridotta al minimo per privilegiare l’aspetto pratico.
Materiali online
Sul sito www.hoepliscuola.it sono disponibili numerose risorse online. In particolare, per lo
studente: approfondimenti, utili integrazioni del testo e un numero elevato di esercizi sia per
il recupero e il rinforzo sia per l’approfondimento degli argomenti trattati. Per il docente,
una sezione riservata presenta alcune unità didattiche per l’approfondimento delle tematiche affrontate e un insieme di schede aggiuntive per la verifica dei livelli di apprendimento
degli studenti, nonché lezioni (sotto forma di presentazioni in PowerPoint), utilizzabili efficacemente anche con le LIM. Materiali ed esercizi possono essere usati anche per creare attività
didattiche fruibili tramite la piattaforma didattica accessibile dal sito.
CD-ROM per lo studente
Il CD-ROM per lo studente allegato al volume contiene i file degli esempi, nonché il materiale necessario per eseguire le procedure guidate passo passo degli esercizi svolti e da
svolgere e le simulazioni informatiche di fine lezione e di fine unità. Contiene gli esempi dei
codici presenti nel libro di testo.
Struttura dell’opera
ZOOM SU...
Piccole sezioni
di approfondimento
OSSERVAZIONI
Un aiuto per comprendere
e approfondire
PROCEDURE
STEP BY STEP
Esposizioni semplici
ed essenziali mediante
procedimenti passo-passo
PROVA ADESSO!
Per mettere in pratica,
in itinere, quanto appreso
nella lezione
ESERCIZI
Ampia sezione di
esercizi
per la verifica delle
conoscenze e delle
competenze
VII
L’eBook+ riproduce le pagine del libro di testo in versione digitale e interattiva. È utilizzabile su tablet, LIM
e computer e consente di annotare, sottolineare ed
evidenziare il testo, salvando il proprio lavoro per poterlo
consultare e sincronizzare sui diversi dispositivi. Apposite
icone attivano i contributi digitali integrativi.
APPROFONDIMENTI
Contenuti, lezioni
e unità integrative
eBook+
ESERCIZI AGGIUNTIVI
Esercizi per il recupero
e l’approfondimento
VIDEO
Video tutorial
per esemplificare
azioni e procedimenti
ESERCIZI
Esercizi interattivi di varia
tipologia con funzione
di autocorrezione
IMMAGINI
E GALLERIE DI IMMAGINI
Per esemplificare e rappresentare
visivamente i contenuti
LINK
Rimandi interni
al volume per navigare
agevolmente
tra i contenuti
L’OFFERTA DIDATTICA HOEPLI
L’edizione Openschool Hoepli offre a docenti e studenti tutte le potenzialità
di Openschool Network (ON), il nuovo sistema integrato di contenuti e servizi
per l’apprendimento.
Edizione OPENSchOOl
+
LIBRO
DI TESTO
Il libro di testo
è l’elemento cardine
dell’offerta formativa, uno
strumento didattico agile
e completo, utilizzabile
autonomamente
o in combinazione con
il ricco corredo digitale
offine e online. Secondo
le più recenti indicazioni
ministeriali, volume
cartaceo e apparati
digitali sono integrati
in un unico percorso
didattico. Le espansioni
accessibili attraverso
l’eBook+ e i materiali
integrativi disponibili
nel sito dell’editore
sono puntualmente
richiamati nel testo
tramite apposite icone.
+
+
eBOOK+
RISORSE
OnLInE
PIATTAFORMA
DIDATTICA
L’eBook+ è la versione
digitale e interattiva
del libro di testo,
utilizzabile su tablet,
LIM e computer.
Aiuta a comprendere
e ad approfondire
i contenuti, rendendo
l’apprendimento più attivo
e coinvolgente. Consente
di leggere, annotare,
sottolineare, effettuare
ricerche e accedere
direttamente alle
numerose risorse
digitali integrative.
Scaricare l’eBook+
è molto semplice.
È suffciente seguire
le istruzioni riportate
nell’ultima pagina
di questo volume.
Il sito della casa editrice
offre una ricca dotazione
di risorse digitali
per l’approfondimento
e l’aggiornamento.
Nella pagina web dedicata
al testo è disponibile
MyBookBox,
il contenitore virtuale
che raccoglie i materiali
integrativi che
accompagnano l’opera.
Per accedere
ai materiali è suffciente
registrarsi al sito
www.hoepliscuola.it
e inserire il codice coupon
che si trova nella terza
pagina di copertina.
Per il docente nel sito
sono previste ulteriori
risorse didattiche dedicate.
La piattaforma didattica
è un ambiente digitale
che può essere utilizzato
in modo duttile, a misura
delle esigenze della classe
e degli studenti.
Permette in particolare di
condividere contenuti ed
esercizi e di partecipare
a classi virtuali.
Ogni attività svolta viene
salvata sul cloud e rimane
sempre disponibile
e aggiornata.
La piattaforma consente
inoltre di consultare
la versione online
degli eBook+ presenti
nella propria libreria.
È possibile accedere
alla piattaforma attraverso
il sito www.hoepliscuola.it.
Indice
UNITÀ DI APPRENDIMENTO 1
Progetto di database
L1 Introduzione ai database
Generalità ............................................................................................... 2
Archivi e applicazioni informatiche ............... 5
Dati, archivi e database ..................................................... 6
Funzioni di un DBMS............................................................ 9
Architettura standard a tre livelli
per DBMS (ANSI/SPARC)............................................ 11
Verifichiamo le conoscenze ..................................... 13
L2 Progettazione concettuale e logica
Generalità ........................................................................................... 14
Analisi e progettazione concettuale ............. 16
Modellazione logica.............................................................. 17
Implementazione e realizzazione................... 18
Modelli logici per le basi di dati ..................... 18
Conclusioni ...................................................................................... 22
Verifichiamo le conoscenze ..................................... 24
Verifichiamo le competenze ................................... 26
L3 Il modello E-R: entità e relazioni
Il modello E-R .............................................................................. 27
Entità ....................................................................................................... 29
Istanze ................................................................................................... 30
Relazioni (o associazioni) .......................................... 31
Classificazione delle relazioni ............................. 37
Verifichiamo le conoscenze ..................................... 44
Verifichiamo le competenze ................................... 45
L4 Il modello E-R: attributi e chiavi
Classificazione degli attributi ............................... 47
Attributi chiave .......................................................................... 49
Rappresentazione grafica
delle proprietà attributi ................................................. 57
Domini ..................................................................................................... 58
Verifichiamo le conoscenze ..................................... 62
Verifichiamo le competenze ................................... 63
L5 Il progetto di un database:
definizione del modello E-R
Introduzione ................................................................................... 64
Ristrutturazione dei requisiti ............................... 65
Nominare gli oggetti ............................................................ 68
Definizione degli oggetti ............................................... 69
La documentazione del progetto:
matrici tra entità e attributi ................................. 71
Individuare le relazioni.................................................. 73
Conclusione..................................................................................... 74
Esempio riepilogativo:
corsi estivi di recupero................................................... 75
Verifichiamo le conoscenze ..................................... 79
Verifichiamo le competenze ................................... 80
L6 Il progetto di un database: dallo
schema E-R al modello relazionale
Introduzione ................................................................................... 81
Ristrutturazione del diagramma E-R ........ 81
Fase di traduzione del modello E-R nel
modello relazionale.............................................................. 84
Un esempio completo: gestione
di dati di un archivio fotografico..................... 90
Verifichiamo le competenze ................................... 96
L7 I database relazionali
Struttura dei dati e terminologia .................... 98
Proprietà delle tabelle relazionali .............. 102
Relazioni e chiavi ............................................................... 104
Conclusioni: schema logico,
fisico e tracciato record ............................................ 107
Verifichiamo le conoscenze ................................. 108
Verifichiamo le competenze ............................... 109
XI
L8 Le regole di integrità
L’integrità dei dati .............................................................. 111
Regole di inserzione,
cancellazione e modifica ......................................... 112
Verifichiamo le conoscenze ................................. 120
L9 Operazioni relazionali
Manipolazione
di dati relazionali ................................................................ 122
Esempio riepilogativo ................................................... 129
Verifichiamo le conoscenze ................................. 132
Verifichiamo le competenze ............................... 133
L10 La normalizzazione delle tabelle
Normalizzazione ................................................................... 134
Prima forma normale .................................................... 137
Seconda forma normale ............................................ 139
Terza forma normale ..................................................... 142
Verifichiamo le conoscenze ................................. 146
Verifichiamo le competenze ............................... 146
AREA digitale
◗◗ Esercizi
◗◗ Immagini
◗◗ Tappe storiche dei database
◗◗ Tipologie di relazioni ad anello
◗◗ Diagrammi UML: regole di lettura
◗◗ UnÕaltra forma grafica di
rappresentazione attributi
◗◗ UML vs E-R
◗◗ Esercizi per il recupero
La sicurezza ................................................................................ 151
Architettura e organizzazione ......................... 151
Database di rete .................................................................... 152
Verifichiamo le conoscenze ................................. 154
L2 Il DBMS Microsoft Access
Gli oggetti di Access ....................................................... 156
I vincoli e la normalizzazione.......................... 165
La relazione uno a molti.......................................... 166
Verifichiamo le conoscenze ................................. 168
Verifichiamo le competenze ............................... 168
L3 Estrarre le informazioni con
Microsoft Access
La ricerca dei dati
nella tabella.................................................................................. 171
Le interrogazioni sui database:
le query .............................................................................................. 172
Le query su più tabelle
in relazione................................................................................... 175
Le query di aggiornamento.................................. 176
Le query di raggruppamento ............................. 177
Il riepilogo dei dati con i report ................... 179
Verifichiamo le conoscenze ................................. 183
Verifichiamo le competenze ............................... 183
L4 Esempi di database aziendali
con Access
La gestione del magazzino .................................. 190
La fatturazione........................................................................ 194
Verifichiamo le competenze ............................... 199
L5 Un DBMS di rete: MySQL
UNITÀ DI APPRENDIMENTO 2
DBMS locali e di rete
L1 La gestione dei database
mediante DBMS
Database e DBMS ................................................................ 148
I livelli di astrazione ....................................................... 150
XII
Architettura di MySQL
L’ambiente HeidiSQL
L’installazione di MySQL e HeidiSQL
L’installazione e l’avvio di HeidiSQL
La creazione del database e delle tabelle
di HeidiSQL
La creazione di un vincolo relazionale
Verifichiamo le conoscenze
Verifichiamo le competenze
Puoi scaricare la lezione 5 anche da
hoepliscuola.it
AREA digitale
◗◗ Esercizi
◗◗ Archivi e DBMS
◗◗ Sistemi centralizzati e distribuiti
◗◗ Data warehouse e azienda
◗◗ Esercizi per il recupero
UNITÀ DI APPRENDIMENTO 3
Reti di computer e
programmazione statica
nel web
L1 Reti di computer e reti
di comunicazione
Le reti di computer.......................................................... 202
Le topologie di rete .......................................................... 204
Il modello ISO/OSI e Internet ......................... 204
I dispositivi di rete ............................................................ 206
Gli indirizzi IP ......................................................................... 207
I protocolli e il routing................................................ 209
La rete Internet ..................................................................... 210
L’architettura del web .................................................. 211
I servizi di Internet .......................................................... 212
I domini, il DNS e
la registrazione di siti ................................................... 214
Proxy ...................................................................................................... 215
Verifichiamo le conoscenze ................................. 216
Verifichiamo le competenze ............................... 216
L2 Introduzione all’HTML
Il web ..................................................................................................... 217
L’HTML ............................................................................................... 218
La creazione di una pagina ............................... 222
La sintassi HTML ................................................................ 223
L’intestazione di un documento ................... 224
Il corpo del documento
(tag <body>) ............................................................................... 226
I paragrafi e la formattazione del testo . 228
La definizione del carattere ................................ 232
Verifichiamo le conoscenze ................................. 234
Verifichiamo le competenze ............................... 234
L3 Inseriamo immagini ed elenchi
nella pagina
Le immagini ................................................................................ 236
Le liste ................................................................................................. 239
Verifichiamo le conoscenze ................................. 242
Verifichiamo le competenze ............................... 242
L4 Le tabelle e gli hyperlink
Le tabelle ......................................................................................... 245
I collegamenti ipertestuali (link) ................ 249
Le mappe sensibili ............................................................ 251
Verifichiamo le conoscenze ................................. 254
Verifichiamo le competenze ............................... 255
L5 Multimedialità e moduli nelle
pagine web
Gli oggetti multimediali ............................................ 257
Inserire applet Java ......................................................... 260
Moduli e server web ........................................................ 261
Il modulo di immissione form ......................... 261
Gli elementi che compongono
i moduli (campi) .................................................................. 263
Come disabilitare i controlli ............................ 267
Verifichiamo le conoscenze ................................. 269
Verifichiamo le competenze ............................... 270
L6 Introduzione ad HTML 5
Novità di HTML 5
rispetto al passato .............................................................. 272
La struttura
di un documento HTML 5.0 ................................. 273
Immagini e oggetti multimediali.................. 280
Verifichiamo le conoscenze ................................. 283
Verifichiamo le competenze ............................... 284
L7 Introduzione ai fogli di stile
I fogli di stile............................................................................... 286
Gli stili ................................................................................................. 287
XIII
L’applicazione degli stili............................................ 289
L’applicazione degli stili in cascata ............ 293
Classi e psudoclassi ......................................................... 293
Il selettore id.............................................................................. 298
Verifichiamo le conoscenze ................................. 299
Verifichiamo le competenze ............................... 299
Il sistema azienda: tre classificazioni....... 337
Le aziende di produzione:
il sistema produttivo ...................................................... 338
Conclusioni .................................................................................. 340
Verifichiamo le conoscenze ................................. 342
L8 Il box model CSS
Introduzione ............................................................................... 343
Il sistema informativo .................................................. 344
L’informazione
come risorsa organizzativa................................... 346
Incertezza e decisioni .................................................. 346
Il sistema informatico .................................................. 348
Il ciclo di vita di un sistema informativo.. 350
Esempi di sistemi informativi .......................... 352
Verifichiamo le conoscenze ................................. 354
Il box model ................................................................................ 301
La proprietà overflow ................................................... 305
Il posizionamento dei box ..................................... 307
Verifichiamo le competenze ............................... 313
L9 Il layout con i fogli di stile
L’impaginazione dei siti web.............................. 315
Le strategie di layout..................................................... 316
Layout multicolonna ..................................................... 321
Verifichiamo le competenze ............................... 328
AREA digitale
◗◗ Esercizi
◗◗ Immagini
◗◗ Video
◗◗Usare i frame
◗◗Il fuoco dei campi modulo
◗◗Le versioni di CSS
◗◗Le unità di misura delle proprietà
◗◗Creare box con i bordi tondi
◗◗Come posizionare i contenuti
di un sito web
◗◗Layout elastico
UNITÀ DI APPRENDIMENTO 4
Azienda
e informazione digitale
L1 Conosciamo l’azienda e le funzioni
aziendali
Introduzione ............................................................................... 332
Il sistema azienda............................................................... 333
Le funzioni aziendali ..................................................... 335
XIV
L2 Sistemi informativi e informatici
L3 E-commerce: il mercato
del terzo millennio
E-commerce:
il commercio elettronico ......................................... 355
Cenni storici ............................................................................... 356
Le tappe nell’evoluzione
dell’e-commerce..................................................................... 358
Come funziona l’e-commerce .......................... 359
Segmenti di e-commerce......................................... 360
La tassazione ............................................................................. 363
Vantaggi e svantaggi dell’acquisto
su un sito e-commerce ............................................... 363
Vantaggi e svantaggi della vendita
su un sito e-commerce ............................................... 364
E-commerce oggi:
balzo del 17% nel 2013............................................... 365
Sistemi di pagamento online ........................... 366
Sicurezza delle transazioni online ............. 368
Verifichiamo le conoscenze ................................. 371
L4 Conosciamo le forme
di comunicazione commerciale
La comunicazione commerciale
Il risultato della comunicazione
commerciale
Forme tecniche della comunicazione
Verifichiamo le conoscenze
L5 Conosciamo le forme
di pubblicità
La comunicazione pubblicitaria
Perché le aziende fanno pubblicità
La campagna pubblicitaria
Pubblicità e comunicazione digitale
Verifichiamo le conoscenze
L6 Social network: una nuova
opportunità
Introduzione ............................................................................... 372
Social Network Analysis (SNA) ..................... 373
Cenni storici ............................................................................. 374
Social network
e marketing informatico........................................... 376
Dal web 1.0 al web 3.0:
social forum e web semantico ......................... 378
Verifichiamo le conoscenze ................................. 382
Puoi scaricare la lezioni 4-5 anche da
hoepliscuola.it
AREA digitale
◗◗ Esercizi
◗◗ Classificazione delle attività economiche
Ateco 2007 (fonte ISTAT)
◗◗ L’impresa e gli stakeholder
◗◗ Classificazione delle tecnologie
dell’informazione
◗◗ Microsoft Project
◗◗ Legge 196/03
◗◗ Modelli classici di sviluppo di sistemi
informatici
◗◗ E-commerche: i numeri e i trend in Europa
◗◗ Social Networking
APPENDICE
Progettazione di pagine web
L1 Progettare pagine web:
Dreamweaver
Ambiente di lavoro
Impostazione del sito
Definizione di una cartella remota
Caratteristiche della pagina
Elementi di base
Livelli (layer)
Immagini interattive
Comportamenti
Frame
L2 Modelli e animazioni nelle pagine web
Moduli
Inserimento dei campi
Stili
Creazione di una nuova pagina
Dreamweaver e XML
Dreamweaver e le animazioni
L3 Usabilità e accessibilità dei siti web
La fase di progettazione
Principi di usabilità
Prima regola: guardare gli altri
Il test di usabilità
L’accessibilità
Come utilizzare il coupon per scaricare
la versione digitale del libro (eBook+)...... 384
XV
UNITÀ DI APPRENDIMENTO
Progetto
di database
1
L1
L2
L3
L4
L5
Introduzione ai database
Progettazione concettuale e logica
Il modello E-R: entità e relazioni
Il modello E-R: attributi e chiavi
Il progetto di un database: definizione del
modello E-R
L6 Il progetto di un database: dallo schema E-R
allo schema relazionale
L7 I database relazionali
L8 Le regole di integrità
L9 Operazioni relazionali
L10 La normalizzazione delle tabelle
Conoscenze
•
•
•
•
Comprendere le necessità dei database
Conoscere i vantaggi di un DBMS
Utilizzare modelli per descrivere processi aziendali
Individuare le entità e le relazioni tra le entità all’interno di
una situazione complessa
• Acquisire la conoscenza degli aspetti funzionali e
organizzativi di una base di dati
• Conoscere il concetto di dipendenza funzionale
• Comprendere le motivazioni alla base della
normalizzazione
Competenze
•
•
•
•
Utilizzare lo schema concettuale dei dati E-R
Utilizzare il modello logico dei dati
Utilizzare gli operatori relazionali
Rispettare le regole di integrità
Abilità
•
•
•
•
AREA digitale
◗◗ Esercizi
◗◗Immagini
◗◗Tappe storiche dei database
◗◗Tipologie di relazioni ad anello
◗◗Diagrammi UML: regole di lettura
◗◗Un’altra forma grafica di
rappresentazione attributi
◗◗UML vs E-R
◗◗Esercizi per il recupero
Applicare le gerarchie di generalizzazione
Utilizzare le potenzialità di una base di dati relazionale
Applicare le regole di normalizzazione
Progettare basi di dati relazionali
Esempi proposti
Consulta il CD-ROM in allegato al volume
Soluzioni (prova adesso, esercizi, verifiche)
Puoi scaricare il file anche da
hoepliscuola.it
LEZIONE 1
Introduzione
ai database
In questa lezione impareremo...
◗◗ i◗limiti◗degli◗archivi◗classici
◗◗ in◗che◗cosa◗consiste◗un◗DBMS
◗◗ le◗caratteristiche◗e◗le◗prestazioni◗di◗un◗DBMS
■■ Generalità
In ogni applicazione informatica, dalla più complessa alla più semplice, vengono trattate
informazioni ed è necessario che queste informazioni vengano memorizzate in modo permanente per essere successivamente utilizzate in successive elaborazioni.
La memorizzazione delle informazioni in fle di record mediante un linguaggio di programmazione è un’operazione complessa, laboriosa e pesante da un punto di vista computazionale; inoltre le tecniche classiche di organizzazione degli archivi su memoria di massa non
sempre corrispondono adeguatamente alle strutture dei dati che devono essere rappresentati, che aumentano di complessità con l’aumento delle dimensioni della situazione che
deve essere gestita.
ESEMPIO
Si pensi alle differenze dimensionali e di complessità tra la gestione dei dati archiviati in
una agenda telefonica personale di un telefono cellulare e quelli di una contabilità aziendale.
Inoltre in ogni azienda sono sempre molteplici le esigenze e le necessità di memorizzare
ed elaborare le informazioni che solitamente sono tra loro totalmente disomogenee: si
pensi alla gestione degli stipendi e alla pianifcazione della produzione, alle contabilità e al
magazzino ecc.
2
Introduzione ai database
Lezione 1
Ogni programma (funzionalità) avrà la necessità di avere una propria organizzazione dei
dati che generalmente risulta di diffcile modifcabilità e adattabilità alle altre situazioni e
attività.
Per affrontare in modo semplice, organico e fessibile tutte le situazioni che quotidianamente si incontrano nelle aziende è necessario utilizzare strumenti più potenti per gestire
le informazioni: questi strumenti sono i database.
Attraverso i database è possibile memorizzare e gestire in modo fessibile ed effciente le
informazioni che sono “il vero patrimonio di ogni organizzazione”.
Ogni applicazione software presente in ciascuna organizzazione deve poter facilmente:
◗■ ricercare e recuperare le informazioni in base a determinati criteri di ricerca;
◗■ selezionarle e raggrupparle secondo esigenze operative;
◗■ aggiungerne di nuove;
◗■ modifcarle aggiornandone il valore nel tempo;
◗■ cancellare quelle che non hanno più contenuto informativo utile.
ESEMPIO
Per avere un’idea di che cosa s’intende per informazione che deve essere elaborata basta pensare ai dati che devono essere gestiti dall’uffcio anagrafe di un Comune, oppure
alla contabilità di una grande azienda, alla gestione delle vendite o alla gestione dei conti
correnti di una banca, alle prenotazioni di un albergo o di un’agenzia turistica o di un aeroporto.
AREA
digitale
Schemi di database aziendale
Zoom su...
PROGETTO DI DATABASE
Il progetto di database si fonda sulla teoria delle basi di dati che studia come organizzare al
meglio grandi quantità di informazioni per poterle gestire in modo:
◗■ semplice, in quanto le informazioni devono essere facilmente utilizzate da applicazioni e
utenti differenti;
◗■ efficiente, perché l’utilizzo delle risorse deve essere ottimizzato rispetto al tempo e allo
spazio:
– effciente utilizzo del processore;
– effciente utilizzo della memoria;
◗■ efficace, nel senso che le informazioni devono essere rappresentative della realtà che si
vuole analizzare;
◗■ sicuro, in quanto le operazioni sui dati sono permesse solo a utenti autorizzati;
◗■ solido: deve resistere a disfunzioni ed errori, come guasti al computer o alla rete oppure
all’errore di un operatore che chiede un dato inesistente;
◗■ condiviso: deve permettere a più utenti di accedere contemporaneamente ai dati.
3
UdA 1
Progetto di database
Da quanto detto possiamo dare una prima defnizione di base di dati
BASE DI DATI
Una base di dati o database può essere considerata come una raccolta di dati progettati in modo tale da poter essere utilizzati in maniera ottimizzata da differenti applicazioni e da utenti diversi.
In questa lezione si vuole presentare la teoria comune a tutti i database e descrivere i principi fondamentali che ne guidano la creazione e la gestione.
Nella prossima lezione viene fatta una classifcazione delle diverse tipologie di database
esistenti per soffermarsi ad analizzare il modello relazionale che, tra tutti i tipi di database, è sicuramente quello più utilizzato oggi in tutti gli ambienti di sviluppo software: ha il
grosso vantaggio di basarsi su una teoria matematica ben nota e consolidata, largamente
conosciuta e utilizzata in tutto il mondo.
Indipendentemente dal produttore del database, che sia Oracle oppure Microsoft, la teoria
che sta alla base è la stessa e quindi, una volta acquisita, permette di utilizzare qualsiasi
tipo di database relazionale.
Necessità dei database
Abbiamo detto che le informazioni necessarie a un’organizzazione sono gestite da un sistema informativo.
SISTEMA INFORMATIVO
Un sistema informativo è un insieme organizzato di strumenti automatici, procedure
manuali, risorse umane e materiali, norme organizzative, orientato alla gestione delle
informazioni rilevanti per un’organizzazione.
Quindi ogni informazione e in qualunque formato essa sia fa parte del sistema informativo aziendale.
SISTEMA INFORMATICO
Un sistema informatico (spesso chiamato EDP, Electronic Data Processing) è un sottoinsieme del sistema informativo che si dedica alla gestione automatica delle informazioni, rappresentate mediante dati digitali.
In prima analisi il sistema informatico (SI) è costituito dagli archivi elettronici in cui sono
memorizzati tutti i dati relativi all’azienda e cioè:
◗■ dai supporti fsici per la memorizzazione dei dati;
◗■ dalle procedure di interrogazione per la ricerca delle informazioni (applicazioni);
◗■ dagli strumenti di comunicazione tra i terminali degli operatori.
In base alla loro natura possiamo individuare due componenti nel SI:
◗■ archivi e applicazioni: componente software;
◗■ supporti fsici e strumentazione: componente hardware.
Noi ci occuperemo della componente software.
4
Introduzione ai database
Lezione 1
■■ Archivi e applicazioni informatiche
ARCHIVIO E APPLICAZIONE INFORMATICA
Defniamo:
◗■ archivio: l’insieme dei dati che vengono salvati su un supporto di memorizzazione;
◗■ applicazione informatica: la componente del sistema informatico (SI) che utilizza dati
in esso immagazzinati per compiere una funzione specifca all’interno dell’organizzazione cui il SI appartiene.
Analizziamo una generica azienda che non utilizzi i database e dove siano presenti diverse applicazioni informatizzate: lo schema di elaborazione tradizionale è rappresentato in
fgura, dove dati e applicazioni si presentano strutturati in modo autonomo e disgiunto:
Applicazione 1
Applicazione 2
Applicazione 3
Dati
Applicazione 1
Dati
Applicazione 2
Dati
Applicazione 3
Ogni singola applicazione
opera su un insieme di dati
memorizzati secondo una
struttura defnita all’interno dell’applicazione stessa
dall’analista e dal programmatore; ogni applicazione
viene realizzata in modo da
rendere massima l’effcienza della stessa indipendentemente dalle presenza o
meno delle altre applicazioni.
In un sistema di questo tipo ogni applicazione opera in maniera del tutto indipendente o
quasi dalle altre applicazioni, facendo uso dei propri dati e dei propri programmi.
Le varie applicazioni risultano essere isolate le une dalle altre anche se fanno parte dello
stesso sistema: in particolare questo comporta dei problemi quando è necessaria la condivisione di dati da parte di due o più applicazioni oppure quando un’applicazione utilizza i
dati forniti da un’altra applicazione, come ad esempio la fatturazione e la contabilità.
ESEMPIO
Un “classico” problema si verifca nel caso frequente in cui due applicazioni differenti lavorano utilizzando i dati da uno stesso fle e una di esse ha bisogno di apportare delle modifche alla struttura dei dati (per esempio deve aggiungere un nuovo campo in un record):
sarà necessario modifcare anche la descrizione dei dati interna all’altra applicazione, anche se quest’ultima non utilizza il campo che è stato aggiunto.
5
UdA 1
Progetto di database
A volte l’operazione di modifca contemporanea di tutte le applicazioni che utilizzano uno
stesso fle non è sempre facilmente eseguibile e capita spesso di dover arrivare a duplicare
i fle, con conseguenze facilmente intuibili! Si può per esempio arrivare al caso estremo
in cui gli stessi dati vengono ripetuti tante volte quante sono le applicazioni che devono
usarli con conseguente spreco di memoria e con il
rischio di introdurre inconsistenze ed errori.
Applicazione 1
Applicazione 2
Inoltre l’accesso ai dati avviene solo tramite le
applicazioni che li hanno generati, cioè tramite
programmi specializzati, limitando di conseguenza le possibilità di estrarre ulteriori informazioni
dagli stessi mediante elaborazioni autonome: per
ottenere risultati diversi da quelli previsti dall’applicazione è necessario realizzare nuove procedure specifche per le nuove richieste con notevole
dispendio di tempo e denaro.
Dati
Applicazione 1
Dati
Applicazione 2
■■ Dati, archivi e database
Per cercare una soluzione ai problemi sopra individuati si è pensato a un sistema in grado
di “contenere” tutti i dati necessari alle diverse applicazioni, in modo da averne una sola
copia, unica e sempre aggiornata, disponibile a tutti i programmi; questo sistema deve essere inoltre in grado di permettere l’accesso simultaneo (concorrente) a più utenti, anche
con applicazioni diverse e scritte in linguaggi di programmazione diversi.
Questo sistema deve essere in grado di offrire “una interfaccia” molto semplice verso i dati
e mettere a disposizione uno specifco linguaggio per rendere possibile questa operazione:
inoltre deve poter permettere di modifcare la struttura dei dati senza che le applicazioni
“già funzionanti” ne risentano in qualche modo, cioè “non se ne accorgano neppure”.
Lo strumento che abbiamo appena decritto è proprio il database: il database è quindi
composto dall’insieme degli archivi (tabelle) di tutte le applicazioni aziendali e raccoglie
univocamente tutti i dati, li organizza e li gestisce.
La principale caratteristica del database è quella di considerare solo i dati, cioè di separare
completamente i dati dalle applicazioni.
Nei programmi che gestiscono dati scritti fno a ora abbiamo sempre defnito come prima
cosa il tipo di dato strutturato che rappresenta il record e questo nuovo tipo di dato viene
successivamente utilizzato per memorizzare le informazioni nell’archivio ed elaborarle estraendone informazioni. Senza rendercene conto abbiamo effettuato la separazione della “manipolazione” dei dati dalla loro defnizione.
Un passo fondamentale nella defnizione dei dati di un database consiste nella descrizione
di come sono formati i record, ovvero il numero, il nome e i tipi di dato che essi contengono, oltre ad altre informazioni complementari.
Dato che ogni applicazione deve utilizzare gli stessi archivi e, come detto prima, deve essere possibile modifcare il formato dei record senza modifcare le applicazioni, nasce la
necessità di “includere” la descrizione dei dati con i dati stessi, in modo che qualunque
programma li possa interpretare correttamente.
6
Introduzione ai database
Lezione 1
ESEMPIO
Se si prova ad aprire un qualunque fle di dati con un editor di testo si scopre che non è
più possibile (o è diffcoltoso) interpretare i dati che vi sono salvati. Questo signifca che
la massa dei dati, presa in modo autonomo dalla loro defnizione, diviene sostanzialmente
inutile.
Nei database la defnizione dei dati e i dati stessi sono salvati all’interno dello stesso database.
Lo schema di progettazione per le applicazioni con un archivio convenzionale risulta molto
diverso rispetto allo schema di progettazione con un database, in quanto nel secondo caso
sia i dati sia la loro defnizione sono salvati all’interno dello stesso contenitore (il database).
Se si usano archivi convenzionali la defnizione dei dati è parte integrante dell’applicazione.
Archivio
Utente
Applicazione
Definizione dati
Con l’utilizzo di un database la defnizione della struttura dei dati è indipendente dall’applicazione.
DataBase
Utente
Definizione dati
Applicazione
Nel secondo caso è però necessario stabilire una interfaccia che tra le diverse applicazioni
e i dati, in grado di interpretare la defnizione della loro struttura, possa recuperarne la
posizione fsica e li possa gestire.
Questo componente si chiama DBMS
DBMS
Si defnisce DBMS (Database
Management System) il sistema di gestione del database
visto nel suo complesso. Il DBMS si
preoccupa di gestire interamente i dati,
compresa la loro defnizione e il modo
in cui vengono fsicamente archiviati.
DATI
DBMS
Utente
Applicazione
Database
7
UdA 1
Progetto di database
Nel seguito della trattazione vedremo più in dettaglio tutte le funzioni di un DBMS: vediamo un esempio che ci permette meglio di comprendere la necessità di separazione tra dati
(e loro defnizione) e applicazioni.
ESEMPIO
Un cliente chiede un’applicazione per la gestione di un magazzino. È importante che gli
utenti dell’applicazione possano lavorare su parti diverse della gestione (carico/scarico) contemporaneamente. Chi si occupa del carico (arrivo della merce) utilizza un PC da tavolo
tradizionale. Chi invece si occupa dello scarico (vendita della merce) utilizza un terminale a
radiofrequenza per leggere i codici a barre degli oggetti che vengono prelevati dal magazzino.
Nella sua forma più semplice, possiamo pensare che l’applicazione per il nostro cliente
possa essere gestita con una classica applicazione con i fle. Resta tuttavia il problema dei
terminali a radiofrequenza: questi sono dei piccoli computer a tutti gli effetti che, però,
non offrono la stessa fessibilità propria dei PC tradizionali e con ogni probabilità supporteranno un linguaggio di programmazione (per esempio, Java o C#) diverso da quello nel
quale è stata scritta l’applicazione del PC fsso.
A questo punto è chiaro come poter tenere ben distinte l’applicazione e i dati (con la loro
defnizione) diventa non solo importante, ma indispensabile: se così non fosse, fornire
l’applicazione al nostro cliente diventerebbe o impossibile o perlomeno molto più oneroso.
Analizziamo ora un ulteriore insieme di vantaggi che si ottengono utilizzando i database,
partendo da un secondo esempio.
ESEMPIO
Supponiamo di voler registrare le informazioni relative agli ordini di materiale elettrico
fatti da alcuni clienti di un’impresa. In base alle più tradizionali tecniche di gestione degli
archivi è possibile strutturare i dati in due archivi, Clienti e Ordini, contenenti rispettivamente le informazioni relative ai clienti e quelle relative agli ordini fatti dai clienti.
Clienti
Cod_Cliente
Cognome
Nome
Indirizzo
Città
010
Rossi
Pino
Via Milano, 15
Como
020
Verdi
Giuseppe
Via Italia,1
Milano
030
Neri
Piero
Via Colombo,3
Varese
Ordini
Cod_Cliente
8
Cod_Articolo
Descrizione
Prezzo
Quantità
010
M03
Lampadina 1000 W
2,00
3
010
M12
Deviatore
3,00
1
010
M04
Antenna
25,00
3
020
M03
Trasformatore
60,00
2
020
M03
Lampadina 1000 W
2,00
2
020
M12
Deviatore
3,00
1
030
M03
Trasformatore
60,00
2
Introduzione ai database
Lezione 1
Possiamo subito individuare alcuni problemi legati al tipo di organizzazione dell’archivio:
◗■ esistono dati ripetuti: la descrizione dell’articolo viene ripetuta per ogni movimento (ridondanza dei dati);
◗■ nascono problemi di incongruenza dei dati a causa della ridondanza: se un dato di un
articolo viene modifcato, tale modifca dovrà essere apportata a tutti i record che hanno
quell’articolo (si pensi, per esempio, al caso dell’aumento di prezzo della lampadina oppure alla modifca della descrizione di un prodotto);
◗■ nascono problemi di inconsistenza a causa dell’incongruenza: si potrebbero avere due
valori diversi per lo stesso dato senza poter quindi risalire al valore corretto (se venisse
aggiornato solo un prezzo della lampadina non si è in grado di sapere “effettivamente”
quanto costa una lampadina!).
Questi problemi nascono dal fatto che i dati contenuti negli archivi non sono organizzati
in modo integrato tra loro.
Vanno ad aggiungersi a quelli prima descritti in merito alle applicazioni, cioè:
◗■ impossibilità di modifcare la struttura di un record senza generare di conseguenza a cascata un insieme di modifche in tutti i programmi che utilizzano quel fle (dipendenza
logica);
◗■ scarsa fessibilità in caso di nuove esigenze che potrebbero essere irrealizzabili a causa
della struttura degli archivi: l’organizzazione scelta per memorizzare i dati vincola il programmatore nell’uso delle operazioni che si possono effettuare sugli archivi (dipendenza
fsica);
◗■ i dati contenuti negli archivi possono inoltre essere trattati solo elaborando i fle record
per record.
La teoria dei database introduce una nuova metodologia di organizzazione degli archivi di
dati con l’obiettivo di superare i limiti appena descritti.
■■ Funzioni di un DBMS
Abbiamo detto che il DBMS (Database Management System) si preoccupa di gestire interamente i dati, compresi la loro defnizione e il modo in cui vengono fsicamente archiviati.
Il DBMS si colloca tra i programmi applicativi e i fle e si occupa di gestire i dati, inserendoli
fsicamente sui supporti magnetici e recuperandoli da essi man mano vengono richiesti
dalle applicazioni che operano sulla base di dati.
Programma 1
Programma 2
Programma 3
DBMS
Database
9
UdA 1
Progetto di database
Possiamo riassumere le caratteristiche fondamentali di un DBMS in pochi punti; in generale possiamo dire che un DBMS deve:
◗■ gestire grandi quantità di dati: i dati hanno dimensioni maggiori della memoria centrale
e i DBMS devono gestire i dati in memoria secondaria;
◗■ garantire la condivisione dei dati che devono poter essere usati da applicazioni e utenti
diversi secondo proprie modalità;
◗■ garantire la persistenza dei dati che devono durare nel tempo, oltre le singole applicazioni.
Inoltre un DBMS deve offrire all’utente diverse funzionalità che lo aiutano nella gestione e
lo sviluppo di applicazioni che fanno uso del database (per esempio interfacce grafche per
l’amministrazione).
Tralasciando questo ultimo aspetto, che dipende dal produttore del DBMS, possiamo approfondire i punti precedenti
Gestione
Gestire una grande quantità di dati non signifca solo riuscire a manipolare grandi spazi su disco
o su memoria, quanto piuttosto prestare particolare attenzione ai problemi di effcienza. Quando in un insieme di archivi sono disponibili milioni di dati, la loro utilità viene meno se ogni
volta che bisogna accedere a un particolare dato è necessario attendere un tempo indefnito.
I ritmi lavorativi odierni ci impongono di sviluppare applicazioni che abbiano bisogno solo
di pochi secondi per fornire una soluzione o un’elaborazione. Il DBMS, pertanto, non deve
assolutamente rappresentare un collo di bottiglia nei tempi di elaborazione.
Allo stesso tempo, tuttavia, il DBMS deve permettere a più utenti di consultare i dati. Anche
se questo requisito potrebbe sembrare piuttosto banale, a una più attenta rifessione si capiDBMS IN COMMERCIO
sce quanto complicato sia il lavoro di un DBMS.
Elenchiamo di seguito alcuni dei DBMS
Zoom su...
Condivisione
presenti oggi in commercio.
Gestire grandi quantità di dati, garantendo velocità di elaborazione e contemporaneamente
permettere a più utenti di condividere le stesse
informazioni, non solo sono attività che possono diventare incompatibili tra di loro, ma introducono anche la necessità di coordinare gli
accessi per evitare di fornire a un utente dati
errati o non aggiornati.
1 Commerciali:
◗■ Oracle
◗■ MS SQL Server
◗■ MS Access
◗■ IBM DB2
◗■ Sybase
◗■ Informix
◗■ Ingres
Persistenza
2 Open source:
◗■ MySQL
◗■ PostgreSQL
La persistenza dei dati, inoltre, richiede che il
DBMS compia ancora un’altra operazione, ovvero fornisca quei meccanismi che permettono di
assicurare l’affdabilità dei dati. Infatti, più utenti signifca anche più possibilità che utenti
male intenzionati o incauti accedano a dati su cui non hanno privilegi di accesso. Il DBMS
deve allora anche gestire il controllo degli accessi per assicurare che i dati siano visibili solo
da particolari utenti o gruppi di utenti.
Non illustreremo nel dettaglio il funzionamento di un DBMS, ma ci limiteremo a usarlo.
10
Introduzione ai database
Lezione 1
■■ Architettura standard a tre livelli per DBMS (ANSI/SPARC)
L’architettura standard per il DBMS (Database Management System) è articolata su tre livelli:
◗■ schema esterno: descrizione di una porzione della base di dati di interesse in un modello
logico (“viste” parziali, derivate, anche in modelli diversi);
◗■ schema logico: descrizione dell’intera base di dati nel modello logico adottato dal DBMS;
◗■ schema interno (o fsico): rappresentazione dello schema logico per mezzo di strutture
fsiche di memorizzazione.
utente
utente
Schema
esterno
utente
Schema
esterno
utente
utente
Schema
esterno
Schema logico
Schema interno
Dati
L’utente non accede allo schema logico nella sua interezza ma solamente a quella porzione
che interessa alla sua applicazione, dato che “al di sopra dello stesso database” vengono
mandate in esecuzione diverse applicazioni: anche all’interno della singola applicazione
viene utilizzata sempre una “parte” del database, che prende il nome di vista.
ESEMPIO
In questo esempio possiamo osservare come le prime due tabelle contengono i dati rispettivamente di materie scolastiche e delle aule della scuola.
MATERIE
AULE
Corso
Docente
Aula
Nome
Edifcio
Piano
Fisica
Verdi
IN1
LAB1
Centrale
Terra
Chimica
Rossi
IN1
LAB2
Ala_Est
Primo
Informatica
Bianchi
LAB1
IN1
Ala_Nord
Primo
Sistemi
Gialli
LAB2
La terza tabella è “ricavata” dalle altre due: non è una tabella che fsicamente è memorizzata nel database, ma una particolare vista dei dati presenti.
MATERIE/AULE
Corso
Aula
Edifcio
Piano
Informatica
LAB1
Centrale
Terra
Sistemi
LAB2
Ala_Est
Primo
Fisica
IN1
Ala_Nord
Primo
11
UdA 1
Progetto di database
Come conseguenza della articolazione in più livelli si ha che l’accesso alla base di dati avviene solo tramite il livello esterno, mediante una vista o direttamente al livello logico, e si
ottengono due forme di indipendenza dei dat:
◗■ fsica: il livello logico e quello esterno sono indipendenti da quello fsico; una relazione è
utilizzata nello stesso modo qualunque sia la sua realizzazione fsica;
◗■ logica: il livello esterno è indipendente da quello logico e aggiunte o modifche alle viste
non richiedono modifche al livello logico così come modifche allo schema logico che
lascino inalterato lo schema esterno sono trasparenti.
Concludiamo questa introduzione ai database sintetizzando i vantaggi e gli svantaggi che
si hanno con l’adozione dei DBMS.
I vantaggi:
◗■ i dati divengono una risorsa comune;
◗■ la gestione centralizzata offre la possibilità di standardizzazione e di effettuare “economia di scala”;
◗■ viene reso disponibile un insieme di servizi integrati;
◗■ vengono ridotte le ridondanze e le inconsistenze dei dati;
◗■ i dati sono indipendenti dalle applicazioni;
Gli svantaggi:
◗■ aumento del costo dei prodotti di gestione e amministrazione dell’archivio;
◗■ notevoli costi per effettuare la transizione dai sistemi presenti verso i database;
◗■ riduzione della effcienza per la mancanza di scorporabilità delle funzionalità che sono
integrate.
AREA
digitale
Tappe storiche dei database
12
Introduzione ai database
Lezione 1
Verifichiamo le conoscenze
1. Risposta multipla
1 In un sistema informatico quali tra i seguenti sono
componenti software?
a. archivi
b. strumentazione
c. applicazioni
d. supporti fsici
2 Che cosa significa l’acronimo EDP?
a. Electronic Data Program
b. Electronic Disk Processing
c. Electronic Data Processing
d. Electronic Disk Program
3 Quali delle seguenti affermazioni sui database sono
vere?
a. un database è una specie di memoria digitale
intelligente
b. un database permette di migliorare la
compressione dei dati
c. nei database la defnizione dei dati e i dati sono
salvati all’interno dello stesso database
d. in un database è possibile integrare i programmi
con i dati
4 Per quali dei seguenti scopi può essere utilizzato un
database?
a. per la scrittura di un documento lungo e strutturato
come un libro
b. per gestire i proprio contatti
c. per la gestione di una biblioteca
d. per migliorare le prestazioni del computer
5 Qual è il più importante vantaggio dei DB?
a. l’applicazione e i suoi dati sono indipendenti
b. i dati occupano meno spazio su disco
c. i DBMS gestiscono più velocemente i dati
d. facilitano la duplicazione dei fle
6 Che cosa significa DBMS?
a. Database Management Software
b. Database Mirroring System
c. Database Multiuser System
d. Database Management System
2. Vero o falso
In un database l’applicazione e i suoi dati sono indipendenti l’uno dagli altri.
I database risolvono i problemi di inconsistenza causati dell’incongruenza dei dati.
I database risolvono i problemi di incongruenza dei dati a causa della ridondanza.
I database risolvono i problemi di inconsistenza a causa della ridondanza.
I database hanno minor indipendenza logica rispetto agli archivi tradizionali.
I DBMS sono componenti hardware.
Oracle è un database open source.
L’architettura standard per il DBMS è a quattro livelli.
Lo schema logico descrive l’intera base di dati nel modello logico adottato dal DBMS.
L’indipendenza dei dati è indispensabile solo a livello logico.
VF
VF
VF
VF
VF
VF
VF
VF
VF
VF
AREA digitale
1
2
3
4
5
6
7
8
9
10
13
LEZIONE 2
Progettazione
concettuale
e logica
In questa lezione impareremo...
◗◗
◗◗
◗◗
◗◗
le◗fasi◗della◗progettazione◗di◗un◗databse
che◗cos’è◗lo◗schema◗concettuale◗dei◗dati
in◗che◗cosa◗consiste◗il◗modello◗logico◗dei◗dati
i◗diversi◗modelli◗logici◗esistenti
■■ Generalità
Ciò che fnora è stato defnito genericamente come “analisi” o “progettazione” di un database segue delle fasi e delle regole ben precise.
Progettare un database signifca in dettaglio progettare le strutture, prima logiche e quindi
fsiche, di un database in modo che possano accogliere nel modo migliore possibile i dati di
cui un utente ha bisogno.
Tipicamente questo viene fatto in diversi passi:
1. analisi del problema;
2 progettazione concettuale del database (modello E-R);
3 progettazione logica del database (schema logico);
4 progettazione fisica e implementazione;
5 realizzazione delle applicazioni.
Ognuno di questi passi presenta delle insidie: per esempio, ciò che si cela dietro il semplice
passo “implementazione” racchiude tutta la fase di sviluppo del database, dell’applicazione, i test di funzionamento di entrambi, il collaudo ecc.
14
Progettazione concettuale e logica
Lezione 2
I cinque passi che abbiamo appena descritto sono raggruppabili in due gruppi. Le prime
tre fasi possono essere considerate la vera modellazione dei dati, che è composta dalla progettazione concettuale e dalla progettazione logica, mentre le ultime due possono essere
considerate come la modellazione funzionale dell’applicazione:
◗■ il modello concettuale descrive cosa deve essere rappresentato;
◗■ il modello logico descrive come sono organizzati i dati.
Noi ci occuperemo della modellazione dei dati, seguendo lo schema rappresentato nella
fgura seguente.
Fatture
Progettazione
concettuale
Progettazione
logica
Ordini dei clienti
Città
Continente
appartiene
Indirizzi dei clienti
Fatture
Ordini
Nazione
appartiene
forma
Città
ID_Città (pk)
id_Nazione (fk)
id_Continente (fk)
Continente
appartiene
ID_Continente (pk)
Clienti
Nazione
appartiene
Archivio prodotti
in magazzino
Requisiti
ID_Nazione (pk)
id_Continente (fk)
forma
Modello concettuale
(COSA)
Magazzino
Modello logico
(COME)
È quindi lecito affermare che la modellazione dei dati consiste nella progettazione delle tabelle del database, mentre la modellazione funzionale consiste nell’implementazione delle
tabelle e nella creazione delle funzioni che accedono ai dati.
Modellazione dei dati
Come già sappiamo, in informatica l’astrazione è uno degli aspetti più importanti perché
ci permette di creare dei modelli su cui in seguito vengono costruite le applicazioni. La
fase di analisi di ogni progetto, indipendentemente dalla sua complessità, serve proprio per
modellare il problema e quindi adottare una soluzione tecnica: questa stessa metodologia
viene applicata ai dati del database.
MODELLO DI DATI
Un modello di dati consiste in una rappresentazione astratta delle strutture dei dati di
un database. L’atto di creazione di un modello prende il nome di modellazione dei dati
(in inglese data modeling).
La modellazione dei dati serve per tradurre i dati dal punto di vista dell’utente al punto di
vista dell’applicazione/database, cioè per trasportarli dal mondo reale al mondo informatico.
15
UdA 1
Progetto di database
■■ Analisi e progettazione concettuale
L’analisi preliminare per la modellazione dei dati avviene solitamente cercando di capire
le esigenze del cliente o il dominio dell’applicazione, cioè quali informazioni devono essere
salvate e in che modo queste informazioni vengono manipolate dall’utente.
Le tecniche di analisi del problema sono già state dettagliatamente descritte e utilizzate in
altri corsi e mantengono la loro validità anche per il progetto dei database: naturalmente
bisognerà prestare maggiore attenzione al dato e quindi spesso la tecnica bottom-up è da
preferirsi a quella top-down.
Al termine della analisi inizia la prima fase di modellazione, che è quella concettuale; ci
sono sostanzialmente due modi per effettuarla, utilizzando altrettanti modelli:
◗■ modello Entità-Relazione;
◗■ modello a Oggetti.
Benché quest’ultimo stia cominciando a rivelarsi interessante da un punto di vista commerciale e non solamente accademico, la stragrande maggioranza delle applicazioni esistenti fa uso di un approccio Entità-Relazione (E-R): per questo motivo noi lo utilizzeremo
nei nostri progetti e lo descriveremo nel dettaglio a partire dalla prossima lezione.
Il frutto della modellazione dei dati consiste nel diagramma Entità-Relazione (diagramma
E-R) che rappresenta in modo grafco e facilmente leggibile le strutture dei dati.
Può capitare di dover lavorare a progetti di una certa portata che includono programmatori
o analisti di altri Paesi: la comunicazione tra colleghi può risultare diffcile a causa delle barriere linguistiche. Il modello Entità-Relazione, viceversa, è assolutamente indipendente dal
linguaggio scritto o parlato e permette quindi di comunicare agevolmente la struttura del
database.
Di norma al modello Entità-Relazioni viene affancato un documento tecnico che descrive
in maggior dettaglio e usando un linguaggio naturale i concetti rappresentati grafcamente
dal modello Entità-Relazione.
Come si impara anche dopo il primissimo progetto al quale si lavora, la fase di modellazione dei dati è sicuramente una delle più diffcili, laboriose e “noiose” tra quelle di creazione
di un’applicazione che si interfaccia a un database e viene “naturale” tentare di ridurla al
minimo per iniziare “al più presto” a programmare.
Una “parziale giustifcazione” del fatto che si tende a ridurre i tempi di modellazione è
il fatto che in un mondo ideale si ha sempre il tempo per fare qualsiasi cosa e produrre
software di qualità mentre nel mondo reale i tempi di sviluppo sono generalmente molto
stretti e la fase di modellazione ne occupa una buona parte.
Tempi di sviluppo e costi creano solitamente qualche attrito tra i reparti tecnici e i reparti commerciali delle aziende di sviluppo software.
Se vi siete chiesti anche voi se non sia possibile saltare a piè pari la modellazione concettuale dei dati, allora provate a rispondere a questa domanda: chi si fderebbe a passare su
un ponte sapendo che chi l’ha costruito non disponeva dei piani di costruzione?
16
Progettazione concettuale e logica
Lezione 2
Lo scopo del modello Entità-Relazione consiste nel rendere in modo grafco tutti gli oggetti
che fanno parte di un database in modo che il fusso delle informazioni possa essere seguito
e verifcato prima di sviluppare l’applicazione.
In secondo luogo, il modello può essere usato dagli sviluppatori per creare il database fsico
e tutti gli oggetti che ne fanno parte.
Una cattiva modellazione ha impatti che possono essere devastanti dal punto di vista
dell’applicazione che usa i dati, fno a rendere il flusso dei dati completamente inutilizzabile. Anche se la modellazione richiede tempo, se viene eseguita in modo corretto permette di sviluppare l’applicazione più velocemente e in modo più flessibile, così da agevolare
eventuali modifche successive del flusso delle informazioni
Zoom su...
PROGETTO CONCETTUALE
Riassumendo, un buon progetto concettuale è caratterizzato da:
1 correttezza: uso corretto degli strumenti;
2 completezza: tutti gli aspetti rilevanti della realtà devono essere modellati;
3 chiarezza: il modello deve essere leggibile e rappresentare le informazioni in maniera comprensibile;
4 indipendenza dallo strumento informatico che verrà utilizzato.
■■ Modellazione logica
Una volta realizzato il modello concettuale si procede con la defnizione del modello logico
dei dati, che consiste in uno schema realizzato in funzione delle caratteristiche del sistema di gestione del database che si intende utilizzare (la determinazione delle strutture dei
dati, il linguaggio per sviluppare le applicazioni).
Il modello logico è “più vicino” alla rappresentazione informatica dei dati e lo si ottiene
con la traduzione dello schema concettuale applicando un insieme di regole ben defnite.
Possiamo dire che deve essere:
◗■ indipendente dalle strutture fsiche;
◗■ utilizzato dai programmi applicativi.
Possiamo elencare in ordine cronologico i diversi tipi di modelli logici:
◗■ gerarchico: rappresentabile tramite un albero (anni ‘60);
◗■ reticolare: rappresentabile tramite un grafo (anni ‘60);
◗■ relazionale: attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra
esse (anni ‘70);
◗■ a oggetti: estensione alle basi di dati del paradigma “Object-Oriented”, tipico della programmazione a oggetti (anni ‘80);
◗■ XML: molto utilizzato come strumento per l’esportazione di dati tra diverse applicazioni
(anni ‘90).
Questi modelli saranno tutti brevemente descritti in questa lezione: inoltre il modello relazionale, dato che è quello che abbiamo adottato, verrà studiato a partire dalla prossima lezione.
17
UdA 1
Progetto di database
■■ Implementazione e realizzazione
In questa ultima fase viene fsicamente realizzato il database (o sistema informativo) sul
computer e consiste nel:
◗■ completamento, o modifca, dello schema logico in funzione dell’organizzazione fsica
dei dati e dei meccanismi per operare su di essi (partizioni, puntatori, blocchi fsici, cluster, indici);
◗■ progetto e realizzazione delle procedure atte a soddisfare le richieste specifcate nel progetto utilizzando gli strumenti informatici di alto livello (linguaggi di programmazione e
di interrogazione).
Ricapitolando, possiamo schematizzare le tre fasi della progettazione di un database visualizzando il “prodotto” di ciascuna di esse:
◗■ modellazione concettuale: diagramma E/R;
◗■ modellazione logica: tabelle e tracciati record;
◗■ implementazione: defnizione fsica delle tabelle.
Concettuale
Logico
Modello E-R
Tabelle
Fisico
Memorie di massa
■■ Modelli logici per le basi di dati
Descriviamo sinteticamente gli aspetti fondamentali che caratterizzano i diversi tipi di
modelli logici di database prima introdotti.
Modello gerarchico dei database
Il primo modello ad affermarsi sul mercato è stato il modello di database gerarchico.
Nel modello gerarchico i dati sono organizzati secondo strutture ad albero che rappresentino la gerarchia degli elementi presenti nell’archivio.
La radice è il record principale del database da cui partono uno o più sottoalberi a esso
simili: naturalmente il numero dei fgli è variabile.
Ogni elemento prende il nome di segmento e il modello gerarchico permette di rappresentare i dati sfruttando la relazione tra segmenti padre e segmenti fgli, realizzando
quella che prende nome di relazione 1 a N (e si indica 1:N) o relazione uno-a-molti, dove
ogni padre può avere molti fgli, ma ogni fglio può avere un solo padre.
18
Progettazione concettuale e logica
Lezione 2
Vediamo un esempio di un modello gerarchico.
ESEMPIO
Supponiamo di avere un archivio con i dati dei dipendenti di un’azienda, dove nella tabella
principale abbiamo come campi nome, cognome, qualifca. Oltre ai dati dei dipendenti
nell’archivio troviamo memorizzati anche i dati dei fgli dei dipendenti (per esempio, i
campi nome, sesso, data di nascita).
La tabella dipendenti è composta dal segmento padre e la tabella fgli dal segmento fglio.
Naturalmente un dipendente può avere più fgli, quindi si crea la gerarchia dipendenti-fgli.
D1
F1
Gloria
Femmina
Rossi
Paolo
05/05/1997
Impiegato
F2
Claudia
Femmina
10/04/1999
Nel database ogni dipendente avrà un suo albero.
Un esempio di modello gerarchico che utilizziamo ogni giorno è l’organizzazione dei fle
del nostro fle system, organizzato in directory e sottodirectory. Questo modello era usato
nei primi DBMS per mainframe; in seguito i DBMS reticolari hanno sostituito quelli gerarchici per poi essere sostituiti da quelli relazionali (anche chiamati RDBMS).
In un database organizzato secondo il modello gerarchico è semplice recuperare le informazioni quando i dati sono proprio di natura gerarchica, come nell’esempio precedente, mentre
è molto complesso estrarre i dati secondo altri criteri (per esempio per estrarre tutte le fglie
femmine dei dipendenti è necessario visitare tutti gli alberi).
I principali svantaggi del modello gerarchico consistono nel fatto che:
◗■tra lo schema logico e la realizzazione fsica esiste una dipendenza stretta e vincolante;
◗■le operazioni di ricerca non sono effcienti in quanto sono visite ad alberi generici e solo nel
caso siano di tipo gerarchico sarebbero di semplice realizzazione.
Modello reticolare dei database
Alla base del modello reticolare ci sono le strutture dati a grafo, dove mediante puntatori è possibile accedere ai dati più facilmente, senza i vincoli rigidi della struttura gerarchica. Possiamo quindi vedere il modello reticolare come un’estensione del modello
gerarchico, dove non esiste alcuna radice ma ogni nodo può essere il punto di partenza
per raggiungere un determinato campo.
Nel modello reticolare ogni elemento è costituito da un record che può connettersi con
altri N record: è quindi possibile stabilire delle relazioni multiple del tipo N con N (N:N),
impossibili nel modello gerarchico.
Per poter realizzare le connessioni tra i diversi record vengono utilizzati particolari record
che prendono il nome di record connettori.
19
UdA 1
Progetto di database
Vediamo un esempio dove rappresentiamo i Docenti e le Classi nelle quali insegnano: il
modello reticolare è il seguente:
D1 Bianchi Inglese
Lun 1a ora
D2 Verdi Italiano
Lun 2a ora
C1 III Info 1
Lun 3a ora
C2 III Info 2
D3 Rossi Informatica
Lun 2a ora
Lun 4a ora
Lun 3a ora
C3 IV Info 1
Risulta molto complesso portare delle modifche al database una volta che è stato realizzato
in quanto si rischia di dover riscrivere tutte le applicazioni che già lo utilizzano.
I principali svantaggi del modello reticolare sono i seguenti:
◗■i link sono realizzati con i puntatori, quindi esiste uno spreco di spazio per le memorie esterne;
◗■per realizzare due reticoli indipendenti è necessario duplicare i dati introducendo un’inutile
ridondanza;
◗■se i dati non sono tra loro direttamente connessi la loro ricerca è diffcoltosa;
◗■è estremamente rigido in caso di modifche successive alla sua creazione.
Modello relazionale
Il modello relazionale, che sarà ampiamente descritto nel seguito della trattazione, è stato
defnito da Edgar F. Codd all’inizio degli anni ‘70 con l’obiettivo di non duplicare inutilmente le informazioni: il modello relazionale consiste in un insieme di tabelle che possono
essere connesse tra loro mediante, appunto, relazioni.
Alla base del modello relazionale c’è il concetto matematico di relazione tra insiemi.
Il modello relazionale usa come struttura dati fondamentale la relazione (o tabella), e per
operare sul database defnisce un numero ristretto di operazioni fondamentali.
Agenti
Ordini
20
Clienti
Righe
Articoli
Progettazione concettuale e logica
Lezione 2
Ogni tabella è composta da righe e colonne:
◗■ le colonne sono i diversi campi (o proprietà);
◗■ ogni riga corrisponde a un record.
I principali vantaggi del modello relazionale sono:
◗■ l’indipendenza dei dati;
◗■ il fatto che la rappresentazione logica dei dati non fa alcun riferimento a quella fsica;
◗■ l’informazione è contenuta nei campi e non in strutture fsiche come i puntatori.
Zoom su...
INDIPENDENZA
Con indipendenza dei dati, come vedremo in seguito, si intende:
1 indipendenza dalla struttura fsica: modifche apportate alla rappresentazione fsica dei dati
(per esempio uso di una struttura di accesso piuttosto di un’altra) non comportano modifche
ai programmi applicativi esistenti;
2 indipendenza dalla struttura logica: modifche apportate alla rappresentazione logica dei
dati non devono comportare modifche alle applicazioni esistenti che operano sul database,
cioè deve essere possibile apportare modifche alla struttura della base di dati senza modifcare il software applicativo.
Il modello relazionale è attualmente il modello logico di dati più utilizzato e sarà descritto
e studiato a partire dalle prossime lezioni.
Tra i DB relazionali ricordiamo MySQL, SAPDB, Firebird, Access, Oracle.
Modello a oggetti dei database (object-oriented)
I database a oggetti sono la nuova frontiera nella ricerca sui database per le caratteristiche
di estendibilità proprie della programmazione object-oriented: hanno la possibilità di defnire nuovi tipi di dati e comportamenti che vengono inglobati nell’oggetto stesso (classe);
trovano utilizzo soprattutto nelle applicazioni multimediali che inglobano grande quantità
di dati non numerici, come, per esempio, immagini, suoni o flmati.
I DBMS a oggetti prendono il nome di ODBMS (Object DBMS, oppure OODBMS Object
Oriented DBMS): la tendenza odierna è quella di aggiungere alle caratteristiche dei sistemi
a oggetti i vantaggi del modello relazionale, generando sistemi ibridi che uniscano i pregi di
entrambi i modelli (ORDBMS, Object-Relational Database Management System).
I database object-oriented si fondano sugli stessi principi della programmazione a oggetti
e quindi memorizzano nel database non solo i dati ma anche le operazioni che possono
essere eseguite sugli stessi (metodi).
Tra i primi ODBMS ricordiamo Jasmine, sviluppato dalla Fujitsu insieme alla Computer
Associates verso la fne degli anni ’90 e integrato in Visual Object, uno dei primi linguaggi
visuali che offriva la possibilità di creare delle classi per interfacciare in modo nativo il
database Jasmine.
Oggi il più famoso tra gli ORDBMS è PostgreSQL: è completamente opensource ed è probabilmente il più robusto del mondo Linux/Unix.
21
UdA 1
Progetto di database
È stato progettato e realizzato all’università della California a Berkeley sotto il nome di
Postgres, ma venne poi ripreso da un gruppo esterno di sviluppatori che gli diedero il nome attuale, gli aggiunsero un dialetto sql e lo rilasciarono opensource.
Modello XML (eXtensible Markup Language)
L’XML non è proprio un modello di database, ma viene ricordato perché è divenuto uno
strumento fondamentale per effettuare lo scambio delle informazioni tra DBMS diversi.
È un linguaggio simile all’HTML, con il quale condivide i markup (comunemente detti tag)
ma nel linguaggio XML i tag sono “liberi” e descrivono quanto racchiuso tra le parentesi
<>, come defnito dal programmatore.
Vediamo di seguito un esempio dove defniamo un archivio utenti e ne inseriamo i singoli
record. Vediamo un esempio di codice XML:
<?xml version=”1.0” encoding=”UTF-8”?>
<utenti>
<utente>
<nome>Mario</nome>
<cognome>Rossi</cognome>
<indirizzo>via Pascoli,2</indirizzo>
<cap>22100</indirizzo>
<citta>Como</indirizzo>
</utente>
<utente>
<nome>Giuseppe</nome>
<cognome>Verdi</cognome>
<indirizzo>via Da Vinci,3</indirizzo>
<cap>20100</indirizzo>
<citta>Milano</indirizzo>
</utente>
</utenti>
La prima riga indica la versione di XML in uso e specifca la codifca UTF-8 per la corretta
interpretazione dei dati.
Mentre l’HTML ha un insieme ben defnito e ristretto di tag, con l’XML è invece possibile defnirne di propri a seconda delle esigenze: poiché ha una struttura gerarchica, pare un “ritorno
alle origini” dei modelli di dati.
■■ Conclusioni
Riassumiamo le funzionalità principali di un DBMS, indipendentemente dal modello che
adotta; sono tre e possono essere riassunte in una defnizione.
DBMS
Un DBMS è un sistema software che gestisce efficientemente grandi quantità di dati,
persistenti e condivisi.
22
Progettazione concettuale e logica
Lezione 2
Quindi un DBMS deve avere:
◗■ la capacità di gestire dati non volatili, cioè in modo permanente;
◗■ la capacità di accedere in modo effciente a grandi quantità di dati.
La persistenza e la condivisione richiedono che un DBMS fornisca dei meccanismi per garantire l’affdabilità dei dati (fault tolerance), per il controllo degli accessi e per il controllo
della concorrenza (accesso ai dati contemporaneo da parte di più utenti e/o applicazioni).
Quindi deve inoltre garantire:
◗■ la consistenza dei dati: devono essere signifcativamente ed effettivamente utilizzabili
nelle applicazioni aziendali;
◗■ la sicurezza dei dati: deve impedire che il database si danneggi;
◗■ la segretezza e confdenzialità: i dati devono poter essere consultati e/o modifcati soltanto da chi sia debitamente autorizzato;
◗■ l’integrità dei dati: deve garantire la conservazione dei dati senza perdite.
Zoom su...
SICUREZZA
Le problematiche connesse alla sicurezza hanno avuto negli ultimi anni un’importanza fondamentale soprattutto nei database connessi a Internet, dove è necessario proteggere i dati “appetibili” per gli hacker, che cercano di impossessarsi di dati che molto spesso assumono il carattere di estrema confdenzialità (numeri di carte di credito, dati fnanziari, strategici ecc.) oppure
di acquisire il completo controllo della macchina se non addirittura della intera infrastruttura di
rete.
Tutti i più moderni DBMS adottano un’architettura di sicurezza basata su tre differenti livelli di
protezione:
1 autenticazione: è la fase più delicata dove l’utente che vuole accedere ai dati viene accreditato mediante la verifca dell’identità attraverso la richiesta di una password segreta e
personale;
2 autorizzazione: è la fase seguente l’autenticazione nella quale il sistema assegna i diritti
all’utente per le risorse alle quali può avere accesso (lettura, scrittura ecc.);
3 auditing: in questa fase si adottano i mezzi idonei per garantire l’integrità delle informazioni
e per identifcare e riconoscere possibili abusi.
23
UdA 1
Progetto di database
Verifichiamo le conoscenze
1. Risposta multipla
1 La modellazione dei dati consiste:
a. nell’analisi del problema
b. nella progettazione delle tabelle del database
c. nell‘implementazione delle tabelle
d. nella creazione delle funzioni che accedono ai dati
4 L’acronimo ORDBMS significa:
a. object-relational database management software
b. object-relative database management software
c. object-relative database management system
d. object-relational database management system
2 La modellazione funzionale consiste:
a. nell’analisi del problema
b. nell‘implementazione delle tabelle
c. nella progettazione delle tabelle del database
d. nella creazione delle funzioni che accedono ai dati
5 La fase di autorizzazione all’accesso di un DB è la fase:
a. in cui si verifca l’identità attraverso la password
segreta
b. seguente l’autenticazione
c. in cui si assegna la password all’utente
d. precedente all’autenticazione
3 Nel modello gerarchico le relazioni possono essere:
a. 1 a 1
b. 1 a molti (1-N)
c. molti a 1 (N-1)
d. molti a molti (N-M)
2. Ordinamento
AREA digitale
1 Ordina le operazioni da effettuare nel progetto di
un database:
a. progettazione fsica e implementazione
b. progettazione concettuale del database (modello
E-R)
c. analisi del problema
d. realizzazione delle applicazioni
e. progettazione logica del database (schema logico)
24
2 Ordina cronologicamente i seguenti modelli di
DBMS:
a. XML
b. reticolare
c. gerarchico
d. a oggetti
e. relazionale
3. Vero o falso
1
2
3
4
5
6
7
8
9
10
L’indipendenzapermettediscrivereprogrammisenzaconoscerelestrutturefsichedeidati.
L’indipendenzapermettediscrivereprogrammiconoscendosololoschemaconcettuale.
L’indipendenzapermettediformulareinterrogazionisenzaconoscerelestrutturefsiche.
DatocheiDBsonocondivisiaumental’effcienzadeiprogrammicheliutilizzano.
DatocheiDBsonocondivisisiriducelaridondanzael’inconsistenza.
Ilfattochelebasididatisianopersistentinegarantiscel’affdabilità.
Ilfattochelebasididatisianopersistentifavoriscel’effcienzadeiprogrammi.
DatocheiDBsonocondivisisiriducelaridondanzael’inconsistenza.
IprogettistidellabasedidatirealizzanoilDBMS.
IprogettistidelleapplicazioniutilizzanoiDBcomeprogettatidalprogettistadelDBMS.
VF
VF
VF
VF
VF
VF
VF
VF
VF
VF
Progettazione concettuale e logica
Lezione 2
4. Completamento
Completa le frasi seguenti scegliendo tra le parole proposte.
1 Il modello concettuale descrive ............................................................................................................. deve essere rappresentato.
cosa • quando • dove • perché • come
2 2 Il modello logico descrive ............................................................................................................. sono organizzati i dati.
cosa • quando • dove • perché • come
3 La modellazione dei .............................................................. consiste nella progettazione delle .............................................................. del database.
dati • tabelle • schema • relazioni • entità
4 La modellazione funzionale consiste nell’implementazione delle ............................................................................................................. e nella
creazione delle funzioni che accedono ai dati.
tabelle • relazioni • entità • funzioni • associazioni
5 Nei database la defnizione dei dati e i dati stessi sono salvati all’interno ..............................................................................................................
del programma • del database • dello schema • dell’oggetto • dell’applicazione
6 Un modello di dati consiste in una rappresentazione astratta delle ............................................................................................................. dei dati di
un database.
regole • strutture • tipologie • applicazioni • funzioni
7 L’atto di creazione di un modello prende il nome di ............................................................................................................. dei dati.
modellazione • rappresentazione • raffigurazione • progettazione
8 Il modello logico deve essere ...................................................................................... dalle strutture fsiche e ......................................................................................
dai programmi applicativi.
corrispondente • dipendente • indipendente • conforme • collegato • utilizzato • modificato • gestito
10 Alla base del modello reticolare ci sono le strutture dati a grafo, dove mediante ...................................................................................... è
possibile accedere ai dati più facilmente, senza i vincoli rigidi della struttura gerarchica.
file • albero • lista • grafo • puntatori
11 L’idea innovativa del modello relazionale di rappresentare le informazioni per mezzo di una struttura, chiamata
......................................................................................, ha come fondamento il concetto matematico di ...................................................................................... .
archivio • tabella • file • relazione • associazione • funzione
12 Con un database object-oriented gli oggetti memorizzati nel database contengono sia ..................................................................................
sia le ...................................................................................... possibili su tali dati: si fondano sugli stessi principi della OOP.
definizioni • dati • file • relazione • associazione • operazioni • fisica • ricorsione • OOP • definizione
AREA digitale
9 Il modello di database gerarchico prevede che i dati siano organizzati secondo strutture ad ........................................................, che
si suppone rifettano una gerarchia esistente tra gli ...................................................................................... che appartengono al database.
file • albero • lista • grafo • puntatore • entità • relazioni • dati • elementi • oggetti
25
UdA 1
Progetto di database
Verifichiamo le competenze
1. Problemi
1 Rappresenta con il modello gerarchico la situazione Medici – Pazienti
2 Rappresenta con il modello gerarchico la situazione Cantanti – Canzoni
3 Rappresenta con il modello gerarchico la situazione Squadra – Calciatori
4 Rappresenta con il modello gerarchico la situazione Alunni – Esami
5 Rappresenta con il modello gerarchico la situazione Squadra di calcio – Incontri
6 Rappresenta con il modello reticolare la situazione Fatture – Prodotti
7 Rappresenta con il modello reticolare la situazione Pazienti – Esami clinici
8 Rappresenta con il modello reticolare la situazione Automobili – Colori – Marche
9 Rappresenta con il modello reticolare la situazione Squadre – Incontri
10 Rappresenta con il modello XML la situazione Alunni – Voti
11 Rappresenta con il modello XML la situazione Docenti – Materie
12 Rappresenta con il modello XML la situazione Genitori – Figli
13 Rappresenta con il modello XML la situazione Mammiferi – Felini – Gatti
14 Rappresenta con il modello XML la situazione Nonni – Genitori – Figli
15 Rappresenta con il modello XML la situazione Preside – Docenti – Studenti
16 Rappresenta con il modello XML la situazione Primario – Medici – Infermieri
26