DATABASEPROF. MAURIZIO NALDI ABILITÀ INFORMATICHE
BASI DI DATI
• Collezione (organizzata, persistente, condivisa, di notevoli dimensioni e varietà) di dati
• Una sola rappresentazione che eviti ridondanze, disallineamenti e inutili ripetizioni di operazioni;
• Si possono controllare meglio (concorrenza su dati condivisi e rispetto vincoli di integrità);
• Accesso gestito e regolato da un sistema di gestione della base dati (DBMS) che assicura: efficienza, usabilità, riservatezza e affidabilità dei dati (in generale tramite un “database server” accessibile in un ambiente distribuito in rete a più stazioni di lavoro client)
DATA BASE MANAGEMENT SYSTEM — DBMS
Sistema (software) in grado di gestire collezioni di dati che siano:
•di grandi dimensioni, i.e., (molto) maggiori della memoria centrale dei singoli sistemi di calcolo utilizzati (GB, TB,…)
•persistenti: periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano (i.e., memoria secondaria)
•condivise: utilizzate da applicazioni e utenti diversi in maniera consistente
assicurando nel contempo che i DB siano:
•affidabili: alta tolleranza ai guasti (hw e sw) con funzionalità avanzate di ripristino e backup.
•sicuri: una disciplina e controllo degli accessi (meccanismi di autenticazione).
•efficienti: performance accettabili (utilizzando al meglio le risorse di spazio e tempo del sistema e rendendo produttive le attività dei suoi utilizzatori).
CENNI STORICI DBMS
• Modello gerarchico
• Modello reticolare
• Modello relazionale
• Modello orientato a oggetti
MODELLO RELAZIONALE• Progettato nel 1970 da Edgar F. Codd (IBM) *
• Insieme di tabelle messe in relazione tra loro tramite i campi
• Campi comuni tra tabelle stabiliscono le relazioni della base di dati
OPERAZIONI RELAZIONALI
• La Proiezione è una visualizzazione "verticale" della tabella (solo alcune colonne).
• La Selezione e’ una visualizzazione "orizzontale" della tabella (solo alcune righe che soddisfano una condizione).
• Il Join e’ l’unione di record che sono memorizzati su tabelle diverse.
*E. F. Codd. 1970. A relational model of data for large shared data banks. Commun. ACM 13, 6 (June 1970), 377-387. (oltre 7000 citazioni)
ESEMPIO DB RELAZIONALE
studente esame corso docente
ESEMPI DI DBMS
▸ Access
▸ DB2
▸ Oracle
▸ Informix
▸ Sybase
▸ SQLServer
▸ My SQL
▸ Postgresql
▸ ….
MODELLO DEI DATIUn modello di dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa risulti manipolabile da un computer.
Modello Relazionale: organizza i dati in tabelle con record (righe) aventi un numero fisso di campi (colonne)
Corso Codice Corso Nome Docente
Idraulica 0121 Oscar Dabbagno
Gastronomia applicata 1213 Gustavo Lamerenda
Meccanica dei motori 1455 Guido Maluccio
{Righe= Record
Colonne=Campi del record
MODELLO RELAZIONALE: PANORAMICA
Matricola Cognome Nome Data Nascita
4324235245 Rossi Giorgio 12/12/1987
6247673587 Bianchi Michele 04/12/1987
9854456565 Verdi Marco 11/04/1988
In pratica, una base di dati di dimensioni medio/grandi può essere costituita da molte tabelle…
Nome Corso Codice Corso Codice Docente
Idraulica 0121 00
Gastronomia applicata 1213 01
Meccanica dei motori 1455 02
Corso Studente Voto0121 4324235245 30L
1213 4324235245 25
1213 9854456565 18
CORSIESAMI
STUDENTI
LINGUAGGI PER L‘INTERROGAZIONE DI BASI DI DATI
• Un altro contributo all’efficacia: la disponibilità di vari linguaggi ed interfacce
⇨ linguaggi testuali interattivi (SQL – Structured Query Language)
⇨ comandi (SQL) immersi in un linguaggio ospite (Java, C, C++ ...)
⇨ comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (es. per grafici o stampe strutturate)
⇨ con interfacce amichevoli (senza linguaggio testuale)
DIAGRAMMA ENTITÀ/RELAZIONE
• (insiemi di) entità con (insiemi di) associazioni che esprimono le informazioni significative
• associazioni binarie, ma anche ternarie, e, in generale, n-arie
• modello grafico per descrivere (utente, documentazione) lo schema concettuale
• convenzioni per indicare entità, associazioni, ruoli e loro proprietà
QUINDI IL DIAGRAMMA E/R RACCHIUDE:
Entità: ente o avvenimento
▸ Ha un insieme di attributi
Attributi: proprietà di una entità, che ne descrive una qualità
Relazioni: collegamento tra entità
ENTITÀ ED ELEMENTI
Un’entità identifica un insieme di elementi distinti omogenei
▸ “Clienti” è l’Entità
▸ “Mario Rossi”, “Luigi Bianchi”, … sono gli elementi
Nel database le entità diventeranno le tabelle, gli elementi diventeranno i record, e gli attributi i campi (field) dello schema
RELAZIONI TRA ENTITÀ
Le entità sono di solito in relazione tra loro
▸ Si parla appunto di database relazionali
Una relazione indica che un elemento di un’entità è collegato ad un elemento di un’altra entità
▸ L’entità “Clienti” è in relazione con l’entità “Fatture”
TIPI DI RELAZIONESupponiamo due entità A e B in relazione
Relazione Uno a Uno (1 : 1) 1 elemento di A : 1 elemento di B
1 elemento di B : 1 elemento di A
Relazione Uno a Molti (1 : n) 1 elemento di A : più elementi di B
1 elemento di B : 1 elemento di A
Relazione Molti a Molti (n : m) 1 elemento di A : più elementi di B
1 elemento di B : più elementi di A
TIPI DI RELAZIONE
Regioni Capoluoghi1 1
Clienti Fatture1 n
Clienti Prodottin m
Relazione Uno a Uno
Relazione Uno a Molti
Relazione Molti a Molti
A B
RAPPRESENTAZIONE DELLE RELAZIONI
IDENTIFICAZIONE UNIVOCA DEI RECORD• Obiettivo: assenza di ridondanza (record identici)
• Identificazione univoca dei record ⇐⇒ Scelta di uno o più campi in modo tale che tutti i record di quella tabella presentino valori diversi in quei campi
• Chiave primaria = Campi impiegati per distinguere i record (Chiavi primarie semplici – un solo campo - e composte – più campi)
• Uso di identificativi numerici progressivi Esempi di chiavi primarie
– Codice ISBN di un libro
– Matricola di uno studente universitario Numero di una carta di credito
– Codice PIN
– Partita IVA
– Codice fiscale
DEFINIZIONE DI CHIAVE E SUPERCHIAVE
• Una superchiave è un insieme di campi tali che non esistono due record che abbiano lo stesso valore di quei campi
• Una chiave è una superchiave minimale (cioè non esiste un’altra superchiave che la contenga)
ESEMPI DI CHIAVI
▸ L’insieme {Matricola, Corso} è superchiave
▸ Il campo Matricola è una chiave
VINCOLI DI INTEGRITÀ
• Servono a garantire la correttezza dei dati inseriti
• Vincoli all’interno di una tabella
– Vincoli di valore (sul singolo campo)
– Vincoli sul singolo record
• Vincoli tra tabelle
ESEMPIO DI VINCOLI ALL’INTERNO DI UNA TABELLA
• Vincolo sul voto del singolo esame, compreso tra 18 e 30 (vincolo sul singolo campo)
• Vincolo sulla presenza della lode, solo se il voto è 30 (vincolo tra due campi)
VINCOLI DI INTEGRITÀ REFERENZIALE
• Per ogni coppia di tabelle collegate da una relazione occorre garantire che il riferimento utilizzato sia reperibile
• Se consideriamo una relazione tra la tabella A e la tabella B, per ogni record della tabella A il valore scritto nella chiave esterna deve essere presente nella chiave primaria della tabella B
ESEMPIO DI TABELLA CON VINCOLI DI INTEGRITÀ SODDISFATTI
RAPPRESENTAZIONE DELLE RELAZIONI
Relazione Infrazioni-Agenti: Chiave esterna=Agente Relazione Infrazioni-Auto: Chiave esterna=Provincia+Numero
ESEMPIO DI TABELLA CON VINCOLI DI INTEGRITÀ NON SODDISFATTI
DATI STRUTTURATI E NON STRUTTURATI
• Dati strutturati – Sono di lunghezza, tipo e formato prestabilito,
• Dati non strutturati – Non hanno un formato predefinito e possono includere dati dalle più svariate fonti, come messaggi di posta elettronica, tweet, messaggi di testo, chat
BIG DATA: DEFINIZIONI
• “Big data is high-volume, high-velocity and/or high-variety information assets that demand cost-effective, innovative forms of information processing that enable enhanced insight, decision making, and process automation.” (Gartner IT Glossary)
• “Raccolta di dati così estesa in termini di volume, velocità e varietà da richiedere tecnologie e metodi analitici specifici per l'estrazione di valore” (Wikipedia)
DA DOVE VENGONO I “BIG DATA”?
12+ TBs
of tweet data every day
25+ TBs of
log data every day
? TB
s of
data
eve
ry
day
2+ billion people on the
Web by end 2011
30 billion RFID tags today
(1.3B in 2005)
4.6 billion
camera phones world
wide
100s of millions of GPS
enabled devices sold
annually
76 million smart meters
in 2009… 200M by 2014
CARATTERISTICHE DEI BIG DATA
Collectively Analyzing the broadening Variety
Responding to the increasing Velocity
Cost efficiently processing the growing Volume
Establishing the Veracity of big data sources
30 Billion RFID sensors and counting
1 in 3 business leaders don’t trust the information they use to make decisions
50x
35 ZB
2020
80% of the worlds data is unstructured
2010
Top Related