Informatica Vantaggi dei DBMS Svantaggi dei DBMS Basi di dati
by user
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