LE BASI DI DATI
prof. Losapio
1
LE APPLICAZIONI FILE-BASED
Un’applicazione è data dal software più i suoi dati:
APPLICAZIONE = PROGRAMMA + DATI
PROGRAMMA
APPLICAZIONE FILE-BASED è
un’applicazione composta dal suo software
più i suoi dati presenti ed accessibili
direttamente su memoria di massa.
Tutti controlli sui dati vengono effettuati dal
programma. Questo porta ad alcuni
inconvenienti.
Archivio 1
Archivio 2
2
Limiti dell’organizzazione degli
archivi fisici
Si consideri il seguente esempio di archivi fisici riguardante un’università in
cui sono presenti due settori distinti (Segreteria e Contabilità), ognuno dei
quali ha il proprio archivio degli studenti iscritti e la propria applicazione.
Esami (Segreteria)
Matricola
Cognome
Nome
345
Rossi
Mario
490
Verdi
902
Bianchi
DataEsame
Materia
Voto
12/11/2008
Algebra
26
Giuseppe
15/11/2008
Geometria
28
Antonio
18/11/2008
L.F.C.
28
Studenti (Contabilità)
Matricola
Cognome
Nome
345
Rossi
Mario
490
Verdi
Giuseppe
902
Bianchi
Antonio
CorsoLaurea
Il cognome ed il
nome di ogni
studente è
ripetuto. Questa
situazione è
detta
ridondanza dei
dati.
Matematica
Inegneria
Informatica
3
RIDONDANZA DEI DATI
1. Duplicazione dello spazio di memoria
La ridondanza dei dati
2. Inconsistenza dei dati
4
INCONSISTENZA DEI DATI
Ad es.
Cognome e Nome dello studente sono ripetuti nei due archivi. In caso di modifica del
Cognome (da ‘Rossi’ a ‘Rossino’) dello studente di matr. 345 solo nell’archivio STUDENTI,
avremmo l’archivio ESAMI con il cognome precedente (‘Rossi’). Questa situazione è un
errore perchè avremmo lo stesso studente con cognomi diversi, generando successivamente
confusione su quale cognome sia corretto.
Esami (Segreteria)
Matricola
Cognome
Nome
345
Rossi
Mario
490
Verdi
902
Bianchi
DataEsame
Materia
Voto
12/11/2008
Algebra
26
Giuseppe
15/11/2008
Geometria
28
Antonio
18/11/2008
L.F.C.
28
Studenti (Contabilità)
Matricola
Cognome
Nome
CorsoLaurea
345
Rossino
Mario
Matematica
490
Verdi
Giuseppe
Ingegneria
902
Bianchi
Antonio
Informatica
Lo studente di
matricola 345 ha
cognome ‘Rossi’
nell’archivio ESAMI
e ‘Rossino’
nell’archivio
STUDENTI
5
DIFFICOLTÀ NEL GESTIRE
INTEGRITÀ DEI DATI
I dati presenti nei due archivi devono rispettare alcune regole, ad esempio:
•Ogni studente presente nell’archivio ESAMI deve essere presente in STUDENTI
•Il voto massimo di un esame uiversitario è 30
Tutti i controlli che hanno il compito di rendere corretti i dati sono detti Vincoli di integrità.
Esami (Segreteria)
Matricola
Cognome
Nome
345
Rossi
Mario
490
Verdi
902
570
DataEsame
Materia
Voto
12/11/2008
Algebra
26
Giuseppe
15/11/2008
Geometria
35
Bianchi
Antonio
18/11/2008
L.F.C.
28
Viola
Massimo
19/11/2008
Biologia
20
Studenti (Contabilità)
Matricola
Cognome
Nome
CorsoLaurea
345
Rossi
Mario
Matematica
490
Verdi
Giuseppe
Ingegneria
902
Bianchi
Antonio
Informatica
Lo studente ‘Verdi’ in
ESAMI ha conseguito
35 in Geometria:
ERRORE!
Lo studente ‘Viola’ in
ESAMI ha sostenuto
un esame in Biologia
ma non risulta essere
iscritto: ERRORE!
6
DIFFICOLTÀ NEL GESTIRE
INTEGRITÀ DEI DATI
In un’applicazione file-based, i vincoli di integrità sono interni al programma.
Da ciò segue:
1.Il programma va modificato ogni volta che serve aggiungere/modificare un vincolo di
integrità: situazione probabile e svantaggiosa.
2.Se agli stessi dati accedono più programmi (magari scritti in linguaggi diversi) tutti quanti
questi programmi devono essere modificati: costi alti per l’aggiornamento e rischio che
qualche applicazione non venga aggiornata generando probabili errori.
3.I vincoli sono interni al programma quindi gli eventuali inserimenti/modifiche potrebbe farle
solo il programmatore che conosce sia il software da lui scritto che il linguaggio di
programmazione.
7
DIPENDENZA DAI DATI
In un’applicazione file-based, il programma dipende dagli archivi, segue che:
• All’interno del software devono essere specificati tutti i campi di ogni
archivio con le rispettive lunghezze.
• All’interno del software i campi devono essere indicato l’ordine con il quale
sono scritti nell’archivio.
• All’interno del software devono essere usate solo le operazioni permesse
dall’organizzazione dell’archivio.
OGNUNO DEI VINCOLI ILLUSTRATI RENDE DIPENDENTE IL
PROGRAMMA DAI DATI IMPONENDO LA MODIFICA DEL
PROGRAMMA, SPESSO COSTOSA E ‘RISCHIOSA’.
8
DIFFICOLTÀ NELL’ACCESSO
CONCORRENTE
Uno stesso programma può essere eseguito contemporaneamente da più utenti
che può portare alcuni problemi come la ‘perdita (o anomalia) di
aggiornamento)’. Ad es.
Supponiamo di voler effettuare due versamenti (uno di 300 euro e l’altro di 200
euro) su un c/c bancario che ha un saldo iniziale di 3500 euro. Al termine di
questi due versamenti il saldo dovrebbe avere 4000 euro.
Operazione
Utente 1
Utente 2
Archivio
1.
Utente 1 legge il saldo dall’archivio
3500
-
3500
2.
Utente 2 legge il saldo dall’archivio
3500
3500
3500
3.
Utente 1 versa 300 euro
3800
(3500+300)
3500
3500
4.
Utente 2 versa 200 euro
3800
3700
(3500+200)
3500
5.
Utente 1 scrive il saldo nell’archivio
3800
3700
3800
6.
Utente 2 scrive il saldo nell’archivio
3800
3700
3700
IL SALDO FINALE NELL’ARCHVIO È 3700 MA IL SALDO DOVEVA ESSERE
4000. ERRORE!
9
LIMITI NELLA RISERVATEZZA
Ogni utente dovrebbe poter accedere solo ai propri dati e non a quelli
appartenenti ad altri utenti.
Gli archivi sono dei file e come tali gli attuali sistemi operativi sono in
grado al più di gestire la riservatezza (lettura, scrittura, cancellazione,
variazione) a livello di file ma non di record o di campo.
Ad es.
Se un utente potesse accedere al conto corrente bancario di
un altro utente potrebbe non solo leggere i dati di quest’ultimo
ma teoricamente sottrarre dei soldi.
10
LIMITI NELLA RISERVATEZZA
MOVIMENTI_BANCARI
NumeroCC
Utente
Importo
DataMovimento
188
mario.rossi
-345,00
12/10/2008
356
giuseppe.verdi
+810,57
27/10/2008
188
mario.rossi
+780,89
11/10/2008
356
giuseppe.verdi
+56,10
13/11/2008
MOVIMENTI_BANCARI (come lo vede l’utente Mario Rossi)
NumeroCC
Utente
Importo
DataMovimento
188
mario.rossi
-345,00
12/10/2008
188
mario.rossi
+780,89
11/10/2008
Mario Rossi può
accedere solo ai
propri movimenti
MOVIMENTI_BANCARI (come lo vede l’utente Giuseppe Verdi)
NumeroCC
Utente
Importo
DataMovimento
356
giuseppe.verdi
+810,57
27/10/2008
356
giuseppe.verdi
+56,10
13/11/2008
Giuseppe Verdi può
accedere solo ai
propri movimenti
11
LIMITI NELLA SICUREZZA
Nel caso di applicazione file-based, il modo di evitare la perdita di dati
(dovuta a cause accidentali o malfunzionamenti del sistema) è l’uso
di tecniche di backup, le quali però non permettono di evitare alti
costi per il ripristino della situazione precedente.
Si consideri l’esempio seguente:
Si supponga che in una banca alle ore 14 si scopre che gli archivi sono
inconsistenti. La soluzione sarà:
1. Procedere alle operazioni su carta e non via computer
2. Ripristinare le copie di backup risalenti alla notte precedente
3. Reinserire, a partire dai documenti cartacei, tutte le operazioni svolte
sino alle 14
4. Reinserire, a partire dai documenti cartacei, tutte le operazioni svolte
dalle 14 sino al termine del ripristino.
5. Riattivare il sistema
12
LA BASE DI DATI
La soluzione ai limiti/problemi precedenti è la “base di dati” (o
“database”), intesa come:
“Insieme di archivi logicamente correlati e condivisi tra più utenti, aventi
lo scopo di soddisfare i fabbisogni informativi di una specifica
organizzazione”.
•Logicamente correlati: gli archivi hanno legami logici tra loro (ad es.
STUDENTI e DOCENTI hanno un legame logico).
•Condivisi tra più utenti: gli archivi possono essere usati
(contemporaneamente o non) da più utentti appartenenti ad una stessa
organizzazione.
•Soddisfare i fabbisogni informativi di una specifica organizzazione: una
base di dati dà la possibilità di scrivere/modificare/cancellare/leggere i
dati di un’azienda, gruppo di persone, ecc...
13
LA BASE DI DATI
Le basi di dati (database “deta-beis”) nacquero agli inizi degli anni ’70
quando il livello di evoluzione dei computer permise di produrre
software che permettesse di risolvere i problemi/limiti precedenti.
Il DBMS (DataBase Management System “DetaBeis Management
Sistem”) è un sistema software che ha lo scopo di gestire gli archivi (e
la loro descrizione) di una base di dati.
Applicazione FILE-BASED
Applicazione DATABASE-BASED
PROGRAMMA
PROGRAMMA
DBMS
Archivio 1
Archivio 2
Archivio 1
Archivio 2
14
IL DBMS
Il DBMS può essere visto come un interfaccia tra i dati che l’utente (il
programma utente) può vedere/usare e gli archivi fisicamente presenti in
memoria di massa.
Applicazione DATABASE-BASED
PROGRAMMA
DBMS
Archivio 1
Archivio 2
Il programma non accede più
direttamente agli archivi fisici ma
può usare i dati così come che il
DBMS li organizza (organizzazione
logica).
Archivi Logici: gli archivi visibili
all’utente e generati dal DBMS
Archivi fisici: gli archivi presenti in
memoria di massa
15
IL DBMS
PROGRAMMA
Archivi logici
DBMS
Il DBMS riorganizza/trasforma
gli archivi fisici in archivi logici
Ogni programma accede
direttamente agli archivi logici e
non agli archivi fisici
Archivi fisici
Archivio 1
Memoria di massa
16
INDIPENDENZA LOGICA DEI
DATI
IL DBMS deve risolvere i limiti/problemi legati ad un approccio FILEBASED:
1. Facilità di accesso (semplificare il ritrovamento dei dati in archivi
molto grandi e condisivi)
2. Indipendenza logica dei dati
3. Indipendenza fisica dei dati
4. Eliminazione della ridondanza (ogni dato è unico, non è ripetuto)
5. Eliminazione della inconsistenza
6. Integrità dei dati
7. Utilizzo da parte di più utenti (riservatezza dei dati)
8. Controllo della concorrenza (ogni utente non interferisce con il
lavoro di altri utenti concorrenti)
9. Sicurezza dei dati
17
INDIPENDENZA LOGICA DEI
DATI
Il DBMS permette ad ogni utente di far vedere/usare solo i propri dati,
segue che se avvengono delle modifiche agli archivi logici non è
necessario modificare la struttura dei dati che gli utenti usano.
Ad es.:
se ci sono due tabelle STUDENTI e CORSI_LAUREA, ci può essere un utente
interessato a vedere solo gli studenti del corso di laurea in Informatica. Se viene
aggiunto un campo (CodiceFiscale) all’archivio STUDENTI, non si dovrà
modificare niente per l’utente, permettendogli di continuare a vedere gli studenti
di Informatica che vedeva prima (magari ignorando il campo CodiceFiscale).
18
INDIPENDENZA FISICA DEI
DATI
Se avvengono delle modifiche a livello di archivi fisici (ad es. organizzazione
fisica, allocazione fisica dei file in memoria di massa) non è necessario
modificare nulla a livello di archivi logici e quindi niente anche nei programmi
che usano la base di dati.
Ad es.: in memoria di massa è presente l’archivio STUDENTI sottoforma
di file con percorso “C:\MieiArchivi\studenti.txt”, se per vari motivi si è
costretti a spostare tale file in nuova cartella
“C:\ArchiviCondivisi\studenti.txt”, non è necessario modificare i
programmi che usano l’archivio, ma è sufficiente informare il DBMS
del cambiamento.
19
INTEGRITÀ DEI DATI
I vincoli di integrità non risiedono più nei programmi che usano i dati
(approccio FILE-BASED) ma vengono gestite nel DBMS.
Ad es.: l’archivio ESAMI contiene tutti gli esami sostenuti in una certa
università. Uno dei campi è il campo DATA_ESAME, tale voto non può
essere maggiore di 30. Tale regola viene gestita ora dal DBMS. Se così
non fosse, in caso di modifica o di inserimento di una regola,
sarebbe stato necessario aggiornare tutti i programmi che usano
l’archivio. Ciò richiede non solo costi alti ma anche è rischioso perchè
tale modifica può generare errori.
20
Utilizzo da parte di più utenti
(riservatezza dei dati)
Il DBMS dà la possibilità ad ogni utente di vedere/usare i propri dati ed
ignorare quelli appartenenti ad altri utenti. Per ogni utente si possono
stabilire quali operazioni sui dati (scrittura, modifica, cancellazione e lettura)
sono consentite.
Nell’approccio FILE-BASED, era possibile solo stabilire se un archivio (file)
poteva essere modificato, cancellato o letto da un utente ma non “impedirgli”
di sbirciare nei dati altrui.
21
I LINGUAGGI DEI DBMS
IL DBMS è un sistema software che, come ogni programma, bisogna dirgli
cosa fare. Questo avviene con specifici linguaggi ognuno dei quali ha i
propri compiti:
1.DDL (Data Definition Language “Deta Definiscion Lenguig”) o linguaggio di
definizione dei dati: permette di creare nuove basi di dati, nuovi archivi e di
modificarne la struttura.
2.DML (Data Manipulation Language “Deta Manipulascion Lenguig”) o
linguaggio di manipolazione dei dati: permette di inserire, aggiornare e
cancellare dati.
3.QL (Query Language “Quiri Lenguig”) o linguaggio di interrogazione:
permette il ritrovamento dei dati.
22
I METADATI ED IL DIZIONARIO
DEI DATI
Il DBMS non solo gestisce gli archivi di dati, ma anche la loro struttura. Il
dato che descrive un altro è detto METADATO. Mentre l’insieme dei metadati
è detto DIZIONARIO DEI DATI o CATALOGO DEI DATI.
RUBRICA
DIZIONARIO DEI DATI
COGNOME
NOME
TELEFONO
CAMPO
Rossi
Mario
0883-888.666
COGNOME
testo
30
Verdi
Giuseppe
0883-777.494
NOME
testo
20
TELEFONO
testo
12
FORMATO
LUMGHEZZA
METADATO
23
IL DIZIONARIO DEI DATI
Il DIZIONARIO DEI DATI permette al DBMS di:
1. Garantire l’indipendenza logica dei dati
2. Realizzare controlli di integrità.
3. Permettere l’accesso al database solo ad utenti autorizzati consentendo
soltanto le operazioni autorizzate.
4. Realizzare i controlli di consistenza.
24
IL MODELLO LOGICO
MODELLO LOGICO
IL DBMS trasforma il modello fisico nel
modello logico.
DBMS
Il modello logico è ciò che è reso
disponibile all’utente.
MODELLO
FISICO
25
I PRINCIPALI MODELLI LOGICI
Dagli anni ‘60 in poi, i principali tipi di modelli logici sono tre:
•Modello gerarchico (fine anni ‘60)
•Modello reticolare (1971)
•Modello relazionale (1970)
26
IL MODELLO GERARCHICO
Il modello gerarchico rappresenta i dati sotto forma di struttura gerarchica
dove ci sono dei dati (detti “nodi”) che stanno in alto e dati che stanno in
basso. Le frecce di collegamento tra i nodi (dette “archi”) rappresentano
le associazioni logiche tra i dati.
Ad es.
Ai conti correnti di una banca corrispondono i rispettivi clienti
27
IL MODELLO GERARCHICO
Gli archi hanno una sola direzione (dal nodo padre, quello che sta in alto, al
nodo figlio, quello che sta in basso). Segue che dal nodo figlio non si può
risalire al padre.
• Conoscendo il numero di conto ‘5100’ posso conoscere i rispettivi intestatari (‘Gialli’ e
Verdi)
• conoscendo il cliente ‘Gialli Cavour’ non posso risalire al conto corrente da egli
posseduto.
28
IL MODELLO GERARCHICO
La situazione precedente si potrebbe risolvere facendo diventare nodi padre
il singolo cliente e come figli i conti ad essi intestati. Tale soluzione genera
però ridondanza, perchè il conto 5100 è duplicato.
29
IL MODELLO RETICOLARE
A cavallo tra gli anni ’60 e ’70 introduzione del modello reticolare con le
seguenti migliorie:
•Struttura a reticolo e non più gerarchica
•Eliminazione della ridondanza
Nel modello reticolare, ogni dato è rappresentato da un nodo e le
associazioni tra i dati sono rappresentate da archi con entrambe le direzioni.
A differenza dal modello gerarchico, ogni nodo può essere legato ad uno o
più nodi.
30
IL MODELLO RETICOLARE
A cavallo tra gli anni ’60 e ’70 introduzione del modello reticolare con le
seguenti migliorie:
•Struttura a reticolo e non più gerarchica
•Eliminazione della ridondanza
31
IL MODELLO RETICOLARE
•Conoscendo il conto (5100) posso trovare i suoi intestatari (‘Gialli’ e ‘Verdi’)
•Conoscendo un cliente (‘Gialli’) posso trovare il suo conto
•Nessun dato è ripetuto quindi ELIMINAZIONE DELLA RIDONDANZA
32
IL MODELLO RETICOLARE
•Complessità del modello dovuta alla presenza di un reticolo
•Elevata complessità di programmazione
•Maggiore velocità di ritrovamento perchè più vicino alla struttura
degli archivi in memoria di massa
33
IL MODELLO RELAZIONALE
Nel 1970 nacque il modello relazionale grazie al ricercatore IBM,
Edgar Frank Codd, con l’idea di un modello logico semplice che
superasse i limiti dei precedenti modelli logici.
•Il modello relazionale rappresenta i dati sotto forma di tabelle (dette
relazioni).
•Il modello relazionale è considerato il più semplice ed efficace per
rappresentare i dati perchè vicino al modo consueto di pensare i
dati.
34
IL MODELLO RELAZIONALE
La Relazione è un concetto matematico che ha una rapida ed
efficace rappresentazione nelle tabelle.
Il modello relazionale usa quindi il linguaggio matematico che:
•È un linguaggio universale
•Non ha nessuna ambiguità nella terminlogia e simbologia
35
IL MODELLO RELAZIONALE
CONTI
NumConto
Saldo
9000
120.345,00
7000
500,00
4500
3.500,00
5100
58.500,00
8000
6.320
4310
37,00
•I dati sono rappresentati sottoforma di tabelle
•Le associazioni tra i dati sono descritte all’interno delle tabelle stesse
36
IL MODELLO RELAZIONALE
Il modello relazionale ha una rappresentazione dei dati più vicina al modo
comune di organizzare i dati e più lontana dalla rappresentazione fisica dei
dati sulla memoria di massa.
SEGUE CHE
il ritrovamento dei dati richiede un tempo superiore a quello del modello
gerarchico e del modello reticolare, più vicini alla rappresentazione fisica dei
dati su memoria di massa.
37
IL MODELLO RELAZIONALE
Fino agli anni ’70, le capacità delle memorie centrali e la potenza di calcolo
erano limitate, quindi il modello gerarchico e reticolare, veloci e poco esigenti
dal punto di vista hardware (richiedevano una minore potenza di calcolo)
ebbero una grande diffusione.
Con l’aumentare delle capacità delle memorie centrali e della potenza di
calcolo dei processori, si diede maggiore importanza alla faciltà di
programmazione e di uso tipici del modello relazionale.
38
IL MODELLO RELAZIONALE
I modelli gerarchico e reticolare sono complessi dal punto di vista del
ritrovamento dei dati perchè significa individuare il percorso per ricercarli.
Tale approccio è detto di tipo PROCEDURALE, ovvero è necessario indicare
all’elaboratore COME eseguire la ricerca.
I DBMS relazionali (RDBMS) usano un approccio di tipo DICHIARATIVO, in
quanto è necessario specificare COSA si vuol trovare.
39
CONCLUSIONI SUI MODELLI
LOGICI
Oggi il modello relazionale è quello in assoluto più diffuso. Tutti i principali
DBMS sono di tipo relazionale e sono usati nei sistemi di elaborazione di
grandi/medie/piccole dimensioni.
40
LE FUNZIONI DEL DBMS
Le funzioni del DBMS:
1. Implementazione (creazione) del modello logico
2. Manipolazione ed interrogazione della base di dati
3. Controllo dell’integrità dei dati
4. Sicurezza e protezione
5. Supporto alle transazioni
41
Implementazione del modello
logico
Con implementazione del modello logico si intende:
1. Definizione delle strutture dei dati (schema logico)
2. Definizione delle viste.
 Una vista è una tabella virtuale (che non esiste fisicamente) ottenuta
dalla combinazione/unione dei dati appartenenti ad una o più tabelle
primarie (che esistono fisicamente: gli archivi).
 Le tabelle primarie sono modificabili mentre le viste non lo sono.
Una modifica sulle tabelle primarie potrebbe ripercuotersi sulla vista.
42
Implementazione del modello
logico
STUDENTI
Matricola
Cognome
Nome
CorsoLaurea
9010Y
Rossi
Mario
Biologia
1006U
Verdi
Giuseppe
Informatica
5754G
Maroni
Francesco
Informatica
8894T
Bianchi
Antonio
Matematica
STUDENTI_INFORMATICA
Matricola
Cognome
Nome
CorsoLaurea
1006U
Verdi
Giuseppe
Informatica
5754G
Maroni
Francesco
Informatica
Ad es.
Si consideri l’archivio (o
tabella primaria) STUDENTI,
contenente tutti gli studenti
iscritti ad un certa università.
La
vista
di
nome
STUDENTI_INFORMATICA che
contiene (virtualmente, non
fisicamente) tutti gli studenti
presenti
nella
tabella
STUDENTI ed iscritti ad
Informatica.
43
Implementazione del modello
logico
STUDENTI
Matricola
Cognome
Nome
CorsoLaurea
9010Y
Rossi
Mario
Biologia
1006U
Verdi
Giuseppe
Informatica
5754G
Maroni
Francesco
Ing. elettronica
8894T
Bianchi
Antonio
Matematica
STUDENTI_INFORMATICA
Matricola
1006U
Cognome
Verdi
Nome
Giuseppe
CorsoLaurea
Informatica
Le viste non sono
modificabili ma riflettono i
cambiamenti fatti sulle
corrispondenti tabelle
primarie.
Nella vista
STUDENTI_INFORMATICA non
è più presente lo studente
Maroni Francesco perchè
non è più iscritto ad
Informatica
44
Implementazione del modello
logico
3. Organizzazione fisica degli archivi e loro occupazione dello spazio in
memoria di massa.
45
Manipolazione ed
interrogazione del database
1. Manipolazione (inserimento/modifica/cancellazione) e ricerca dei dati
(DML, DDL e QL)
2. Strumenti software per gestire la base di dati (manipolazione,
interrogazione ed organizzazione)
46
Sicurezza e protezione
1. Strumenti di backup/restore per evitare danni in caso di
malfunzionamenti hw e sw
2. Autorizzazione degli utenti che accedono al database e relativi dati da
loro visibili
3. Concorrenza tra più utenti
47
Supporto alle transazioni
Una transazione è un insieme di operazioni che vengono eseguite come se
fossero una sola. Se solo una delle sotto-operazioni dà errore, la
transazione fallisce e vengono annullate tutte le operazioni precedenti.
Ad es.Si supponga di voler fare un bonifico di 1500 euro dal c/c bancario A
al c/c bancario B. E’ necessario eseguire le seguenti operazioni:
1.
2.
3.
4.
5.
Leggere il saldo di A
Diminuire il saldo di A di 1500 euro
Memorizzare il nuovo saldo di A
Leggere il saldo di B
Aumentare il saldo di B di 1500
euro
6. memorizza il nuovo saldo di B
48
Supporto alle transazioni
La transazione garantisce il corretto completamento delle operazioni in
presenza di utenti concorrenti.
49
IL DIZIONARIO DEI DATI
Tutti i dati che riguardano le predette funzioni del DBMS sono contenuti nel
dizionario (o catalago del database). In particolare:
• I metadati sugli archivi logici
• Le associazioni tra archivi
• Le viste
• I vincoli di integrità
• Gli utenti e rispettive autorizzazioni (ovvero quali operazioni possono fare
e su quali dati)
50
GLI UTENTI DI UN DATABASE
1. Amministratore del database (o DBA, DataBase Administrator):
amministra la base di dati in particolare:
•
Implementa il modello logico
•
Gestisce la sicurezza
•
Gestisce la riservatezza definendo nuove viste
•
Gestisce il database dal punto di vista fisico (efficienza del
database ed ottimizzazione delle risorse del db)
51
GLI UTENTI DI UN DATABASE
2. Programmatore: creano nuove applicazioni usando opportuni linguaggi
di programmazione ed i comuni linguaggi dei database (DDL, DML e QL)
3. Utente finale: sono i veri e propri utenti della base di dati. Manipolano i
dati e li interrogano usando i comuni linguaggi dei database oppure
opportuni strumenti sw che facilitano i compiti predetti.
52
Descargar

LE BASI DI DATI - Suore Salesiane dei Sacri Cuori