• Non ci sono risultati.

Corso di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Basi di Dati"

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/

1

(2)

2

(3)

Presentazione

 Obiettivi del corso

 Contenuti del corso

 A che serve studiare le basi di dati?

 Qualche suggerimento …

INDICE

3

(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)

5

(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/

7

(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 2020, 1 Marzo 2020, 1 Aprile 2020, 1 Maggio 2020,

1 Giugno 2020, 1 Luglio 2020, 15 Settembre 2020.

9

(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

11

(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

13

(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

15

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

17

ENIAC (1954) L’era dei

supercalcolatori

http://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 Personale Direzione Direzione

Lead

PIRAMIDE di ANTHONYPIRAMIDE di ANTHONY

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

21

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

(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/Document s/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 …

23

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

25

PROBLEMI:

1) Scalabilità? 

gestione di grandi moli di dati?

2) Concorrenza? 

accesso da parte di utenti/applicazioni?

DATI 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

27

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

29

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

31

(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 Programmazion

e 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. 33

(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 …35

(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

37

(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

39

(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 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 ottenere una “buona (?) base di dati”.

41

(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

43

(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 Studen te

Codic e Fiscal e

Cogno

me Eta Sess

o Codic

e Corso

Titolo Inizio Fine Codic e Prof

Cogno

me Afferenza

323 NULL Di

Matteo 23 M 212 Basi di

Dati 10/3/20

12 10/5/

2012 1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di

Dati 10/3/20

12 10/5/

2012 1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di

Dati

10/3/20 12

10/5/

2012

1212 DiFelice Unibo

163 NULL Di

Cinzio 27 M 214 Sistemi

Operativ i

12/3/20

13 13/5/

2013 1215 Sangior

gi Unibo

 Più soluzioni sono possibili … Quale scegliere?

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

45

(46)

Contenuti del Corso

Passo3: Analizzare la qualità dello schema prodotto, ed

ottimizzarlo/ristrutturarlo …

Codice Studen te

Codic e Fiscal e

Cogno

me Eta Sess

o Codic

e Corso

Titolo Inizio Fine Codic e Prof

Cogno

me Afferenza

323 NULL Di

Matteo 23 M 212 Basi di

Dati 10/3/20

12 10/5/

2012 1212 DiFelice Unibo

123 NULL Poli 24 M 212 Basi di

Dati 10/3/20

12 10/5/

2012 1212 DiFelice Unibo

143 NULL Giusti 25 M 212 Basi di

Dati

10/3/20 12

10/5/

2012

1212 DiFelice Unibo

163 NULL Di

Cinzio 27 M 214 Sistemi

Operativ i

12/3/20

13 13/5/

2013 1215 Sangior

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

47

(48)

Contenuti del Corso

Q. Come memorizzare i dati di una

tabella su memoria secondaria? Quali strutture dati e metodologie

utilizzare?

NomeCorso Codic

e Docente Basi di dati 0121 M. Di Felice Programmazion

e 1213 C. Laneve

Sistemi

Operativi 1455 D. Sangiorgi

00010 00 11101

0 10111

0

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.

49

(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).

51

(52)

Contenuti del Corso

Componenti di un’applicazione web:

 Web-server (

HTTP-based

)

 Linguaggio di scripting server-side

 DBMS

(relazionale)

DBM Browser S

(client)

Web- server 1. HTTP request MT

6. HTTP response

2. Parametri

3. SQL Query 4. D

ati 5. Pagina Web

(dinamica) 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

 …

53

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

55

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

57

(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? Macchin

a?

Reddit o

#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? Macchin a?

Reddit o

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

59

(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? Macchin

a? Reddit

o #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 CLUSTER1: Rischio basso, casa: SI, Reddito: 30K-40K

61

(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

63

(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

65 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 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… 

67

(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

69

(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

71

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!

73

Riferimenti

Documenti correlati

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

In pratica: Ogni paziente puo’ essere in cura presso un numero arbitrario di medici …..

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