Transcript LE BASI DI DATI - Suore Salesiane dei Sacri Cuori
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 DataEsame Materia Voto
345 490 902
Studenti (Contabilità) Matricola
Rossi Verdi Bianchi Mario Giuseppe Antonio
Cognome
12/11/2008 15/11/2008 18/11/2008
Nome
Algebra Geometria L.F.C.
CorsoLaurea
26 28 28 Il cognome ed il nome di ogni studente è ripetuto. Questa situazione è detta
ridondanza dei
dati.
345 Rossi Mario Matematica 490 902 Verdi Bianchi Giuseppe Antonio Inegneria Informatica 3
RIDONDANZA DEI DATI
La ridondanza dei dati
1. Duplicazione dello spazio di memoria 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
345 490 902
Rossi
Verdi Bianchi
Nome
Mario Giuseppe Antonio
Studenti (Contabilità) Matricola Cognome
345
Rossino
490 902 Verdi Bianchi
DataEsame
12/11/2008 15/11/2008 18/11/2008
Nome
Mario Giuseppe Antonio
Materia
Algebra Geometria L.F.C.
CorsoLaurea
Matematica Ingegneria Informatica
Voto
26 28 28 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
345 490 902
570 Cognome
Rossi Verdi Bianchi
Viola Studenti (Contabilità) Matricola Cognome
345 Rossi
Nome
Mario Giuseppe Antonio
Massimo
490 902 Verdi Bianchi
DataEsame
12/11/2008 15/11/2008 18/11/2008
19/11/2008 Nome
Mario Giuseppe Antonio
Materia
Algebra Geometria L.F.C.
Biologia CorsoLaurea
Matematica Ingegneria Informatica
Voto
26
35
28
20
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
1.
Utente 1 legge il saldo dall’archivio 2.
Utente 2 legge il saldo dall’archivio 3.
Utente 1 versa 300 euro
Utente 1 3500
3500
3800 (3500+300)
3800
Utente 2
-
3500
3500
Archivio
3500 3500 3500 4.
Utente 2 versa 200 euro 5.
Utente 1 scrive il saldo nell’archivio 6.
Utente 2 scrive il saldo nell’archivio 3800 3800
3700 (3500+200)
3700 3700 3500
3800 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
188 356 188 356 mario.rossi
giuseppe.verdi
mario.rossi
giuseppe.verdi
Importo
-345,00 +810,57 +780,89 +56,10
DataMovimento
12/10/2008 27/10/2008 11/10/2008 13/11/2008
MOVIMENTI_BANCARI (come lo vede l’utente Mario Rossi) NumeroCC Utente Importo DataMovimento
188 188 mario.rossi
mario.rossi
-345,00 +780,89 12/10/2008 11/10/2008
MOVIMENTI_BANCARI (come lo vede l’utente Giuseppe Verdi) NumeroCC
356 356
Utente
giuseppe.verdi
giuseppe.verdi
Importo
+810,57 +56,10
DataMovimento
27/10/2008 13/11/2008
Mario Rossi può accedere solo ai propri movimenti 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
dati di un’azienda, gruppo di persone, ecc... : una base di dati dà la possibilità di scrivere/modificare/cancellare/leggere i 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
PROGRAMMA
Applicazione DATABASE-BASED
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 Il DBMS riorganizza/trasforma gli archivi fisici in archivi logici Ogni programma accede direttamente agli archivi logici e non agli archivi fisici DBMS Archivi fisici Archivio 1 Memoria di massa 16
INDIPENDENZA LOGICA DEI DATI
IL DBMS deve risolvere i limiti/problemi legati ad un approccio FILE BASED:
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”
del cambiamento.
, non è necessario modificare i programmi che usano l’archivio, ma è sufficiente informare il DBMS 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 COGNOME
Rossi Verdi
NOME
Mario Giuseppe
TELEFONO
0883-888.666
0883-777.494
DIZIONARIO DEI DATI CAMPO
COGNOME NOME TELEFONO
FORMATO
testo testo testo
LUMGHEZZA
30 20 12 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 DBMS IL DBMS trasforma il modello fisico nel modello logico. 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
seguenti migliorie: con le •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 9000
7000 4500 5100 8000 4310 •I dati sono rappresentati sottoforma di tabelle •Le associazioni tra i dati sono descritte all’interno delle tabelle stesse
Saldo 120.345,00
500,00 3.500,00 58.500,00 6.320
37,00 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
9010Y 1006U 5754G 8894T Rossi Verdi Maroni Bianchi
Nome
Mario Giuseppe Francesco Antonio
CorsoLaurea
Biologia Informatica Informatica Matematica Ad es. Si consideri l’archivio (o tabella primaria) STUDENTI, contenente tutti gli studenti iscritti ad un certa università.
STUDENTI_INFORMATICA
Matricola Cognome Nome
1006U 5754G Verdi Maroni Giuseppe Francesco
CorsoLaurea
Informatica Informatica La presenti vista di nome STUDENTI_INFORMATICA che contiene (virtualmente, non fisicamente) tutti gli studenti nella tabella STUDENTI Informatica.
ed iscritti ad 43
Implementazione del modello logico
STUDENTI
Matricola Cognome
9010Y 1006U 5754G 8894T Rossi Verdi Maroni Bianchi
Nome
Mario Giuseppe Francesco Antonio
CorsoLaurea
Biologia Informatica
Ing. elettronica
Matematica Le viste non sono modificabili ma riflettono i cambiamenti fatti sulle corrispondenti tabelle primarie.
STUDENTI_INFORMATICA
Matricola Cognome Nome
1006U Verdi Giuseppe
CorsoLaurea
Informatica 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. Leggere il saldo di A 2. Diminuire il saldo di A di 1500 euro 3. Memorizzare il nuovo saldo di A 4. Leggere il saldo di B 5. 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