• Non ci sono risultati.

➢ Contenuti del corso

N/A
N/A
Protected

Academic year: 2021

Condividi "➢ Contenuti del corso "

Copied!
73
0
0

Testo completo

(1)

Corso di Basi di Dati

Corso di Laurea in Informatica per il Management Università di Bologna

Docente: Prof. Marco Di Felice

Home page del corso:

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

(2)

2

(3)

➢ Presentazione

➢ Obiettivi del corso

➢ Contenuti del corso

➢ A che serve studiare le basi di dati?

➢ Qualche suggerimento …

INDICE

(4)

Docente

Prof. Marco Di Felice Prof. Associato, INF/01

Dipartimento di Informatica – Scienza e Ingegneria (DISI) Via M. Anteo Zamboni 7, 40126 Bologna

Email: difelice@cs.unibo.it, marco.difelice3@unibo.it

Sito web: http://www.cs.unibo.it/difelice Orario di ricevimento:

Mercoledì, ore 11-13 (mail richiesta)

4

(5)

Docente

Prof.

Marco Di Felice

Attività didattica:

Basi di Dati (Informatica per il Management)

Data Analytics (Informatica Magistrale)

Internet of Things (Informatica Magistrale)

Sistemi Context-aware (Informatica Magistrale)

(6)

Docente

Prof.

Marco Di Felice

Attività di ricerca:

Mobile and context-aware computing, Internet of Things, sensor data analytics

6

PROGETTO SWAMP PROGETTO MAC4PRO

(7)

Orari del Corso

➢ Martedi, ore 12-14, Aula Ercolani 2

➢ Mercoledì, ore 14.00-16.00, Aula Cremona

➢ Giovedì, ore 9.00-11.00,

Aula Ercolani 2 Durata corso: Settembre –Dicembre 2020

(62 ore circa di lezioni frontali) – 9 c.f.u http://www.cs.unibo.it/difelice/dbsi/

(8)

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

8

(9)

Esame del Corso

◇ Il progetto consiste nella progettazione ed

implementazione di un Web Information System (database + applicazione 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. 2020/2021:

1 Febbraio 2021, 1 Marzo 2021, 1 Aprile 2021, 1 Maggio 2021, 1 Giugno 2021, 1 Luglio 2021, 15 Settembre 2021

(10)

Esame del Corso

1. Se la proposta viene dallo studente à Email a: bd- infoman2017@cs.unibo.it con subject [DB1] Proposta Progetto DB 2021 indicando specifiche + lista

partecipanti.

2. Consegna attraverso piattaforma virtuale.unibo.it, 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.

10

STEP DEL PROGETTO

(11)

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

(12)

Libri di Testo

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

Torlone, Basi di dati, McGraw-Hill

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

12

(13)

➢ Presentazione

➢ Obiettivi del corso

➢ Contenuti del corso

➢ A che serve studiare le basi di dati?

➢ Qualche suggerimento …

INDICE

(14)

Obiettivi del Corso

1. 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.

14

(15)

Obiettivi del Corso

Source: http://www.atkearney.it/

(16)

Obiettivi del Corso

16

◇ Chi produce questi dati?

1. Sistemi Informativi aziendali 2. Social media

3. Sorgenti di big-data

(17)

L’Informatica di Ieri

ENIAC (1954)

L’era dei supercalcolatori

/www.windoweb.it/edpstory_new/foto_storia_computer/eh1945_f1.jpg

IBM 5150 (1980) L’era dei PC

https://it.wikipedia.org/wiki/Storia_del_computer#Il_PC_IBM_.281981.29

IPHONE GSM (2007) L’era degli smartphone

(18)

L’Informatica di Oggi

L’informatica pervasiva …

TESLA AutoPilot

SMARTWATCH

FITBIT SMART LIGHTING

(Philips Hue)

(19)

Obiettivi del Corso

19

◇ 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

PIRAMIDE di ANTHON

Dati di dettaglio: ordini, dati fatturazioni, bilancio,

contabilità, etc

Dati di sintesi di supporto al processo decisionale

Dati di sintesi sull’andamento aziendale

Necessità ad ogni livello di strumenti software per

custodire, manipolare, analizzare i dati!

(20)

Obiettivi del Corso

20

◇ Perchè i dati sono importanti?

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

https://cloud.google.com/maps-platform/pricing/

http://www.bigdataexchange.com

(21)

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 u n ’ a z i e n d a , e d e s t r a r r e informazioni di supporto alla decisioni strategiche.

(22)

Obiettivi del Corso

22

◇ Perchè i dati sono importanti?

R3 à DATI = informazione = conoscenza = supporto alle decisioni!

RECOMMENDATION SYSTEMS PREDICTIVE MAINTANANCE (Industry 4.0)

https://www2.deloitte.com/content/dam/Deloitte/us/Documents/

process-and-operations/us-cons predictive-maintenance.pdf https://www.researchgate.net/figure/Amazoncom-collaborative-based-

recommender-system_fig6_221215702

(23)

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 trasmettere 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 …

(24)

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 CONTROLLO

LOGICA di

GESTIONE DATI FILE

Lettura/Scrittura

24

MODELLO DI SVILUPPO DI APPLICAZIONI VISTO FIN QUI

(25)

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

(26)

Obiettivi del Corso

In questo corso, studieremo:

➢ modelli, linguaggi, e strumenti software

al fine di: progettare , implementare ed analizzare collezioni (Basi) di Dati (DB) che siano:

Persistenti

Potenzialmente grandi

Potenzialmente condivise

(tra utenti/applicazioni)

FOCUS sui DATI

26

(27)

➢ Presentazione

➢ Obiettivi del corso

➢ Contenuti del corso

➢ A che serve studiare le basi di dati?

➢ Qualche suggerimento …

INDICE

(28)

Contenuti del Corso

Nel 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].

28

(29)

Contenuti del Corso

Nel 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].

(30)

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 …

30

(31)

Contenuti del Corso

PROBLEMA:

Molti DBMS disponibili in commercio!

➢ Oracle, DB2, Microsoft SQL Server, MySQL, etc

Non vedremo nel dettaglio tutti i tool (qualcuno sì), 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?

(32)

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 Felice Programmazione 1213 C. Laneve Sistemi Operativi 1455 D. Sangiorgi

{

Righe=

Record

Colonne=Campi del record

32

(33)

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.

(34)

Contenuti del Corso

NomeCorso CodiceCorso Nome Docente

Basi di dati 0121 M. Di Felice

Programmazione 1213 C. Laneve

Sistemi 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

34

(35)

Contenuti del Corso

Con 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 …

(36)

Contenuti del Corso

Usando DBMS ed il linguaggio SQL

Select CodiceCorso From CORSI

Where (NomeCorso=“Basi di dati”);

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

36

(37)

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.

➢ Il linguaggio SQL: interrogazioni, definizione di viste, transazioni, trigger (MySQL)

➢ Oltre il modello relazionale: approcci NOSQL

MongoDB e Cassandra

(38)

Contenuti del Corso

Nel 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].

38

(39)

Contenuti del Corso

Esempio: 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

(40)

Contenuti del Corso

Esempio: 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 i gli studenti dell’ultimo anno

➢ …

SPECIFICA delle OPERAZIONI sui DATI

40

(41)

Contenuti del Corso

PROBLEMA: Progettazione di un sistema i n f o r m a t ivo p e r ge s t i r e i d a t i d i 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 ottenere una

“buona (?) base di dati”.

(42)

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica Progettazione fisica

SCHEMA CONCETTUALE

SCHEMA LOGICO

SCHEMA FISICO

Fasi della progettazione

Risultati

Analisi dei requisiti e progettazione in dettaglio …

42

(43)

Contenuti del Corso

Passo1: Produrre uno schema concettuale dei dati e delle relazioni tra dati che occorrono nel documento di specifica.

Studente

Corso Docente

Docenza

Inscrizione

Codice

Modello Entità-Relazione (ER)

Codice Nome

(44)

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale Progettazione logica

Progettazione fisica

SCHEMA CONCETTUALE

SCHEMA LOGICO

SCHEMA FISICO

Fasi della progettazione

Risultati

Analisi dei requisiti e progettazione in dettaglio …

44

(45)

Contenuti del Corso

Passo2: 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/201

2 10/5/20

12 1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di

Dati 10/3/201

2 10/5/20

12 1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di

Dati 10/3/201

2 10/5/20

12 1212 DiFelice Unibo

163 NULL Di Cinzio 27 M 214 Sistemi

Operativi 12/3/201

3 13/5/20

13 1215 Sangiorgi Unibo

➢ Più soluzioni sono possibili … Quale scegliere?

➢Soluzione 1 (pessima). Utilizzo di una sola tabella …

(46)

Contenuti del Corso

Passo3: 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/201

2 10/5/20

12 1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di

Dati 10/3/201

2 10/5/20

12 1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di

Dati 10/3/201

2 10/5/20

12 1212 DiFelice Unibo

163 NULL Di Cinzio 27 M 214 Sistemi

Operativi 12/3/201

3 13/5/20

13 1215 Sangiorgi Unibo

Ridondanze dei dati

à

costi aggiuntivi (memoria)

46

(47)

Contenuti del Corso

Studio/analisi dei requisiti

Progettazione concettuale Progettazione logica

Progettazione fisica

SCHEMA CONCETTUALE

SCHEMA LOGICO

SCHEMA FISICO

Fasi della progettazione

Risultati

Analisi dei requisiti e progettazione in dettaglio …

(48)

Contenuti del Corso

Q. 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 Felice Programmazione 1213 C. Laneve Sistemi Operativi 1455 D. Sangiorgi

0001000 111010 101110 FILE1.dat

➢ Struttura sequenziale

➢ Struttura ad accesso calcolato (hash)

➢ Struttura ad albero

48

(49)

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.

(50)

Contenuti del Corso

Nel 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].

50

(51)

Contenuti del Corso

Nel Web , gran parte dei siti di organizzazioni ed aziende gestiscono i contenuti attraverso un DBMS

(Web Information System).

(52)

Contenuti del Corso

Componenti di un’applicazione web:

❑ Web-server (

HTTP-based

)

❑ Linguaggio di scripting server-side

❑ DBMS

(relazionale)

Browser DBMS (client)

Web-server 1. HTTP request MT

6. HTTP response

2. Parametri

3. SQL Query

4. D ati 5. Pagina Web

(dinamic a)

52

(53)

Contenuti del Corso

Linguaggi/Piattaforme di scripting server-side

➢ ASP.NET

➢ PHP

➢ Python

➢ Node.js

➢ Java Server Pages (JSP) and Java Servlet

➢ Ruby on Rails

➢ …

(54)

Contenuti del Corso

Parte III: SQL per Applicazioni

[cenni]

➢ Web Information System (WIS): Piattaforma AMP (Apache/MySQL/PHP)

Esempi con tecnologia NOSQL + Node.js

➢ Data Access Patterns:

Table Data Gateway, Row Data Gateway, Object/Relational Mapping (ORM)

➢ SQL e Java: Java Database Connectivity (JDBC)

54

(55)

Contenuti del Corso

Nel 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].

(56)

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.

CORRELAZIONI/

ASSOCIAZIONI UTILI?

0101010 1101010 1010102 1111110

56

(57)

Contenuti del Corso

Data 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 …

(58)

Contenuti del Corso

Quali 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

58

(59)

Contenuti del Corso

Quali 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????

(60)

Contenuti del Corso

Quali info possono essere estratte da un DB?

Apprendimento unsupervised: Costruire modelli senza classi predefinite, al fine di identificare cluster tra i 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

60

(61)

Contenuti del Corso

Quali info possono essere estratte da un DB?

Apprendimento unsupervised: Costruire modelli senza classi predefinite, al fine di identificare cluster tra i dati …

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

(62)

Programma del Corso

Parte IV: Introduzione al Data-Mining

➢ Concetti di base: Business intelligence, data warehouse, data-mining

➢ Fasi di un processo di data-mining

➢ Tecniche di classificazione e clustering, applicazioni con software WEKA

➢ Esempi di applicazioni

62

(63)

➢ Presentazione

➢ Obiettivi del corso

➢ Contenuti del corso

➢ A che serve studiare le basi di dati?

➢ Qualche suggerimento …

INDICE

(64)

Competenze Professionali

➢ Database Administrator

➢ Progettista di Database

➢ Analista/Sviluppatore SQL

➢ Database Specialist

➢ Business Intelligence Specialist

➢ Data Scientist

➢ …

Q. Come posso utilizzare le competenze del corso?

64

(65)

Contenuti del Corso

https://www.ilsole24ore.com/art/tecnologie/2017-01-13/perche-serve-

data-scientist-ogni-azienda-181239.shtml?uuid=ADkcBTYC Source: forbes.com

(66)

Contenuti del Corso

➢ Le basi di dati sono presenti in quasi tutti i sistemi software 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?

66

(67)

Contenuti del Corso

➢ Le basi di dati sono presenti in quasi tutti i sistemi i n f o r m a t i c i d i v a r i a d i m e n s i o n e 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… à

(68)

Contenuti del Corso

Big Data: grandi moli di dati, provenienti da sorgenti eterogenee, difficili da gestire ed

analizzare utilizzando strumenti tradizionali.

Fonte: http://www.datameer.com/product/big-data.html

Le 3 “V” dei Big-Data:

➢ Volume

➢ Varietà

➢ Velocità

➢ Valore

68

(69)

Contenuti del Corso

Un esempio di sorgente di Big-Data: Reti di sensori

(70)

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

70

(71)

Contenuti del Corso

Nuovi paradigmi orientati ai dati

OpenData Linked Data

Source: http://lod-cloud.net/

Source: http://5stardata.info/en/

Source: dati.comune.bologna.it

(72)

➢ Presentazione

➢ Obiettivi del corso

➢ Contenuti del corso

➢ A che serve studiare le basi di dati?

➢ Qualche suggerimento …

INDICE

72

(73)

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 !

Riferimenti

Documenti correlati

Oltre ad i costrutti base di SQL2 visti fin qui, esistono molti costrutti avanzati (i) definiti in SQL3 e/o (ii) dipendenti dallo specifico DBMS.. Ø  Procedure

Record di transizione  tengono traccia delle operazioni svolte da ciascuna transizione sul DBMS. Record di sistema  tengono traccia delle operazioni di

Quali tipi di dato e’ possibile memorizzare in un DB MySQL?..  Tipi di dato numerici supportati da

Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti:. 

Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti:. ² 

 MongoDB (come tutti i sistemi NoSQL) non supporta il join tra collezioni!.. Introduzione ai database

Ogni fase della progettazione produce una rappresentazione della base di dati attraverso uno schema:. ➢ Progettazione

L’obiettivo della progettazione logica è la realizzazione del modello logico (es. relazionale) a partire dalle informazioni del modello E-R?.