Capitolo 9 Sistemi di basi di dati 2007 Pearson Addison-Wesley. All rights reserved
Capitolo 9: Sistemi di basi di dati 9.1 Definizione di Sistemi di Basi di Dati 9.2 Modello relazionale 9.3 Basi di dati orientate agli oggetti 9.4 Mantenimento dell integrità delle basi di dati 9.5 Strutture dati tradizionali 9.6 Data Mining 9.7 Impatto sociale della tecnologia delle basi di dati 2007 Pearson Addison-Wesley. All rights reserved 0-2
Basi di dati Una collezione di dati intrinsecamente multidimensionale, nel senso che i dati sono organizzati con una molteplicità di collegamenti interni in modo da rendere l informazione accessibile da diverse prospettive. 2007 Pearson Addison-Wesley. All rights reserved 0-3
Figura 9.1 Organizzazione a file e/o a Basi di dati: confronti 2007 Pearson Addison-Wesley. All rights reserved 0-4
Figura 9.2 Strati concettuali nello sviluppo di una base di dati 2007 Pearson Addison-Wesley. All rights reserved 0-5
Schemi Schema: Una descrizione della struttura di un intera base di dati, usata dal sistema di gestione delle basi di dati per mantenere la base stessa. Subschema: Una descrizione di solo una porzione della base di dati relativa alle necessità di un utente particolare, usato ad esempio per prevenire l accesso indesiderato da parte di persone non autorizzate. 2007 Pearson Addison-Wesley. All rights reserved 0-6
Sistemi di gestione di basi di dati Database Management System (DBMS): Uno strato software che gestisce le basi di dati in risposta alle richieste delle applicazioni. Base di dati distribuita: Una base di dati immagazzinata su più macchine Il DBMS nasconde questo dettagli agli utenti finali Indipendenza dei dati: Possibilità di cambiare l organizzazione della base di dati senza cambiare l applicazione software che la usa. 2007 Pearson Addison-Wesley. All rights reserved 0-7
Modelli di basi di dati Modello di base di dati: Una vista concettuale di una base di dati Modello relazionale Modello orientato agli oggetti 2007 Pearson Addison-Wesley. All rights reserved 0-8
Modello relazionale Relazione: una tabella Attributo: una colonna in una tabella Tupla: una riga in una tabella 2007 Pearson Addison-Wesley. All rights reserved 0-9
Figura 9.3 Una relazione di esempio 2007 Pearson Addison-Wesley. All rights reserved 0-10
Progetto relazionale Evitare di mettere concetti multipli in una relazione Possono portare a dati ridondanti Cancellando una tupla si potrebbero cancellare così anche informazioni non più reperibili 2007 Pearson Addison-Wesley. All rights reserved 0-11
Migliorare il progetto di basi di dati relazionali Decomposizione: Dividere le colonne di una relazione in due o più relazioni, duplicando solo quelle colonne che servono a mantenere la relazione. Decomposizione Con perdita or senza perdita: Una decomposizione corretta non deve portare a perdita di informazione. 2007 Pearson Addison-Wesley. All rights reserved 0-12
Figura 9.4 Una relazione con ridondanza 2007 Pearson Addison-Wesley. All rights reserved 0-13
Figura 9.5 Decomposizione 2007 Pearson Addison-Wesley. All rights reserved 0-14
Figura 9.6 Uso delle relazioni per la ricerca di dati 2007 Pearson Addison-Wesley. All rights reserved 0-15
Figura 9.7 Una relazione e una possibile decomposizione 2007 Pearson Addison-Wesley. All rights reserved 0-16
Operazioni relazionali Select: Scelta di una riga Project: Scelta di una colonna Join: Unione di informazioni da due o più tabelle sulla base delle relazioni 2007 Pearson Addison-Wesley. All rights reserved 0-17
Figura 9.8 SELECT 2007 Pearson Addison-Wesley. All rights reserved 0-18
Figura 9.9 PROJECT 2007 Pearson Addison-Wesley. All rights reserved 0-19
Figura 9.10 JOIN 2007 Pearson Addison-Wesley. All rights reserved 0-20
Figura 9.11 Un altro esempio di JOIN 2007 Pearson Addison-Wesley. All rights reserved 0-21
Figura 9.12 Applicazione di Join 2007 Pearson Addison-Wesley. All rights reserved 0-22
Structured Query Language (SQL) Operazioni per manipolare le tuple insert update delete select 2007 Pearson Addison-Wesley. All rights reserved 0-23
Esempi di SQL select EmplId, Dept from ASSIGNMENT, JOB where ASSIGNMENT.JobId = JOB.JobId and ASSIGNMENT.TermData = * insert into EMPLOYEE values ( 43212, Sue A. Burt, 33 Fair St., 444661111 ) 2007 Pearson Addison-Wesley. All rights reserved 0-24
Esempi di SQL (continua) delete from EMPLOYEE where Name = G. Jerry Smith update EMPLOYEE set Address = 1812 Napoleon Ave. where Name = Joe E. Baker 2007 Pearson Addison-Wesley. All rights reserved 0-25
Basi di dati orientate agli oggetti Base di dati orientata agli oggetti: una base di dati costruita applicando il paradigma delle basi di dati orientate agli Ogni entità è memorizzata come un oggetto persistente Le relazioni sono indicate da legami fra oggetti Il DBMS mantiene questi legami 2007 Pearson Addison-Wesley. All rights reserved 0-26
Figura 9.13 Associazioni tra oggetti 2007 Pearson Addison-Wesley. All rights reserved 0-27
Vantaggi del DB orientato agli oggetti Coincidenza con il paradigma delle applicazioni e delle basi di dati L intelligenza può essere costituita dai manipolatori di attributi Può trattare tipi di dati particolari come gli oggetti multimediali 2007 Pearson Addison-Wesley. All rights reserved 0-28
Mantenimento dell integrità della base di dati Transazione: Una sequenza di operazioni che devono avvenire assieme Esempio: trasferimento di denaro fra conti correnti Log di Transazione: Un record non volatile per ogni attività nella transazione, costruito prima che alla transazione sia concesso di essere eseguita Punto di Commit: Il punto oltre il quale la transazione è eseguita Roll-back: Il processo di annullamento di una transazione 2007 Pearson Addison-Wesley. All rights reserved 0-29
Mantenimento dell integrità della base di dati (continua) Problema degli accessi simultanei Problema del riassunto sbagliato Problema della perdita di cambiamenti Blocco = prevenire l uso di dati da parte di altri in una transazione Blocco condiviso: quando i dati sono letti Blocco esclusivo: quando i dati sono modificati 2007 Pearson Addison-Wesley. All rights reserved 0-30
File sequenziali File sequenziale: un file i cui dati possono esssere letti solo in ordine Il lettore deve essere in grado di rilevare la fine del file (EOF) I dati possono essere memorizzati in record logici ordinati da campi chiave Aumentano notevolemente la velocità di processamento dei compiti batch 2007 Pearson Addison-Wesley. All rights reserved 0-31
Figura 9.14 Strutture in un file sequenziale 2007 Pearson Addison-Wesley. All rights reserved 0-32
Figura 9.15 Una procedura per fondere due file sequenziali 2007 Pearson Addison-Wesley. All rights reserved 0-33
Figura 9.16 Esempio di uso dell algoritmo precedente
File indicizzati Indice: una lista di valori chiave e la locazione dei loro record associati. 2007 Pearson Addison-Wesley. All rights reserved 0-35
Figura 9.17 Apertura di un file indicizzato 2007 Pearson Addison-Wesley. All rights reserved 0-36
Hashing Ogni record ha un campo chiave Lo spazio di memorizzazione è diviso in secchi Una funzione di Hash calcola il numero di secchio a cui corrisponde una certa chiave Ogni record è memorizzato nel secchio corrispondente al valore di hash della sua chiave 2007 Pearson Addison-Wesley. All rights reserved 0-37
Figura 9.18 - Calcolo del valore di hash con base 41 2007 Pearson Addison-Wesley. All rights reserved 0-38
Figura 9.19 Rudimenti del sistema di hash 2007 Pearson Addison-Wesley. All rights reserved 0-39
Collisione in hash Collisione: il caso di due chiavi che abbiamo lo stesso valore di hash Problema rilevante quando la tabella è piena per oltre il 75% della sua capacità Soluzione: aumentare il numero dei secchi e ricalcolare tutti i valori di hash. 2007 Pearson Addison-Wesley. All rights reserved 0-40
Data Mining Data Mining: Area dell informatica che tratta il reperimento di pattern in insiemi di dati Data warehouse: collezione statica di dati da scavare Cubo di Dati : Dati presentati sotto molte prospettive per consentire lo scavo 2007 Pearson Addison-Wesley. All rights reserved 0-41
Strategie di Data Mining Descrizione di una classe Discriminazione nelle classi Analisi dei cluster Analisi associativa Analisi delle anomalie Analisi dei pattern sequenziali 2007 Pearson Addison-Wesley. All rights reserved 0-42
Impatto sociale della tecnologia delle basi di dati Problemi Sono raccolte grandi quantità di dati Spesso senza l assenso esplicito degli interessati La fusione dei dati può produrre anche ulteriori informazioni in alcuni casi anche più sensibili. Gli errori sono diffusi e difficili da correggere Rimedi Rimedi legali difficili da applicare Sensibilizzazione della opinione pubblica. 2007 Pearson Addison-Wesley. All rights reserved 0-43