Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...

Pagina creata da Asia D'Agostino
 
CONTINUA A LEGGERE
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
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
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
2
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
INDICE

➢ Presentazione
➢ Obiettivi del corso
➢Contenuti del corso
➢ A che serve studiare le basi di dati?
➢ Qualche suggerimento …
                        3
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
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
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
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
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
Docente
Prof. Marco Di Felice

Attività di ricerca:

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

 PROGETTO SWAMP                  PROGETTO MAC4PRO

                             6
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
Orari del Corso

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

➢ 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
                            7
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
Esame del Corso
L’esame consiste di:

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

Calcolo del voto finale (senza orale):

Voto_Finale=2/3* Voto_Scritto + 1/3 * Voto_Progetto
      + Punti Bonus
                              8
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
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
                               9
Corso di Basi di Dati - di Laurea in Informatica per il Management - Dipartimento di Informatica ...
Esame del Corso
STEP DEL PROGETTO
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
Esame del Corso
REGOLAMENTO D’ESAME

❑ 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.
                           11
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
INDICE

➢ Presentazione
➢ Obiettivi del corso
➢Contenuti del corso
➢ A che serve studiare le basi di dati?
➢ Qualche suggerimento …
                        13
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
Obiettivi del Corso
Source: http://www.atkearney.it/

                                   15
Obiettivi del Corso
 ◇ Chi produce questi dati?

1. Sistemi Informativi aziendali

2. Social media

3. Sorgenti di big-data

                          16
L’Informatica di Ieri
                                                                                                      https://it.wikipedia.org/wiki/Storia_del_computer#Il_PC_IBM_.281981.29
http://www.windoweb.it/edpstory_new/foto_storia_computer/eh1945_f1.jpg

                                                                                                          IBM 5150 (1980)
                                                                                                            L’era dei PC

                                                                               ENIAC (1954)           IPHONE GSM (2007)
                                                                         L’era dei supercalcolatori   L’era degli smartphone
                                                                                                        17
L’Informatica di Oggi
L’informatica pervasiva …

FITBIT                      SMART LIGHTING
                            (Philips Hue)

                            TESLA AutoPilot
SMARTWATCH
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.

               Necessità Dati ad diogni     livello aziendale
                                    sintesi sull’andamento

              di strumenti software
                     Lead
                                                   per
                                      Dati di sintesi di supporto al
         custodire, manipolare,      analizzare         i dati!
                                          processo decisionale
    PIRAMIDE di ANTHON

                    Direzione

                                             Dati di dettaglio: ordini, dati
                            Personale           fatturazioni, bilancio,
                                                     contabilità, etc
                                        19
Obiettivi del Corso
◇ 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

                                                    20
Obiettivi del Corso
◇ Perchè i dati sono importanti?
R3 à    DATI = informazione = conoscenza = supporto alle decisioni!

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

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

                                                         21
Obiettivi del Corso
◇ Perchè i dati sono importanti?
R3 à       DATI = informazione = conoscenza = supporto alle decisioni!

    RECOMMENDATION SYSTEMS                                                     PREDICTIVE MAINTANANCE
                                                                                      (Industry 4.0)
  https://www.researchgate.net/figure/Amazoncom-collaborative-based-   https://www2.deloitte.com/content/dam/Deloitte/us/Documents/
  recommender-system_fig6_221215702                                         process-and-operations/us-cons predictive-maintenance.pdf

                                                               22
Obiettivi del Corso
Conoscenze sui dati dai corsi precedenti …

➢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.
                                  23
Obiettivi del Corso
 MODELLO DI SVILUPPO DI APPLICAZIONI VISTO FIN QUI

        APPLICAZIONE

         LOGICA di
        CONTROLLO
                                   /Sc rittura
         LOGICA di         Lettura
                                                 FILE
       GESTIONE DATI

◇ 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.
                               24
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

                            25
Obiettivi del Corso
FOCUS sui DATI

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)

                           26
INDICE

➢ Presentazione
➢ Obiettivi del corso
➢ Contenuti del corso
➢ A che serve studiare le basi di dati?
➢ Qualche suggerimento …
                        27
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
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
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
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
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.
                            Colonne=Campi del record

             Corso               Codice Corso     Nome Docente

Righe=
Record
         {   Basi di dati
             Programmazione
             Sistemi Operativi
                                 0121
                                 1213
                                 1455
                                                  M. Di Felice
                                                  C. Laneve
                                                  D. Sangiorgi

                                   32
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
Contenuti del Corso

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

 NomeCorso           CodiceCorso   Nome Docente
 Basi di dati        0121          M. Di Felice
 Programmazione      1213          C. Laneve
 Sistemi Operativi   1455          D. Sangiorgi

                            34
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
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
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
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
Contenuti del Corso
Esempio: Progettazione di una base di dati per un ente
che eroga corsi di formazione.
SPECIFICA dei REQUISITI sui DATI
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.

                               39
Contenuti del Corso
Esempio: Progettazione di una base di dati per un ente
che eroga corsi di formazione.
SPECIFICA delle OPERAZIONI sui DATI

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

                            40
Contenuti del Corso
PROBLEMA: Progettazione di un sistema
i n f o r m a t ivo p e r g e 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”.

                          41
Contenuti del Corso
Analisi dei requisiti e progettazione in dettaglio …
                           Studio/analisi dei requisiti

          Risultati               Fasi della progettazione

          SCHEMA
        CONCETTUALE        Progettazione concettuale

          SCHEMA
          LOGICO              Progettazione logica

          SCHEMA
           FISICO             Progettazione fisica

                             42
Contenuti del Corso
Passo1: Produrre uno schema concettuale dei
dati e delle relazioni tra dati che occorrono nel
documento di specifica.
                               Codice
                 Studente
                              …
                                        Modello Entità-Relazione (ER)
Inscrizione

                              Docenza

                  Corso                       Docente

              Codice      …               Nome      …

                                         43
Contenuti del Corso
Analisi dei requisiti e progettazione in dettaglio …
                           Studio/analisi dei requisiti

          Risultati               Fasi della progettazione

          SCHEMA
        CONCETTUALE        Progettazione concettuale

          SCHEMA
          LOGICO              Progettazione logica

          SCHEMA
           FISICO             Progettazione fisica

                             44
Contenuti del Corso
Passo2: Traduzione del modello concettuale nel
modello logico relazionale …

➢Più soluzioni sono possibili … Quale scegliere?
➢Soluzione 1 (pessima). Utilizzo di una sola tabella …
 Codice     Codice    Cognome     Eta   Sesso   Codice    Titolo      Inizio     Fine    Codice   Cognome     Afferenza
 Studente   Fiscale                             Corso                                    Prof
 323        NULL      Di          23    M       212       Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                      Matteo                              Dati        2          12
 123        NULL      Poli        24    M       212       Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                                                          Dati        2          12
 143        NULL      Giusti      25    M       212       Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                                                          Dati        2          12
 163        NULL      Di Cinzio   27    M       214       Sistemi     12/3/201   13/5/20 1215     Sangiorgi   Unibo
                                                          Operativi   3          13

                                                         45
Contenuti del Corso
Passo3: Analizzare la qualità dello schema
prodotto, ed ottimizzarlo/ristrutturarlo …

Codice     Codice    Cognome Eta    Sesso   Codice   Titolo      Inizio     Fine    Codice   Cognome     Afferenza
Studente   Fiscale                          Corso                                   Prof
323        NULL      Di        23   M       212      Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                     Matteo                          Dati        2          12
123        NULL      Poli      24   M       212      Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                                                     Dati        2          12
143        NULL      Giusti    25   M       212      Basi di     10/3/201   10/5/20 1212     DiFelice    Unibo
                                                     Dati        2          12
163        NULL      Di Cinzio 27   M       214      Sistemi     12/3/201   13/5/20 1215     Sangiorgi   Unibo
                                                     Operativi   3          13

Ridondanze dei dati à costi aggiuntivi (memoria)
                                                     46
Contenuti del Corso
Analisi dei requisiti e progettazione in dettaglio …
                           Studio/analisi dei requisiti

          Risultati               Fasi della progettazione

          SCHEMA
        CONCETTUALE        Progettazione concettuale

          SCHEMA
          LOGICO              Progettazione logica

          SCHEMA
           FISICO             Progettazione fisica

                             47
Contenuti del Corso
Q. Come memorizzare i dati di una tabella su
memoria secondaria? Quali strutture dati e
metodologie utilizzare?
                                             FILE1.dat
 NomeCorso           Codice   Docente
 Basi di dati        0121     M. Di Felice
                                             0001000
                                             111010
 Programmazione      1213     C. Laneve      101110
 Sistemi Operativi   1455     D. Sangiorgi

 ➢ Struttura sequenziale
 ➢ Struttura ad accesso calcolato (hash)
 ➢ Struttura ad albero
                                    48
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
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
Contenuti del Corso
Nel Web, gran parte dei siti di organizzazioni ed
aziende gestiscono i contenuti attraverso un DBMS
(Web Information System).

                            51
Contenuti del Corso
Componenti di un’applicazione web:
❑ Web-server (HTTP-based)
❑ Linguaggio di scripting server-side
❑ DBMS (relazionale)
                                   2. Parametri
                                                            MT          3. SQL Query
            1. HTTP request

                               Web-server             eb
                                                    aW
                                                   n ica)
            6. HTTP response                     i

                                                                 4.
 Browser                                       ag inam                        DBMS

                                                                    D
                                              P
                                            5. (d

                                                                   at
 (client)

                                                                        i
                                   52
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
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
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
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         CORRELAZIONI/
                                      ASSOCIAZIONI
contrario tecniche per estrarre          UTILI?
informazioni da grande quantità
di dati.                                  0101010
                                          1101010
                                          1010102
                                          1111110
                        56
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
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    Rischio
                                            Lavoro
     1        SI       NO           20K-    5        Basso
                                    30K
     2        SI       SI           20K-    5        Basso
                                    30K
     3        NO       NO           10K-20K 2        Alto
                               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    Rischio
                                            Lavoro
     1        SI      NO       20K-    5       Basso
              CASA: SI, #ANNI LAVORO:
                               30K    1, REDDITO: 20K-30K
     2        SI      SI     20K-   5         Basso
              RISCHIO EROGAZIONE
                             30K PRESTITO di 5K????
     3        NO      NO            10K-20K 2        Alto
                               59
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    Rischio
                                        Lavoro
   1        SI      NO        20K-30K   5        Basso
   2        SI      SI        20K-30K   5        Basso
   3        NO      NO        10K-20K   2        Alto

                              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 …

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

➢ Presentazione
➢ Obiettivi del corso
➢Contenuti del corso
➢ A che serve studiare le basi di dati?
➢ Qualche suggerimento …
                        63
Competenze Professionali
Q. Come posso utilizzare le competenze del corso?

➢ Database Administrator
➢ Progettista di Database
➢ Analista/Sviluppatore SQL
➢ Database Specialist
➢ Business Intelligence Specialist
➢ Data Scientist
➢…                      64
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

                                                         65
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
Contenuti del Corso
➢ Le basi di dati sono presenti in quasi tutti i sistemi
  informatici di varia dimensione e
  complessita’ (es. OracleNO!
ASSOLUTAMENTE              vs SQLite) …
➢ Modelli logici, linguaggi e tool per basi di dati
➢ Applicazioni vastissime ed in continua evoluzione
  sviluppati gia’ nella fine degli anni ‘60 …
➢ Investimenti da parte delle maggiori aziende in ambito IT
➢ Area
➢      di ricerca
  Il corso        “caldissima”
            di Basi  di Dati e’ presente in quasi tutti i
  corsi di Laurea in Informatica ed affini …
Esempi di applicazioni/ambiti di ricerca… à
➢ Conclusioni: disciplina statica ed un pò vetusta?

                            67
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
Contenuti del Corso
Un esempio di sorgente di Big-Data: Reti di sensori

                          69
Contenuti del Corso
Nei big data, una grande quantità di dati può voler
dire anche una grande quantità di informazioni
nascoste da reperire!!
                                    Social Net Analysis

                                    Sentiment Analysis

Es: Analisi dei social media
                                     Profiling di utenti
                         70
Contenuti del Corso
                 Nuovi paradigmi orientati ai dati

                      Source: dati.comune.bologna.it

        OpenData                                           Linked Data
                                                       Source: http://lod-cloud.net/
Source: http://5stardata.info/en/
                                                71
INDICE

➢ Presentazione
➢ Obiettivi del corso
➢Contenuti del corso
➢ A che serve studiare le basi di dati?
➢ Qualche suggerimento …
                        72
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
Puoi anche leggere