...

Informatica Vantaggi dei DBMS Svantaggi dei DBMS Basi di dati

by user

on
Category: Documents
516

views

Report

Comments

Transcript

Informatica Vantaggi dei DBMS Svantaggi dei DBMS Basi di dati
Vantaggi dei DBMS
•
Permettono di considerare i dati come risorsa di un’organizzazione –
Informatica
•
–
•
Lezione 4
•
Preciso riutilizzabile
Preciso, riutilizzabile
Controllo centralizzato dei dati
–
Laurea magistrale in Scienze della mente
Laurea magistrale in Psicologia dello sviluppo e dell'educazione Una risorsa comune: a disposizione di molteplici utenti e applicazioni
Offrono un modello formale della realtà di interesse Riduzione di ridondanze e inconsistenze
Indipendenza dei dati
–
Sviluppo di applicazioni flessibili e modificabili
Anno accademico: 2011‐2012
1
Svantaggi dei DBMS
2
Basi di dati
• Complessi, costosi, hanno specifici requisiti in termini di software e hardware
• Difficile separare servizi utili da quelli inutili
• Alcuni sono inadatti alla gestione di poche Alcuni sono inadatti alla gestione di poche
informazioni condivise da un numero basso di utenti
Un DBMS gestisce insiemi di dati:
a. grandi
b. persistenti
c condivisi
c.
garantendo
d. affidabilità
e. privatezza
f. efficienza
g. efficacia
3
Le basi di dati sono … grandi
4
Le basi di dati sono … persistenti
a. Dimensioni: un DB può avere dimensioni di decine di Terabyte
→ un DBMS deve gestire i dati sulla memoria un DBMS deve gestire i dati sulla memoria
secondaria
b. Persistenza: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni
→ un DBMS deve gestire i dati sulla memoria secondaria
5
6
1
Le basi di dati sono … condivise
Le basi di dati sono … condivise
c. Condivisione: i dati di un DB devono essere condivisibili da più utenti che utilizzano varie applicazioni (ad esempio azienda con magazzino)
esempio, azienda con magazzino)
L’accesso si deve svolgere secondo opportune modalità
Utente 1
Applicazione
Applicazione
Utente 2
Utente 3
Utente 4
Applicazione
Applicazione
Applicazione
DBMS
DB
7
8
Le basi di dati sono … condivise
Le basi di dati sono … condivise
• La condivisione permette di evitare ridondanza e incoerenza
• Ridondanza: informazioni ripetute
• Incoerenza: errori di “allineamento” dei dati
•
•
•
•
Condivisione Æ concorrenza
Concorrenza: nello stesso momento più applicazioni possono accedere al medesimo dato; tali accessi non devono interferire tra loro per garantire l’integrità dei dati Ad esempio: se due assegni vengono incassati contemporaneamente sullo stesso c/c, non bisogna trascurarne nessuno
I DB forniscono meccanismi per gestire la concorrenza e regolamentare gli accessi
9
10
I DBMS garantiscono … affidabilità
I DBMS garantiscono … privatezza
d.Affidabilità: il DBMS garantisce il contenuto del DB in caso di malfunzionamenti hardware o software
• I DBMS danno backup
I DBMS danno backup e recovery
e recovery
e. Privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazione
Es. biblioteca: 11
a.
il lettore ha diritto di lettura e ricerca dei dati, ma non di modifica/inserimento
b. il bibliotecario ha diritto di modificare i dati: deve aggiungere/togliere libri e segnalare i prestiti
12
2
I DBMS garantiscono … efficienza
I DBMS garantiscono … efficacia
f. Efficienza: le operazioni devono essere svolte in tempi accettabili per l’utente (molto brevi!) nonostante la grande mole di dati
nonostante la grande mole di dati
g. Efficacia: cercano di rendere produttiva l’attività dell’utente, offrendo funzionalità articolate, potenti e flessibili
potenti e flessibili
13
Modelli dei dati
14
Modello logico dei dati
• Modello dei dati: insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura
• Due tipi principali di modelli: logico e Due tipi principali di modelli: logico e
concettuale
• Sottintende una specifica rappresentazione dei dati (tabelle, alberi, grafi, oggetti …)
• Descrive i dati a un livello intermedio, tra ciò che vede l’utente e il livello dell’implementazione
• Molte proposte in DBMS commerciali
Ut t
Utente
Modello logico
Implemen‐
tazione
15
Modello concettuale 16
Modello logico dei dati
• Modello gerarchico (anni ‘60) = struttura gerarchica (albero)
• Modello reticolare (inizio anni ‘70) = struttura g
a grafo
• Modello relazionale (fine anni ‘70) = struttura a tabelle
• Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti
• Per la progettazione e la documentazione di un base di dati: analisi della realtà di interesse
• Modello astratto
Indipendente dal modello logico
• Indipendente dal modello logico
• Modello concettuale = rappresentazione dei concetti
• Modello logico = rappresentazione dei dati
17
18
3
Modello logico dei dati
Modello relazionale
• Modello gerarchico (anni ‘60) = struttura gerarchica (albero)
• Modello reticolare (inizio anni ‘70) = struttura g
a grafo
• Modello relazionale (fine anni ‘70) = struttura a tabelle
Per esempio:
• Modello orientato agli oggetti (anni ‘80) = Microsoft
Access
struttura a classi/oggetti
• Introdotto nel 1970
• Affermato negli anni ’80
• Attualmente è il modello di DB più diffuso: probabilmente ogni DB che incontrerete sarà relazionale
• Basato sul concetto di relazione
Basato sul concetto di relazione
– Relazione = rappresentazione di un numero di entità tramite attributi
• Come nei fogli elettronici, sono organizzati in tabelle
• Esempio: tabella Studenti del database di una università
19
Modello relazionale: struttura dei dati
20
Modello relazionale: struttura dei dati
• Le entità (i fatti) compongono le righe (record)
• Le caratteristiche delle entità sono le (intestazioni delle) colonne (attributi o campi)
• Il valore di un attributo per una specifica entità compone le celle
• Tutti i record di una tabella hanno lo stesso formato, cioè gli stessi attributi
attributo
record
dato atomico
21
22
Schema di una relazione
Istanza di una relazione
• Schema di una relazione = definizione della struttura della relazione
• È formata dall’intestazione della relazione:
NomeRelazione(Attr1,…, Attr
,…, Attrn)
• Non varia nel tempo (modulo ristrutturazione del DB)
• Per esempio: nella relazione Studenti
Studenti(Matricola, Cognome, Nome, Sesso, DataDiNascita, LuogoDiNascita)
• Istanza di una relazione = dati che descrivono gli individui appartenenti alla relazione (sono le righe della tabella)
• Varia nel tempo (aggiunta, modifica, Varia nel tempo (aggiunta modifica
eliminazione dei dati riguardanti gli individui)
23
24
4
Tabelle, Record e Campi
Schema e istanza di un base di dati
• Schema di un base di dati = insieme degli schemi delle relazioni (struttura) • Istanza (o stato) di un base di dati = valori dei dati nelle tabelle
dati nelle tabelle
• A ogni attributo sono associati:
–
–
–
nome (es. “Sesso”)
lunghezza (es. 5 carattere)
tipo di dato (numero, data, caratteri, …)
• Es. attributo “Sesso”:
–
–
–
nome: Sesso
lunghezza: 1 carattere
tipo di dato: caratteri
25
Chiave primaria
26
Esempio di ridondanza in un DB
• In una tabella devono essere definiti uno o più campi attraverso i quali è possibile distinguere sempre qualsiasi coppia di record di una stessa tabella
• Esempi:
– In una tabella di studenti: numero di matricola
– In una tabella di cittadini: nome, cognome, data di nascita e luogo di nascita (forse insufficiente) o codice fiscale
• Ridondante: i dati anagrafici degli studenti sono ripetuti per ogni esame
• Se uno studente cambiasse domicilio, bisognerebbe modificare più record
27
Svantaggi della ridondanza
28
Esempio di ridondanza in un DB
La ridondanza aumenta i dati da gestire e comporta svantaggi:
Come eliminare la ridondanza? Usando più tabelle legate tra loro
– Aumenta il rischio di errori (coerenza dei dati: per esempio stessa data di nascita per la stessa
per esempio, stessa data di nascita per la stessa persona, ovunque sia inserita)
– Usa più spazio di memoria secondaria
Tabella Esami
29
Tabella Studenti
Congiuntamente, le tabelle contengono le stesse informazioni della tabella iniziale, ma senza ridondanze
30
5
Fly UP