LE BASI DI DATI - Suore Salesiane dei Sacri Cuori

Download Report

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