Corso di Basi di Dati

69
Corso di Basi di Dati Corso di Laurea in Informatica per il Management Università di Bologna Docente: Marco Di Felice Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ 1

description

Corso di Basi di Dati. Corso di Laurea in Informatica per il Management Universita ’ di Bologna Docente : Marco Di Felice Home page del corso : http:// www.cs.unibo.it /~ difelice / dbsi /. INDICE. Presentazione Obiettivi del corso Contenuti del corso - PowerPoint PPT Presentation

Transcript of Corso di Basi di Dati

Page 1: Corso  di  Basi  di  Dati

1

Corso di Basi di Dati

Corso di Laurea in Informatica per il ManagementUniversità di Bologna

Docente: Marco Di Felice

Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Page 2: Corso  di  Basi  di  Dati

2

Presentazione Obiettivi del corsoContenuti del corsoA che serve studiare le basi di dati? Qualche suggerimento …

INDICE

Page 3: Corso  di  Basi  di  Dati

3

DocenteProf. Marco Di FeliceDipartimento di Informatica – Scienza e Ingegneria (DISI)

Via M. Anteo Zamboni 7, 40126 Bologna

Email: [email protected], [email protected]

Sito web: http://www.cs.unibo.it/~difeliceOrario di ricevimento:

Martedì, ore 9.30-13.30 (mail richiesta)

Page 4: Corso  di  Basi  di  Dati

4

Orari del Corso

Lunedì, ore 16.30-18.30, Aula Ercolani 1 Martedì, ore 13.30-15.30, Aula Ercolani 1 Venerdì, ore 8.30-10.30, Aula Ercolani 2

Durata corso: 21 Settembre –18 Dicembre 2015(72 ore circa di lezioni frontali) – 9 c.f.u

http://www.cs.unibo.it/~difelice/dbsi/

Page 5: Corso  di  Basi  di  Dati

5

Esame del Corso

Prova scritta (obbligatoria) Progetto (obbligatorio) Prova orale (facoltativa) Punti bonus (facoltativi)

L’esame consiste di:

Calcolo del voto finale (senza orale):

Voto_Finale=2/3* Voto_Scritto + 1/3 * Voto_Progetto + Punti Bonus

Page 6: Corso  di  Basi  di  Dati

6

Esame del CorsoIl progetto consiste nella progettazione

ed implementazione di un Web Information System (database + interfaccia Web).

Il progetto può essere svolto individualmente o in gruppi di max 3 unità, su traccia proposta dallo studente o dal docente.

Date di consegna del progetto per l'a.a. 2015/2016: 1 Febbraio 2016, 1 Marzo 2016, 1 Aprile 2016, 1

Maggio 2016, 1 Giugno 2016, 1 Luglio 2016, 15 Settembre 2016.

Page 7: Corso  di  Basi  di  Dati

7

Esame del Corso

1. Se la proposta viene dallo studente Email al docente con subject [DB1] Proposta Progetto DB 2016 indicando specifiche + lista partecipanti.

2. Consegna via email con subject: "[DB2] Consegna Progetto DB 2015”, allegando: (i) tutti i sorgenti del progetto; (ii) relazione.

3. Discussione del progetto presentazione powerpoint, in presenza di tutti i componenti del gruppo + demo del software.

STEP DEL PROGETTO

Page 8: Corso  di  Basi  di  Dati

8

Esame del Corso

SEI appelli dello scritto per anno accademico NON sono definiti vincoli di validità temporale

sul voto del progetto e dell'esame scritto. NON ci sono restrizioni sul numero di prove che

si possono sostenere TUTTAVIA … … Chi si presenta ad una prova, perde

l'eventuale voto precedentemente acquisito. NON è possibile consultare testi, dispense,

appunti, etc durante lo svolgimento della prova.

REGOLAMENTO D’ESAME

Page 9: Corso  di  Basi  di  Dati

9

Libri di Testo

P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi

di dati: Modelli e Linguaggi di

interrogazione, 4ed, McGraw-Hill

Altri testi di cui è consigliata la letturasono riportati nel sito-web del corso …

Page 10: Corso  di  Basi  di  Dati

10

Presentazione Obiettivi del corsoContenuti del corsoA che serve studiare le basi di dati? Qualche suggerimento …

INDICE

Page 11: Corso  di  Basi  di  Dati

11

Obiettivi del Corso1. Fornire le basi dell'utilizzo e della

progettazione di basi di dati basate sul modello relazionale.

2. Introdurre le caratteristiche principali dei moderni software di gestione delle basi di dati (DBMS)

3. Introdurre gli strumenti e le metodologie per l'integrazione di una base di dati all'interno di un sistema informatico.

Page 12: Corso  di  Basi  di  Dati

12

Obiettivi del CorsoSource: http://www.atkearney.it/

Page 13: Corso  di  Basi  di  Dati

13

Obiettivi del Corso Perchè i dati sono importanti?

R1. DATI come risorsa aziendale, alla stessa maniera del capitale, degli impanti di produzione, delle persone, e dei beni prodotti dall’azienda.

Personale

Direzione

ATTIVITA’ OPERATIVEOperatività Corrente

ATTIVITA’ TATTICHEProgrammazione e Controllo

ATTIVITA’ STRATEGICHE Pianificazione StrategicaLead

PIRAMID

E di ANTH

ON

Y

Page 14: Corso  di  Basi  di  Dati

14

Obiettivi del Corso Perchè i dati sono importanti?

R1. DATI come risorsa aziendale, alla stessa maniera del capitale, degli impanti di produzione, delle persone, e dei beni prodotti dall’azienda.

Personale

Direzione

Lead

PIRAMID

E di ANTH

ON

Y

Dati di dettaglio: ordini, dati fatturazioni,

bilancio, contabilità, etc

Dati di sintesi di supporto al processo decisionale

Dati di sintesi sull’andamento aziendaleNecessità ad ogni livellodi strumenti software per

custodire, manipolare, analizzare i dati!

Page 15: Corso  di  Basi  di  Dati

15

Obiettivi del Corso Perchè i dati sono importanti?

R2. DATI come bene prodotto dall’azienda e fonte di profitto!

http://retweets.pro/buy-twitter-tweets

Page 16: Corso  di  Basi  di  Dati

16

Obiettivi del Corso Perchè i dati sono importanti?

R3 DATI = informazione = conoscenza = supporto alle decisioni!

Source: http://www.conbusinessintelligence.com/

BUSINESS INTELLIGENCE (BI) (def.) Insieme di processi aziendali, metodologie tool per raccogliere i dati di un’azienda, ed estrarre informazioni di supporto alla decisioni strategiche.

Page 17: Corso  di  Basi  di  Dati

17

Obiettivi del Corso

Sistemi Operativi algoritmi e tecniche per rappresentare i dati digitali ed organizzarli all’interno della memoria secondaria (file system).

Architettura di Internet algoritmi e tecniche per transmettere i dati in un sistema di comunicazione.

Programmazione linguaggi e metodi per realizzare sistemi software in grado di gestire dati persistenti memorizzati su file esterni all’applicazione.

Conoscenze sui dati dai corsi precedenti …

Page 18: Corso  di  Basi  di  Dati

18

Obiettivi del Corso

L’applicazione contiene al suo interno la logica di controllo e la logica di gestione dei dati.

Il sistema operativo (es. Linux) fornisce le operazioni di base per lettura/scrittura di file su memoria secondaria.

APPLICAZIONE

LOGICA di CONTROLLOLOGICA di

GESTIONE DATIFILE

Lettura/Scrittura

MODELLO DI SVILUPPO DI APPLICAZIONI VISTO FIN QUI

Page 19: Corso  di  Basi  di  Dati

19

Obiettivi del Corso L’approccio alla gestione dei dati

basato su file funziona bene nel caso di sistemi di piccole dimensioni, prevalentemente single-user, o con scarsa necessità di condivisione dei dati.PROBLEMI:

1) Scalabilità? gestione di grandi moli di dati?2) Concorrenza? accesso da parte di utenti/applicazioni?

DATI

Page 20: Corso  di  Basi  di  Dati

20

Obiettivi del Corso

In questo corso, studieremo: modelli, linguaggi, e strumenti

softwareal fine di: progettare, implementare ed analizzare collezioni (Basi) di Dati (DB) che siano: Persistenti Potenzialmente grandi Potenzialmente condivise (tra

utenti/applicazioni)

FOCUS sui DATI

Page 21: Corso  di  Basi  di  Dati

21

Presentazione Obiettivi del corsoContenuti del corsoA che serve studiare le basi di dati? Qualche suggerimento …

INDICE

Page 22: Corso  di  Basi  di  Dati

22

Contenuti del CorsoNel corso, forniremo un’introduzione al mondo delle basi di dati (DB) da quattro punti di vista: Utente come interagire con un DB

(aggiungere/modificare informazioni, recuperare informazioni, etc).

Progettista come progettare un DB. Programmatore come sviluppare

applicazioni Web/stand-alone che si interfaccino con un DB [CENNI].

Analista come reperire informazioni da un DB attraverso tecniche di data-mining [CENNI].

Page 23: Corso  di  Basi  di  Dati

23

Contenuti del CorsoNel corso, forniremo un’introduzione al mondo delle basi di dati (DB) da quattro punti di vista: Utente come interagire con un DB

(aggiungere/modificare informazioni, recuperare informazioni, etc).

Progettista come progettare un DB. Programmatore come sviluppare

applicazioni Web/stand-alone che si interfaccino con un DB [CENNI].

Analista come reperire informazioni da un DB attraverso tecniche di data-mining [CENNI].

Page 24: Corso  di  Basi  di  Dati

24

Contenuti del Corso Esistono appositi strumenti software,

sviluppati fin dagli anni ‘60, per la gestione delle basi di dati.

Database Management System (DBMS) sistema software che è in grado di gestire BD grandi, condivise e persistenti, in maniera efficiente e sicura. Da qui in avanti, per noi una base di

dati è una collezione di dati gestita da un DBMS …

Page 25: Corso  di  Basi  di  Dati

25

Contenuti del CorsoPROBLEMA: Molti DBMS disponibili in commercio! Oracle, DB2, Microsoft SQL Server, MySQL, etc

Non vedremo nel dettaglio i singoli tool (tranne qualche eccezione), ma studieremo aspetti generali comuni alla maggior parte dei DBMS: Modello Logico Come sono

organizzati i dati all’interno di un DBMS? Linguaggi orientati ai dati Come si

possono specificare operazioni sui dati?

Page 26: Corso  di  Basi  di  Dati

26

Contenuti del Corso Un modello di dati è un insieme di concetti

utilizzati per organizzare i dati di interesse utilizzando un DBMS.

Modello Relazionale consente di organizzare i dati in record di dimensione fissa mediante tabelle.

Corso Codice Corso Nome Docente

Basi di dati 0121 M. Di FeliceProgrammazione

1213 C. Laneve

Sistemi Operativi

1455 D. Sangiorgi

{Righe=Record

Colonne=Campi del record

Page 27: Corso  di  Basi  di  Dati

27

Contenuti del Corso

Ogni DBMS mette a disposizione degli appositi linguaggi per le operazioni di definizione dello schema e di manipolazione/accesso ai dati stessi. Linguaggi testuali ad hoc, specifici del DBMS

in uso.

Interfacce grafiche (es. Access).

Linguaggio SQL (Structured Query Language) standard di riferimento per il modello dati relazionale.

Page 28: Corso  di  Basi  di  Dati

28

Contenuti del Corso

NomeCorso CodiceCorso Nome DocenteBasi di dati 0121 M. Di FeliceProgrammazione 1213 C. LaneveSistemi Operativi 1455 D. Sangiorgi

Esempio di operazioni sui dati: Implementare una procedura per recuperare in maniera automatica il codice del corso di “Basi di Dati”.

CORSI

Page 29: Corso  di  Basi  di  Dati

29

Contenuti del CorsoCon gli strumenti tradizionali (Java+file):

String s;BufferedReader reader=new BufferedReader(new FileReader(“myfile”));while (s=reader.readLine()) ! =null) {

StringTokenizer token=new StringTokenizer(s);if (token.nextToken().equals(“Basi di dati”))

System.out.println(token.nextToken());}

reader.close();PROBLEMI: - Codice alquanto elaborato- Necessario conoscere il path del

file- Accesso sequenziale al file …

Page 30: Corso  di  Basi  di  Dati

30

Contenuti del Corso

Usando DBMS ed il linguaggio SQL

Select CodiceCorsoFrom CORSIWhere (NomeCorso=“Basi di dati”);

Completa astrazione da come/dove i dati sono memorizzati su memoria secondaria!!!

Page 31: Corso  di  Basi  di  Dati

31

Programma del Corso

Parte I: Modelli e Linguaggi per Basi di Dati Caratteristiche dei DBMS Il modello relazionale: concetti di base,

vincoli di integrità e chiavi. Algebra relazionale (cenni): operatori

algebrici, interrogazioni. Il linguaggio SQL: definizione dei dati,

modifica dei dati, interrogazioni, definizione di viste, transazioni.

Oltre il modello relazionale: approcci NOSQL

Page 32: Corso  di  Basi  di  Dati

32

Contenuti del CorsoNel corso, forniremo un’introduzione al mondo delle basi di dati (DB) da quattro punti di vista: Utente come interagire con un DB

(aggiungere/modificare informazioni, recuperare informazioni, etc).

Progettista come progettare un DB. Programmatore come sviluppare

applicazioni Web/stand-alone che si interfaccino con un DB [CENNI].

Analista come reperire informazioni da un DB attraverso tecniche di data-mining [CENNI].

Page 33: Corso  di  Basi  di  Dati

33

Contenuti del CorsoEsempio: Progettazione di una base di dati per un ente che eroga corsi di formazione. Si vuole progettare una base di dati per una società che eroga corsi, di cui si vogliono rappresentare i dati dei docenti e dgli studenti. Per gli studenti, identificati da un codice, si vuole tenere traccia del codice fiscale, cognome, età, sesso, e corsi che stanno seguendo/hanno seguito. I corsi hanno un codice, un titolo e possono avere varie edizioni con date di inizio/fine e numero degli studenti. Per gli insegnanti, si vuole memorizzare il codice, il cognome, l’afferenza, il nome del corso.

SPECIFICA dei REQUISITI sui DATI

Page 34: Corso  di  Basi  di  Dati

34

Contenuti del CorsoEsempio: Progettazione di una base di dati per un ente che eroga corsi di formazione.

Inserimento di un nuovo studente Inserimento di un nuovo docente Inserimento di un nuovo corso Stampa di tutti i corsi attivi Stampa di tutti igli studenti dell’ultimo anno …

SPECIFICA delle OPERAZIONI sui DATI

Page 35: Corso  di  Basi  di  Dati

35

Contenuti del CorsoPROBLEMA: Progettazione di un sistema informativo per gestire i dati di un’azienda/organizzazione …Q. Come procedere?

A. L’implementazione dipende dal caso specifico, tuttavia esistono metodologie di ingegneria del software che possono essere adottate per una “buona base di dati”.

Page 36: Corso  di  Basi  di  Dati

36

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica

Progettazione fisica

SCHEMACONCETTUALE

SCHEMALOGICO

SCHEMAFISICO

Fasi della progettazioneRisultati

Analisi dei requisiti e progettazione in dettaglio …

Page 37: Corso  di  Basi  di  Dati

37

Contenuti del CorsoPasso1: Produrre uno schema concettuale dei dati e delle relazioni tra dati che compongono il sistema informativo.

Studente

Corso Docente

Docenza

Insc

rizi

one

Codice…

Modello Entità-Relazione (ER)

Codice … Nome …

Page 38: Corso  di  Basi  di  Dati

38

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica

Progettazione fisica

SCHEMACONCETTUALE

SCHEMALOGICO

SCHEMAFISICO

Fasi della progettazioneRisultati

Analisi dei requisiti e progettazione in dettaglio …

Page 39: Corso  di  Basi  di  Dati

39

Contenuti del CorsoPasso2: Traduzione del modello concettuale nel modello logico relazionale …

Codice Studente

Codice Fiscale

Cognome

Eta Sesso

Codice Corso

Titolo Inizio Fine Codice Prof

Cognome

Afferenza

323 NULL Di Matteo

23 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

163 NULL Di Cinzio

27 M 214 SistemiOperativi

12/3/2013

13/5/2013

1215 Sangiorgi

Unibo

Più soluzioni sono possibili … Quale scegliere? Soluzione 1 (pessima). Utilizzo di una sola tabella …

Page 40: Corso  di  Basi  di  Dati

40

Contenuti del CorsoPasso3: Analizzare la qualità dello schema prodotto, ed ottimizzarlo/ristrutturarlo …Codice Studente

Codice Fiscale

Cognome

Eta Sesso

Codice Corso

Titolo Inizio Fine Codice Prof

Cognome

Afferenza

323 NULL Di Matteo

23 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di Dati

10/3/2012

10/5/2012

1212 DiFelice Unibo

163 NULL Di Cinzio

27 M 214 SistemiOperativi

12/3/2013

13/5/2013

1215 Sangiorgi

Unibo

Ridondanze dei dati costi aggiuntivi (memoria utilizzata)

Page 41: Corso  di  Basi  di  Dati

41

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica

Progettazione fisica

SCHEMACONCETTUALE

SCHEMALOGICO

SCHEMAFISICO

Fasi della progettazioneRisultati

Analisi dei requisiti e progettazione in dettaglio …

Page 42: Corso  di  Basi  di  Dati

42

Contenuti del CorsoQ. Come memorizzare i dati di una tabella su memoria secondaria? Quali strutture dati e metodologie utilizzare?

NomeCorso Codice

Docente

Basi di dati 0121 M. Di FeliceProgrammazione

1213 C. Laneve

Sistemi Operativi

1455 D. Sangiorgi

0001000

111010

101110

FILE1.dat

Struttura sequenziale Struttura ad accesso calcolato (hash) Struttura ad albero

Page 43: Corso  di  Basi  di  Dati

43

Programma del Corso

Parte II: Progettazione di Basi di Dati Progettazione concettuale: il modello E/R,

raccolta ed analisi di requisiti, strategie di progettazione concettuale, verifica di qualità.

Progettazione logica: ristrutturazione degli schemi E/R, traduzione nel modello relazionale.

Tecniche di normalizzazione: forme normali (Boyce-Codd, terza forma normale), decomposizione in forma normale.

Progettazione fisica.

Page 44: Corso  di  Basi  di  Dati

44

Contenuti del CorsoNel corso, forniremo un’introduzione al mondo delle basi di dati (DB) da quattro punti di vista: Utente come interagire con un DB

(aggiungere/modificare informazioni, recuperare informazioni, etc).

Progettista come progettare un DB. Programmatore come sviluppare

applicazioni Web/stand-alone che si interfaccino con un DB [CENNI].

Analista come reperire informazioni da un DB attraverso tecniche di data-mining [CENNI].

Page 45: Corso  di  Basi  di  Dati

45

Contenuti del CorsoNel Web, gran parte dei siti di organizzazioni ed aziende gestiscono i contenuti attraverso un DBMS (Web Information System).

Page 46: Corso  di  Basi  di  Dati

46

Contenuti del CorsoComponenti di un’applicazione web: Web-server (HTTP-based) Linguaggio di scripting server-

side DBMS (relazionale)

DBMSBrowser

(client)

Web-server

MT1. HTTP request

6. HTTP response

2. Parametri 3. SQL Query

4. Dati

5. Pagina Web

(dinamica)

Page 47: Corso  di  Basi  di  Dati

47

Contenuti del CorsoLinguaggi/Tecnologie di scripting server-side ASP.NET PHP Python + Django Ruby on Rails Java Server Pages (JSP) and Java

Servlet Common Gateway Interface (CGI) …

Page 48: Corso  di  Basi  di  Dati

48

Contenuti del Corso

Parte III: SQL per Applicazioni [cenni]

Web Information System (WIS): Esempi con tecnologia AMP (Apache/MySQL/PHP), Esempi con tecnologia NOSQL + Node.js,

Esempi con tecnologia .NET SQL e Java: Java Database Connectivity

(JDBC)

Page 49: Corso  di  Basi  di  Dati

49

Contenuti del CorsoNel corso, forniremo un’introduzione al mondo delle basi di dati (DB) da quattro punti di vista: Utente come interagire con un DB

(aggiungere/modificare informazioni, recuperare informazioni, etc).

Progettista come progettare un DB. Programmatore come sviluppare

applicazioni Web/stand-alone che si interfaccino con un DB [CENNI].

Analista come reperire informazioni da un DB attraverso tecniche di data-mining [CENNI].

Page 50: Corso  di  Basi  di  Dati

50

Contenuti del Corso Nei precedenti moduli, abbiamo visto

come tradurre informazioni in dati (es. progettando un DB a partire dalle specifiche).

In questo modulo, vedremo al contrario tecniche per estrarre informazioni da grande quantità di dati (es. Web o social media)

CORRELAZIONI/ASSOCIAZIONI

UTILI?

0101010110101010101021111110

Page 51: Corso  di  Basi  di  Dati

51

Contenuti del CorsoData Mining: tecniche di apprendimento computerizzato per analizzare ed estrarre conoscenze da collezioni di dati.

Pattern e relazioni non note a priori e non immediatamente identificabili.

Disciplina complessa: utilizzo di tecniche di machine learning, intelligenza artificiale e statistiche …

Page 52: Corso  di  Basi  di  Dati

52

Contenuti del Corso

Previsioni di dati temporali (es. vendite)

Market Basket Analysis (vi siete mai chiesti come mai tanti tornei di golf sono sponsorizzati da società di brokeraggio? )

Scoperta di truffe (es. clonazioni di carte di credito)

Campagne pubblicitarie mirate Churn Analysis (analisi della clientela che

potrebbe passare alla concorrenza) Segmentazione della clientela …

ESEMPI di APPLICAZIONI (aziendali)

Page 53: Corso  di  Basi  di  Dati

53

Contenuti del CorsoQuali info possono essere estratte da un DB?

Apprendimento supervised: Costruire modelli di classificazione a partire da esempi noti, al fine di classificare nuovi istanze …Codice Casa? Macchin

a?Reddito

#Anni Lavoro

Rischio

1 SI NO 20K-30K

5 Basso

2 SI SI 20K-30K

5 Basso

3 NO NO 10K-20K

2 Alto

Page 54: Corso  di  Basi  di  Dati

54

Contenuti del CorsoQuali info possono essere estratte da un DB?

Apprendimento supervised: Costruire modelli di classificazione a partire da esempi noti, al fine di classificare nuovi istanze …

Codice Casa? Macchina?

Reddito

#Anni Lavoro

Rischio

1 SI NO 20K-30K

5 Basso

2 SI SI 20K-30K

5 Basso

3 NO NO 10K-20K

2 Alto

CASA: SI, #ANNI LAVORO: 1, REDDITO: 20K-30K

RISCHIO EROGAZIONE PRESTITO di 5K????

Page 55: Corso  di  Basi  di  Dati

55

Contenuti del CorsoQuali info possono essere estratte da un DB?

Apprendimento unsupervised: Costruire modelli senza classipredefinite, al fine di identificare pattern sui dati …

Codice Casa? Macchina?

Reddito

#Anni Lavoro

Rischio

1 SI NO 20K-30K

5 Basso

2 SI SI 20K-30K

5 Basso

3 NO NO 10K-20K

2 Alto

Page 56: Corso  di  Basi  di  Dati

56

Contenuti del CorsoQuali info possono essere estratte da un DB?

Apprendimento unsupervised: Costruire modelli senza classipredefinite, al fine di identificare pattern sui dati …

CLUSTER1: Rischio basso, casa: SI, Reddito: 30K-40K

Page 57: Corso  di  Basi  di  Dati

57

Programma del Corso

Parte IV: Introduzione al Data-Mining

Concetti di base: Business intelligence, data ware-housing, data-mining

Cenni di tecniche di classificazione e clustering, applicazioni con software WEKA

Esempi di applicazioni: estrazione & data-mining nei social media

Page 58: Corso  di  Basi  di  Dati

58

Presentazione Obiettivi del corsoContenuti del corsoA che serve studiare le basi di

dati? Qualche suggerimento …

INDICE

Page 59: Corso  di  Basi  di  Dati

59

Competenze Professionali

Database Administrator Progettista di Database Analista/Sviluppatore SQL Database Specialist Business Intelligence Specialist …

Q. Come posso utilizzare le competenze del corso?

Page 60: Corso  di  Basi  di  Dati

60

Contenuti del Corso Le basi di dati sono presenti in quasi

tutti i sistemi informatici di varia dimensione e complessità (es. Oracle vs SQLite) …

Modelli logici, linguaggi e tool per basi di dati sviluppati già nella fine degli anni ‘60 …

Il corso di Basi di Dati è presente in quasi tutti i corsi di Laurea in Informatica ed affini …

Conclusioni: disciplina statica ed un pò vetusta?

Page 61: Corso  di  Basi  di  Dati

61

Contenuti del Corso Le basi di dati sono presenti in quasi tutti

i sistemi informatici di varia dimensione e complessita’ (es. Oracle vs SQLite) …

Modelli logici, linguaggi e tool per basi di dati sviluppati gia’ nella fine degli anni ‘60 …

Il corso di Basi di Dati e’ presente in quasi tutti i corsi di Laurea in Informatica ed affini …

Conclusioni: disciplina statica ed un pò vetusta?

ASSOLUTAMENTE NO! Applicazioni vastissime ed in continua evoluzione Investimenti da parte delle maggiori aziende in ambito IT Area di ricerca “caldissima”

Esempi di applicazioni/ambiti di ricerca…

Page 62: Corso  di  Basi  di  Dati

62

Contenuti del CorsoOgni minuto nel mondo: Twitter: 98000 tweets Facebook: 695000 status update Google: 698000 ricerche online YouTube: 600 video uploadati 1,820 TB di dati creati 217 nuovi mobile web users

Fonte: Ravi Kalakota – Sizing Mobile+Social Big Data Stats

Page 63: Corso  di  Basi  di  Dati

63

Contenuti del CorsoBig Data: grandi moli di dati, provenienti da sorgenti eterogenee, difficili da gestire ed analizzare utilizzando strumenti tradizionali.

Font

e: h

ttp://

www.

data

mee

r.com

/pro

duct

/big

-dat

a.ht

ml

Le 3 “V” dei Big-Data:

Volume Varietà Velocità Valore

Page 64: Corso  di  Basi  di  Dati

64

Contenuti del CorsoUn esempio di sorgente di Big-Data: Reti di sensori

Page 65: Corso  di  Basi  di  Dati

65

Contenuti del CorsoFrom an Internet of Humans … to an Internet of Things …

Sour

ce: C

isco

IBSG

, Apr

il 20

11

Page 66: Corso  di  Basi  di  Dati

66

Contenuti del CorsoUn esempio di sorgente di Big-Data: Dispositivi mobili

Fonte: Lane, Miluzzo et alt, A survey of mobile phone sensing, IEEE Communication Magazine, 2010

1. SENSE

2. SHARE

3. ANALYZE

4. PROVIDESERVICES

Page 67: Corso  di  Basi  di  Dati

67

Nei big data, una grande quantità di dati può voler dire anche una grande quantità di informazioni nascoste da reperire!!

Contenuti del Corso

Es: Analisi dei social media

Social Net Analysis

Sentiment Analysis

Profiling di utenti

Page 68: Corso  di  Basi  di  Dati

68

Presentazione Obiettivi del corsoContenuti del corsoA che serve studiare le basi di dati? Qualche suggerimento …

INDICE

Page 69: Corso  di  Basi  di  Dati

69

Suggerimenti Seguire ATTIVAMENTE le lezioni Usare conoscenze pregresse per

integrare quanto visto nel corso … Controllare con regolarità il sito

Web del corso. Utilizzare il ricevimento. Essere propositivi & motivati!