Sistemi informativi, basi di dati, e sistemi di accesso alle informazioni

INFORMATICA
(Sistemi informativi, basi di dati, e sistemi di accesso alle
informazioni) I
Anno Accademico 2004-2005
Prof. M. Cristina Cipriani
[email protected]
Informazioni generali sul corso
2UDULRGHOOHOH]LRQL
• Lun: 12.15-13.45
• Mar: 14.00-15.30
• Mer: 09.30-11.00
5LFHYLPHQWR Mercoledì (11.00-13.00) (nel 3° periodo)
Su appuntamento [email protected] (negli altri periodi)
+:6:
• +DUGZDUH: il termine include qualsiasi dispositivo fisico :
tangibile,
concreto,
tipicamente
contenente
componentistica elettronica, in grado di eseguire una
qualche attività di elaborazione dell'informazione
all’interno di un sistema informatico
– L'hardware include non solo il computer e dispositivi
tipo schermo, tastiera, …, ma anche altri componenti che
servono per , "assemblare" un sistema informatico (ad
es. i cavi che permettono di collegare due computer via
rete, o le antenne che ne permettono il collegamento via
radio, eccetera)
• 6RIWZDUH: sequenze di istruzioni che guidano
l’hardware e definiscono con precisione l'
esecuzione di
un dato compito
• Ciò che aziona un computer è un insieme di istruzioni,
chiamate programma, (o software), che vanno caricate in
memoria centrale, la cui esecuzione permette
l’elaborazione di dati
• Nella maggior parte dei computer esistono due tipi di
software:
il sistema operativo e i programmi applicativi.
• sistema operativo (es.: DOS e Windows della Microsoft,
oppure MacOS di Apple, oppure Linux) è un programma
che abilita e facilita gli utenti nell’esecuzione di
programmi applicativi sull’hardware del computer
• programmi applicativi (es.: MS Word, MS Excel,
Netscape Navigator, o Adobe Photoshop) sono
programmi distinti che permettono l'
esecuzione di compiti
specifici, che possono essere molto diversi.
– Ne esistono moltissimi: si calcola che esistano circa
100.000 programmi abilitati ("compatibili") del sistema
operativo più diffuso, cioè MS Windows
– sotto questa categoria ricadono le varie applicazioni
gestionali/aziendali
• gestione personale, gestione magazzino, anagrafe
clienti, ...
• L’industria ICT (Information Communication Tecnology)
è di tipo di tipo “orizzontale”: il consumatore confeziona il
prodotto “computer” scegliendo i componenti preferiti in
un mercato organizzato per fasce orizzontali
9HQGLWDHGLVWULEX]LRQH: negozi, superstore, dealer on-line
$SSOLFD]LRQL: Office, WordPerfect, SuperMarioBros, ecc.
6LVWHPLRSHUDWLYL: DOS e Windows, MacOS, Linux, Unix
&RPSXWHU: Compaq, IBM, HewlettPackard, ecc.
&KLS: Intel, Motorola, Amd, ecc.
• La funzione dei sistemi operativi è duplice:
– offrire agli utenti un insieme di servizi di base
(“interfaccia”) per gestire documenti e applicazioni
– offrire alle applicazioni un insieme di servizi di base
per gestire i dispositivi in modo uniforme
SURJUDPPLDSSOLFDWLYL
programmi di video-scrittura (es. Microsoft Word)
browser, usati per “navigare il Web” e spedire posta
elettronica (es. MS Explorer, Netscape Communicator)
fogli elettronici, usati per manipolare e analizzare
numeri e dati (es. Microsoft Excel)
Srogrammi per la gestione di banche di dati (database),
utilizzati per conservare ed elaborare dati strutturati
SURJUDPPLSHUcreare applicazioni multimediali/grafiche,
manipolare foto, fare presentazioni con audio/video, ecc.
videogiochi
emulatori (di altro hardware, di altro sistema operativo)
,PSRUWDQWH: ad ogni programma applicativo corrisponde
di solito un formato specifico dei documenti che riesce a
trattare
,OWXWWRFRPHXQDFLSROOD«
DOFXQHIUDVLFHOHEUL
- Nel futuro i computer peseranno non meno di 1.5 ton (Popular Mechanics 1949)
- Penso che ci sia mercato nel mondo per non più di
cinque computer
(Thomas Watson, chairman di IBM, 1943)
- Ho girato avanti e indietro questa nazione (USA) e ho
parlato con la gente. Vi assicuro che questa moda
dell’elaborazione automatica non vedrà l'
anno prossimo
(Editor dei libri scientifici di Prentice Hall 1947)
- Non c’è ragione per cui qualcuno possa volere un
computer in casa
(Ken Olson, fondatore di Digital, 1977)
... e si potrebbe continuare
6,67(0,,1)250$7,9,
Si parte da un “Fatto”:
Le organizzazioni gestiscono informazioni al fine di
migliorare il loro funzionamento.
di
una
'HILQL]LRQH Un
sistema
informativo
organizzazione è una combinazione di risorse, umane e
materiali, e di procedure organizzate per la raccolta,
l’archiviazione, l’elaborazione e lo scambio delle
informazioni necessarie:
alle attività operative (informazioni di servizio),
alle attività di gestione (informazioni di gestione), e
alle attività di programmazione, controllo e valutazione
dell’organizzazione (informazioni di governo).
6,67(0,,1)250$7,&,
Un sistema informatico è l’insieme degli strumenti
informatici impiegati per il trattamento automatico delle
informazioni di un un’organizzazione al fine di agevolare
le funzioni del suo sistema informativo.
(92/8=,21('(,6,67(0,,1)250$7,&,
3ULPDIDVH
Utilizzo della tecnologia dei sistemi di archiviazione per
applicazioni settoriali, soprattutto nell’amministrazione, con
l’obiettivo di automatizzare quelle attività che richiedono
l’elaborazione sistematica e ripetitiva di grandi quantità di dati.
6HFRQGDIDVH
A partire dagli anni ’70, utilizzo della tecnologia dei sistemi per
la gestione di basi di dati che hanno consentito la
realizzazione di sistemi informatici di supporto ad ogni livello
delle organizzazioni.
7HU]DIDVH
Alla fine degli anni’80 utilizzo della tecnologia dei sistemi per
la gestione di basi di dati distribuite, su rete locale o
geografica.
4XDUWDIDVH
A partire dagli anni ’90, utilizzo della tecnologia Web
352%/(0$$5&+,9,$=,21(5(&83(52
(/$%25$=,21(',,1)250$=,21,
±Tipi di dati
±Tipi di usi
±Tipi di sistemi
$VSHWWLGHOSUREOHPD
7,3,','$7,
• Collezioni di dati di tipo:
– Strutturato (semplice o complesso)
“'DWL VX VWXGHQWL GHL TXDOL LQWHUHVVDQR PDWULFROD
QRPHSURYLQFLDDQQRGLQDVFLWD”
– Multimediale
• Testo
• Disegno
• Immagine
• Suono
• Filmato
• Collezioni di dati e relazioni fra loro
“'DWLVXVWXGHQWLHGHVDPLGDORURVXSHUDWL”
7,3,',86,
• Ricerca per contenuto:
– Caso di dati strutturati
“7URYDUH LO QRPH GHJOL VWXGHQWL GHOOD SURYLQFLD GL
3DGRYD”
– Caso di testi
“7URYDUHJOLDUWLFROLFKHULJXDUGDQRL'%06UHOD]LRQDOL”
– Caso di immagini
“7URYDUHOHIRWRGLVSLDJJH”
– Caso di collezioni e relazioni
“7URYDUHLQRPLGHJOLVWXGHQWLFKHKDQQRVXSHUDWRWXWWL
JOLHVDPLFRQ”
• Modifiche
• Elaborazioni complesse di supporto al funzionamento di
organizzazioni
7,3,',6,67(0,
• Sistemi di archiviazione
• Sistemi per basi di dati (DBMS)
&RQGLYLVLRQH
• Ogni organizzazione (specie se grande) è divisa in
settori o comunque svolge diverse attività
• A ciascun settore o attività corrisponde un
(sotto)sistema informativo
• Possono esistere sovrapposizioni fra i dati di interesse
dei vari settori
• Una base di dati è una risorsa LQWHJUDWD, condivisa, fra i
vari settori
3RVVLELOLSUREOHPL
5LGRQGDQ]D:
– informazioni ripetute
Rischio di LQFRHUHQ]D:
– le versioni possono non coincidere
5DFFROWHGLLQIRUPD]LRQL
• Se ne fa uso da tempo …
– archivi anagrafici, biblioteche, banche …
• La tipica struttura di memorizzazione
– tabella, campi, record
• I vantaggi derivanti dalla gestione automatizzata delle
informazioni
– es. carte di credito, rubriche telefoniche, …
3UREOHPLGDULVROYHUH
• Come strutturare i dati in modo che possano essere
facilmente aggiornati senza dover modificare le
procedure che vi accedono?
• Come organizzare i dati in modo da consentire
l’accesso condiviso (eventualmente anche in scrittura)
evitando inutili ridondanze e pericolose inconsistenze?
•
Come
limitare
l’accesso
esclusivamente a chi è autorizzato?
alle
informazioni
$UFKLYLH%DVLGLGDWL
OLPLWLGHLVLVWHPLGLDUFKLYLD]LRQH
6HSDUD]LRQHHLVRODPHQWRGHLGDWL
– Ogni programma gestisce il proprio insieme di dati: gli
utenti di un programma non hanno la possibilità di
accedere a dati utili gestiti da altri programmi
'XSOLFD]LRQHGHLGDWL
– Gli stessi dati sono gestiti da programmi diversi. Spazio
di memoria sprecato e talora valori e formati diversi per lo
stesso dato
OLPLWL
'DWDGHSHQGHQFH
– La struttura dei file è definita nel codice del programma
)RUPDWLLQFRPSDWLELOLSHULGDWL
– I programmi sono scritti in linguaggi diversi e non
possono accedere agli altrui
4XHU\ILVVHHSUROLIHUD]LRQHGHLSURJUDPPLDSSOLFDWLYL
– I programmi sono scritti per funzioni particolari; ogni
nuova esigenza richiede un nuovo programma
GDJOLDUFKLYLDOOHEDVLGLGDWL
• /D GHILQL]LRQH GHL GDWL HUD HPEHGGHG (incastonato) nei
programmi applicativi piuttosto che essere memorizzata
separatamente e indipendentemente
• 1HVVXQ FRQWUROOR sugli accessi e la manipolazione di
dati se non quella imposta dal programma applicativo
• 2UJDQL]]D]LRQH'DWDEDVH
– un sistema di gestione dati integrato in cui i dati sono
mantenuti in modo non ridondante e in cui l’utente può
specificare con un comando unico una richiesta (query)
per una varietà di dati
• '%06 - Data Base Management System
– Un sistema software che consente all’utente di definire,
creare, e mantenere il database e fornisce accesso
controllato ad esso
%DVHGL'DWL
• accezione generica, PHWRGRORJLFD
‡ ,QVLHPH RUJDQL]]DWR GL GDWL XWLOL]]DWL SHU LO VXSSRUWR
DOOR VYROJLPHQWR GHOOH DWWLYLWj GL XQ HQWH D]LHQGD
XIILFLRSHUVRQD
• accezione specifica, PHWRGRORJLFDe WHFQRORJLFD
‡LQVLHPHGLGDWLJHVWLWRGDXQ'%06
%$6(','$7,
'HILQL]LRQH 8QD EDVH GL GDWL q XQD UDFFROWD GL GDWL
SHUPDQHQWLVXGGLYLVLLQGXHFDWHJRULH:
i PHWDGDWL (schema): descrivono la struttura degli insiemi di
dati, le restrizioni sui valori ammissibili dei dati (vincoli
d’integrità) e le relazioni fra gli insiemi. Lo schema va definito
prima di creare dati ed è indipendente dalle applicazioni che
usano la base di dati;
i GDWL, le rappresentazioni di certi fatti conformi alle definizioni
dello schema, con le seguenti caratteristiche:
– sono organizzati in insiemi omogenei, fra i quali sono
definite delle relazioni. La struttura dei dati e le relazioni sono
descritte nello schema con opportuni meccanismi di
astrazione che caratterizzano il cosiddetto modello dei dati;
– sono molti, in assoluto e rispetto ai metadati, non
possono essere gestiti in memoria temporanea;
– sono permanenti;
– sono accessibili;
– sono protetti sia da accesso da parte di utenti non
autorizzati, sia da corruzione dovuta a malfunzionamenti
hardware e software;
– sono utilizzabili contemporaneamente da utenti diversi.
'$7$%$6(0$1$*(0(176<67(0
Sistema ( SURGRWWR VRIWZDUH) in grado di gestire
FROOH]LRQLGLGDWLche siano (anche):
JUDQGL (di dimensioni (molto) maggiori della memoria
centrale dei sistemi di calcolo utilizzati)
SHUVLVWHQWL (con un periodo di vita indipendente dalle
singole esecuzioni dei programmi che le utilizzano)
FRQGLYLVH( utilizzate da applicazioni diverse)
garantendo DIILGDELOLWj (resistenza a malfunzionamenti
hardware e software) e SULYDWH]]D (con una disciplina e
un controllo degli accessi).
Come ogni prodotto informatico, un DBMS deve essere
HIILFLHQWH (utilizzando al meglio le risorse di spazio e
tempo del sistema) ed HIILFDFH (rendendo produttive le
attività dei suoi utilizzatori).
•
•
•
•
•
Access
DB2
Oracle
Sybase
SQLServer
$OFXQL'%06LQFRPPHUFLR
)XQ]LRQDOLWj
Un DBMS è un sistema (centralizzato o distribuito) che
offre opportuni linguaggi per:
– definire lo schema della base di dati,
– scegliere le strutture dati per la memorizzazione dei
dati,
– memorizzare i dati rispettando i vincoli definiti nello
schema;
– recuperare e modificare i dati interattivamente
(linguaggio di interrogazione o query language) o da
programmi.
81(6(03,2',6(66,21(
'HILQL]LRQHEDVHGLGDWL
¾
FUHDWHGDWDEDVHEsempioEsami
'HILQL]LRQHVFKHPD
> FUHDWHWDEOHEsami
(Materia char(5), Candidato char(8), Voto int , Lode char(1),
Data char(6))
,QVHULPHQWRGDWL
> LQVHUWLQWREsami YDOXHV(‘BDSI1’,’080709’,30,’S’,070996)
81(6(03,2',6(66,21(
,QWHUURJD]LRQH
> VHOHFW Candidato IURP Esami ZKHUH Materia =
"BDSI1" and Voto = 30
Candidato 080709
,QROWUH: accesso ai dati da programma, interrogazioni con
interfaccia grafica, direttive per definire le strutture
fisiche…
6FKHPLHLVWDQ]H
In ogni base di dati esistono:
– lo VFKHPD, sostanzialmente invariante nel tempo, che
ne descrive la struttura (SDUWHVWDWLFD)
• le intestazioni delle tabelle Access
– l’LVWDQ]D, i valori attuali, che possono cambiare, anche
molto rapidamente (SDUWHGLQDPLFD)
• il “corpo” (il contenuto) di una tabella
LQJHQHUDOH
– Linguaggio per la definizione della base di dati;
– Linguaggi per l’uso dei dati;
– Meccanismi per il controllo dei dati;
– Strumenti per il responsabile della base dati di dati;
– Strumenti per lo sviluppo delle applicazioni
/LQJXDJJLRSHUODGHILQL]LRQHGHOODEDVHGLGDWL
• L’approccio con tre livelli di descrizione dei dati è stato
proposto come un modo per garantire le proprietà di
indipendenza logica e fisica dei DBMS, che sono un
obiettivo importante di questi sistemi.
• Indipendenza fisica: i programmi applicativi non devono
essere
modificati
in
seguito
a
modifiche
dell’organizzazione fisica dei dati.
• Indipendenza logica: i programmi applicativi non devono
essere modificati in seguito a modifiche dello schema
logico.
/,1*8$**,3(5/¶862'(,'$7,
Come conseguenza dell’integrazione dei dati, un DBMS
deve prevedere più modalità d’uso per soddisfare le
esigenze delle diverse categorie di utenti che possono
accedere alla base di dati:
- programmatori delle applicazioni:
• integrazione DDL e DML nel linguaggio ospite:
procedure predefinite, estensione del compilatore,
precompilazione
• comunicazione tra linguaggio e DBMS
– utenti non programmatori
– utenti delle applicazioni
0(&&$1,60,3(5,/&21752//2'(,'$7,
• Una caratteristica molto importante dei DBMS è il tipo di
meccanismi offerti per garantire le seguenti proprietà di
una base di dati:
– Integrità, sicurezza e affidabilità.
• Integrità: mantenimento delle proprietà specificate in
modo dichiarativo nello schema (vincoli d’integrità)
• Sicurezza: protezione dei dati da usi non autorizzati
• Affidabilità: protezione dei dati da malfunzionamenti
hardware o software (fallimenti di transazione, di sistema
e disastri) e da interferenze indesiderate dovute
all’accesso concorrente ai dati da parte di più utenti.
&KLIDFKHFRVD
• Operazioni sulla base dati
1. Modifica della struttura dati:
''/(Data Definition Language)
2. Modifica del contenuto:
'0/(Data Manipulation Language)
3. Interrogazione:
4/(Query Language)
• SQL (Structured Query Language) è il linguaggio standard
per svolgere tutte e 3 le operazioni
• Utenti della base dati
– Database Administrator (DBA)
– Programmatore applicativo
– Utente finale
FRPSRQHQWLGHOO¶DPELHQWH'%06
• Hardware
– da un pc a una rete di computer
• Software
– DBMS, sistema operativo, programmi applicativi,
software di rete (se necessario)
• Dati
–dell’organizzazione e una loro descrizione in schema e
sottoschema
• Procedure
– istruzioni e regole da applicare al progetto e all’uso del
database e dal DBMS
• Persone
– Data Base Administrator - DBA
– Data administrator, programmatori applicativi
– Progettisti di database (sia logici che fisico)
– Utenti