lezione del 08/04/2008

annuncio pubblicitario
Lezione 8: DB e DBMS
Sommario
Architetture sw
Basi di Dati
• definizioni
• Caratteristiche
DBMS
• Funzionalità
• linguaggi
Sistemi e Tecnologie Informatiche
2
1
Architettura programma
applicativo
Interfaccia Utente (IU)
Logica Applicativa (LA)
Base di Dati (DB)
IU
LA
DB
Sistemi e Tecnologie Informatiche
3
Integrazione dei dati
Utilizzo e condivisione di:
•
•
•
archivi comuni a più aree funzionali
processi e procedure automatizzate relative
all’attività dell’azienda
rapporti che la stessa intrattiene con i suoi
stakeholder (clienti, fornitori, pubblica
amministrazione ecc.)
Sistemi e Tecnologie Informatiche
4
2
Base dati comune a più
applicazioni
Sistemi e Tecnologie Informatiche
5
Obiettivi dell’integrazione dei
dati
Ottimizzare la disponibilità delle informazioni ai
responsabili di decisioni
Razionalizzare i cicli di lavoro
Ridurre la ridondanza dei dati
Aumentare l’integrità (controllo) dei dati
Ridurre i costi di acquisizione dei dati
Creare i presupposti per un’integrazione funzionale o
dei processi
Sistemi e Tecnologie Informatiche
6
3
base di dati (database)
raccolta (organizzata, persistente, condivisa, di
notevoli dimensioni e varietà) di dati la cui gestione
è affidata ad un sistema di elaborazione (in generale
tramite un computer “database server” accessibile in
un ambiente distribuito in rete a più stazioni di
lavoro client)
Sistemi e Tecnologie Informatiche
7
Le basi di dati sono ...
persistenti: hanno un tempo di vita indipendente
dalle singole esecuzioni dei programmi che le
utilizzano (è la “memoria” dell‘organizzazione)
condivise: ogni organizzazione (specie se
grande) è divisa in settori o comunque svolge
diverse attività. Ciascun settore/attività ha un
(sotto)sistema informativo (non necessariamente
disgiunto)
grandi: dimensioni (molto) maggiori della memoria
centrale dei sistemi di calcolo utilizzati. Il limite
deve essere solo quello fisico dei dispositivi
Sistemi e Tecnologie Informatiche
8
4
Archivi e basi di dati
Gestione
orario lezioni
Archivio 1:
orario lezioni
Gestione
ricevimento
Archivio 2:
ricevimento
Sistemi e Tecnologie Informatiche
9
Problemi
Ridondanza:
• informazioni ripetute
Rischio
di incoerenza:
• le versioni possono non coincidere
Sistemi e Tecnologie Informatiche
10
5
Archivi e basi di dati
Gestione
orario lezioni
Base di dati
Gestione
ricevimento
Sistemi e Tecnologie Informatiche
11
Le basi di dati sono condivise
Una base di dati e' una risorsa integrata,
condivisa fra applicazioni
conseguenze
• Attivita' diverse su dati condivisi:
• meccanismi di autorizzazione
• Accessi di più utenti ai dati condivisi:
•
controllo della concorrenza
Sistemi e Tecnologie Informatiche
12
6
garantiscono ... privatezza
Si possono definire meccanismi di
autorizzazione
• l'utente A è autorizzato a leggere tutti i dati e
•
a modificare quelli sul ricevimento
l'utente B è autorizzato a leggere X e a
modificare Y
Sistemi e Tecnologie Informatiche
13
garantiscono... affidabilità
Affidabilità (per le basi di dati):
•
resistenza a malfunzionamenti hardware e software
Una base di dati è una risorsa pregiata e quindi deve
essere conservata a lungo termine
Tecnica fondamentale:
•
gestione delle transazioni
Sistemi e Tecnologie Informatiche
14
7
“Base” e “Banca”
fondamento del sistema informativo aziendale ad
essa associato
a volte anche detta “BANCA DATI”
•
•
deposito di preziosa risorsa aziendale
anche se il termine banca dati viene preferibilmente
associato a servizi informativi “di mercato” (o di
intermediazione) disponibili via rete
Sistemi e Tecnologie Informatiche
15
Criteri di classificazione dei dati
Tipo di dato (numerico, alfanumerico,...)
Formato (audio, testo, immagini)
Formattazione (formattati, non formattati)
Fase del processo di elaborazione (input, output)
Impiego in ambito aziendale (principali, modificabili,
di archivio, di inventario, variabili, di trasferimento,
temporanei)
Sistemi e Tecnologie Informatiche
16
8
origine delle basi dati...
ridondanza
•
•
•
•
duplicazione informazione in più archivi
spreco risorse (spazio sui dischi)
disallineamento dati, es:
l’indirizzo di un cliente modificato solo in uno degli
archivi clienti; un archivio con 220 dipendenti ed un
altro con 199
procedure accesso dati (interrogazione o modifica)
replicate (o riattivate) per tutti gli archivi contenenti
la stessa informazione
Sistemi e Tecnologie Informatiche
17
... origine delle basi dati...
l’economia di scala (sviluppo interfacce d’utente per
tutti gli archivi) giustifica linguaggi specializzati ed
ambienti di interazione sofisticati (usabilità)
non tutti possono accedere a tutte le informazioni
(privatezza); es: il cliente bancomat non può
modificare il suo saldo
vincoli di validità (consistenza e integrità); es: prima di
consentire un’operazione occorre sapere se si può
effettuare in quel modo (una età negativa o che
decresce)
Sistemi e Tecnologie Informatiche
18
9
... origine delle basi di dati
concorrenza
•
accesso contemporaneo ad una informazione (giacenza
magazzino) e modifica credendo di disporne, non
sapendo che altri sono collegati (vendita stesso unico
articolo)
manutenzione ed affidabilità
•
difficile individuazione malfunzionamenti e ripristino (in
caso di guasto), non essendo centralizzati devono
ripetersi su tutti gli archivi (con diverse modalità ed
affidabilità)
Sistemi e Tecnologie Informatiche
19
base di dati
una sola rappresentazione evita ridondanza,
disallineamento e inutili ripetizioni di operazioni
si può controllare meglio: concorrenza su dati
condivisi e rispetto vincoli di integrità
l’accesso è regolato da un gestore della base
dati, che assicura: efficienza, usabilità,
privatezza, affidabilità dei dati
Sistemi e Tecnologie Informatiche
20
10
Confronto fra organizzazioni dati
Sistemi e Tecnologie Informatiche
Organizzazione dei file e dei21database – 4.2.3
21
dai file ai database
Svantaggi di una organizzazione orientata ai file
•
•
•
Ridondanza indesiderata
Mancanza allineamento negli aggiornamento dei
dati
Dipendenza dei dati dai processi
Organizzazione dei dati in database
•
Permette di rendere i dati indipendenti dai singoli
programmi che vi accedono e dal supporto fisico sul
quale sono memorizzati, grazie alla netta
separazione tra la strutturazione logica e la
memorizzazione fisica
Sistemi e Tecnologie Informatiche
22
11
DataBase Management System
Sistemi e Tecnologie Informatiche
23
DBMS: DataBase
Management System
complesso sistema s/w specializzato per sviluppare e
gestire una base di dati condivisa da applicazioni ed/od
utenti
supera gli svantaggi causati dall’uso non integrato degli
archivi
gestisce in modo centralizzato ed unificato (semplice,
sicuro, efficiente) i dati e le procedure per accedere alle
informazioni contenute nella base dati
coordina e controlla l’utilizzo contemporaneo da parte di
più utenti
Sistemi e Tecnologie Informatiche
24
12
Proprietà dei DBMS
Indipendenza logica e fisica dei dati
Ridondanza dei dati pianificata e controllata
Consistenza dei dati
Integrità semantica e operazionale del database
(esattezza e completezza dei dati)
Sicurezza dei dati
Sistemi e Tecnologie Informatiche
Architettura dei sistemi di25database – 4.2.6
25
funzionalità di un DBMS
ambiente per la definizione delle strutture dei dati e
delle procedure di accesso
ambiente per la interazione da parte di un utente o di
un programma
sistema di gestione centralizzato dei dati
separazione di aspetti logici e fisici
controllo dell’accesso concorrente (simultaneo) ai dati
sicurezza (guasti, autorizzazioni,...)
Sistemi e Tecnologie Informatiche
26
13
DBMS
Prodotti software (complessi) disponibili sul
mercato; esempi:
•
•
•
•
•
•
Access
DB2
Oracle
Informix
Sybase
SQLServer
Sistemi e Tecnologie Informatiche
27
gli utenti coinvolti
amministratori della base dati (dba)
•
programmatori sviluppatori di applicazioni
•
gestione globale DB, coordinano attività inter settoriali ed applicative
comuni, eventualmente specializzati per settore o classe utenti tramite
definizione e gestione di viste settoriali
realizzano (query language, linguaggi ospite ed ambienti di interazione)
in modo ottimale le funzionalità operative di uso frequente
utenti finali ed occasionali
•
interagiscono con la base dati:
• direttamente tramite viste e semplici linguaggi di interrogazione
(utenti occasionali)
• indirettamente, tramite applicazioni ad hoc
Sistemi e Tecnologie Informatiche
28
14
il livello logico
rappresentazione “logica” dell’intera base dati: facile
da capire e usare per sviluppare applicazioni
(comuni)
indipendente da scelte fisiche (non sempre
comprensibili e dettate da compatibilità tecnologica,
ottimizzazione prestazioni)
indipendente dalle personalizzazioni
basato su un modello logico dei dati (ed un relativo
linguaggio formale)
Sistemi e Tecnologie Informatiche
29
le primitive dei
linguaggi
definizione dati (DDL: Data Definition Language)
•
per definire gli schemi interni, logici e fisici (strutture) e le
modalità di memorizzazione (DSDL, Data Storage
Description Language)
amministrazione
•
per classificare gli utenti e concedere le autorizzazioni,
per specificare salvataggi e recovery, ....
manipolazione dati (DML)
•
per estrarre, inserire, cancellare, modificare i dati (query
language), autonomo o con primitive immerse in un
linguaggio ospite (C,Cobol,Java,..)
interazione e visualizzazione
•
ambiente (grafico o multimediale) per interagire con la
base dati attivando le primitive del DML
Sistemi e Tecnologie Informatiche
30
15
Linguaggi per basi di dati
Un altro contributo all’efficacia: la disponibilità di vari
linguaggi ed interfacce
linguaggi testuali interattivi interpretati (SQL)
comandi (SQL) immersi in un linguaggio ospite (Pascal,
Java, C ...)
comandi (SQL) immersi in un linguaggio ad hoc, con
anche altre funzionalità (p.es. per grafici o stampe
strutturate)
con interfacce amichevoli (senza linguaggio testuale)
Sistemi e Tecnologie Informatiche
31
Linguaggi dichiarativi d’interrogazione
SQL (Structured Query Language)
Embedded SQL
QBE, Query by example
OQL, Object Query Language
Sistemi e Tecnologie Informatiche
32
16
SQL, un linguaggio interattivo
"Trovare i corsi tenuti in aule a piano
terra"
Corsi
Corso Docente Aula
Basi di dati Rossi DS3
Neri
N3
Sistemi
Reti
Bruni
N3
Controlli
Bruni
Aule
Nome
DS1
N3
G
Edificio
OMI
Piano
Terra
OMI
Terra
Pincherle Primo
G
Sistemi e Tecnologie Informatiche
33
SQL, un linguaggio interattivo
SELECT Corso, Aula, Piano
FROM Aule, Corsi
WHERE Nome = Aula
AND Piano = "Terra"
Corso
Sistemi
Reti
Aula
N3
N3
Piano
Terra
Terra
Sistemi e Tecnologie Informatiche
34
17
Interazione non testuale
(Access)
Sistemi e Tecnologie Informatiche
35
Esempio di codice SQL immerso
in linguaggio ospite
write('nome della citta''?'); readln(citta);
EXEC SQL DECLARE P CURSOR FOR
SELECT NOME, REDDITO
FROM PERSONE
WHERE CITTA = :citta ;
EXEC SQL OPEN P ;
EXEC SQL FETCH P INTO :nome, :reddito ;
while SQLCODE = 0 do begin
write('nome della persona:', nome, 'aumento?');
readln(aumento);
EXEC SQL UPDATE PERSONE
SET REDDITO = REDDITO + :aumento
WHERE CURRENT OF P
EXEC SQL FETCH P INTO :nome, :reddito
end;
EXEC SQL CLOSE CURSOR P
Sistemi e Tecnologie Informatiche
36
18
Progettazione Database
37
Sistemi e Tecnologie Informatiche
MODELLI PER IL DATABASE
LIVELLO CONCETTUALE
Entità
MODELLO E/R
GERARCHICO 1970
LIVELLO LOGICO
Attributi e vincoli
RETICOLARE fine anni 70
MODELLO RELAZIONALE
LIVELLO FISICO
Più file separati
File unico, FLAT FILE
14 novembre 2007
38
19
Differenze fra i modelli
il modello relazionale
e’ basato su valori, nel senso che le
corrispondenze fra dati in relazioni diverse sono rappresentate per
mezzo della presenza di valori comuni
il modello reticolare e quello gerarchico sono basati
su puntatori, utilizzati come riferimenti espliciti fra record di tipi
diversi
14 novembre 2007
39
MODELLO GERARCHICO
Il primo modello gerarchico si affermò nel 1968 si chiamava IMS
(Information Management System) e fu sviluppato da IBM. Oggi
resistono sui mainframe.
I dati sono organizzati in record connessi tra loro secondo strutture
ad albero. L’albero è formato da 2 tipi di record: il record OWNER
(proprietario) e il record MEMBER (componente).
Ogni record del database, che non sia la radice dell' albero, deve
avere uno e un solo padre
Es. il file system del sistema operativo: ogni cartella è contenuta in
una cartella padre tranne che la root
Limiti:
non si presta a rappresentare in modo efficiente
le associazioni N:M
14 novembre 2007
40
20
Esempio db gerarchico
scuola
docente
Tanti alberi quante sono le scuole
S01
D01 De Nicolo
ITCS Giordano
Anita
S02
D07
D02
Mitolo
Nicola
D06
Nimeo
Marini
Carlo
>>Ridondanza<<
ITCS Dell’Olio
Sicolo
Lucia
14 novembre 2007
D05
Rosa
D01 De Nicolo
41
Anita
MODELLO RETICOLARE
Si affermò CODASYL (fine anni 70) sviluppato dal gruppo di
standardizzazione del linguaggio COBOL
Un record puo’ avere uno o piu’ record padre e cio’ permette di
evitare i problemi di ridondanza
Il modello reticolare e’ così chiamato poiche’ ogni suo
schema puo essere rappresentato per mezzo di un grafo (o
una rete), con nodi e archi.
Limiti: Complessa la gestione difficile il progetto
14 novembre 2007
42
21
Esempio db reticolare
scuola
S01
D02
Mitolo
docente
ITCS Giordano
Nicola
D05
S02
D01 De Nicolo
Marini
Carlo
ITCS Dell’Olio
Anita
D07
Sicolo
14 novembre 2007
Lucia
43
MODELLO RELAZIONALE
Lo progettò nel 1970 Edgar Codd(IBM)
Insieme di tabelle messe in relazione tra loro tramite i campi
Campi comuni tra tabelle stabiliscono le relazioni della base di dati
OPERAZIONI RELAZIONALI
La Proiezione e’ una visualizzazione "verticale" della tabella (solo
alcune colonne).
La Selezione e’ una visualizzazione "orizzontale" della tabella (solo
alcune righe che soddisfano una condizione).
Il Join e’ l' unione di record che sono memorizzati su tabelle
diverse.
14 novembre 2007
44
22
Esempio db relazionale
studente
esame
14 novembre 2007
corso
docente
45
Database orientati agli oggetti
L’OODB (Object Oriented DataBase è un modello più recente di
database che nasce dall’esigenza di gestire informazioni
multimediali: immagini, audio, video, documenti e risorse Internet.
Insieme ai dati nel database sono specificate le modalità di
accesso più adatte al formato che si sta trattando: i metodi e i dati
sono inglobati nelle classi proprio come prescrive il paradigma della
programmazione Object Oriented.
Esempi di DBMS orientati agli oggetti sono Versant, Objectstore e
Poet
14 novembre 2007
46
23
Progettazione concettuale
Sistemi e Tecnologie Informatiche
47
diagramma E/R
(insiemi di) entità con (insiemi di) associazioni che
esprimono le informazioni significative
associazioni binarie, ma anche ternarie, e, in
generale, k-arie (con k ≥ 2, numero di entità poste in
associazione reciproca)
modello grafico per descrivere (utente,
documentazione) lo schema concettuale
convenzioni per indicare entità, associazioni, ruoli e
loro proprietà
Sistemi e Tecnologie Informatiche
48
24
tipici simboli grafici
AUTO
ENTITÀ
ASSOCIAZIONE
VENDE
IMMATRICOLAZIONE
ANNO
ATTRIBUTO E DOMINIO
49
Sistemi e Tecnologie Informatiche
esempio
di realtà
insieme
d’esemplarimodellata
AUTO
CLIENTE
Rossi
Neri
Verdi
…..
Lancia Y AY123xx
Panda AY323yy
Panda AY323ZZ
….
di entità
COMPRA
insieme d’esemplari di
associazione
DIRIGE
CONCESSIONARIO
Rosati Lancia
Fiat Magliana
…..
LAVORA
superiore
inferiore
Tizio
Caio
Sempronio
IMPIEGATO
Sistemi e Tecnologie Informatiche
50
25
schema E/R
CLIENTE
associazione
ternaria
associazione
ricorsiva
AUTO
superiore
COMPRA
inferiore
DIRIGE
CONCESSIONARIO
IMPIEGATO
LAVORA
associazione
binaria
51
Sistemi e Tecnologie Informatiche
schema E/R con attributi
nome
c.fiscale
CLIENTE
COMPRA
tipo
colore
targa
AUTO
data acquisto
prezzo
DIRIGE
nome
CONCESSIONARIO
LAVORA
IMPIEGATO
indirizzo
qualifica
città attributo composito
(o aggregato)
cap
Sistemi e Tecnologie Informatiche
via
nome
52
26
Entity/Relationship
il formalismo E/R
insieme entità (AUTO)
•
associazione (IMPIEGATO lavora per DITTA)
•
corrispondenza tra due o più entità (aggregazione)
attributo (il COLORE dell’AUTO)
•
insieme di oggetti con “proprietà comuni” rispetto alla
realtà osservata (uso della classificazione)
una proprietà elementare di interesse per un’entità od una
associazione (ulteriore uso di aggregazione)
dominio (COLORI)
•
l’insieme dei valori “ammissibili” per un attributo
(classificazione)
Sistemi e Tecnologie Informatiche
53
cardinalità
è una tipica caratteristica descrittiva (concettuale e
logica) per le informazioni
può essere alla base di vincoli d’integrità
rappresenta la variabilità numerica ammissibile nelle
corrispondenze fra oggetti appartenenti a due insiemi
(nell’ambito di una aggregazione)
può riguardare sia gli attributi (cardinalità rispetto
all’insieme dei valori) che le associazioni (cardinalità tra
insiemi entità)
Sistemi e Tecnologie Informatiche
54
27
chiavi e identificatori
chiave (candidata)
•
chiave primaria
•
•
un insieme minimo di attributi i cui valori non sono mai
indefiniti (nulli) e che inoltre consentono di individuare
univocamente un esemplare di entità nell’insieme
tra le chiavi candidate se ne sceglie una che meglio si
presta come “identificatore” (sinonimo dell’entità)
detta “primaria” perché usata più frequentemente o per
accedere più rapidamente ai dati nelle interrogazioni
identificatore interno
•
attributo (spesso numerico, sintetico e di scarso interesse
per l’utente) usato dal sistema per identificare l’entità (e
che spesso non viene indicato nello schema)
Sistemi e Tecnologie Informatiche
55
28
Scarica