SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Basi di Dati
                  Basi di Dati

La progettazione della base di dati
Basi di Dati  Dove ci troviamo?
Basi di Dati – Dove ci troviamo?
                                               A) Introduzione
                                                   1    2

                                                                 C) Modello Relazionale, 
                                                                  )                     ,
    B) Prog Concettuale (ER)
    B) Prog. Concettuale (ER)
                                                                 Algebra relazionale, SQL

    1   2    3       4       5       6     7                 1       2   3   4    5    6    7

        D) Prog. Logica e                                    E) Tecnologia di un DBMS
        Normalizzazione

                                                                 1   2   3    4    5    6
         1       2       3       4


                                         F) Programmazione DB


                                                    1   2

2                                                            Basi di Dati – Progettazione della base di dati
Il progetto della base di dati
Il progetto della base di dati
    Si inserisce nel:
    Ciclo di vita del sistema informativo
    comprendente in generale le seguenti attività:
    Raccolta ed analisi dei requisiti
    Progettazione
    Implementazione
    Validazione e collaudo
    Funzionamento




3                                    Basi di Dati ‐ La progettazione della base di dati
L analisi dei requisiti
L’analisi dei requisiti

Richiede uno studio preliminare in azienda su:
    unità organizzative omogenee (settori o aree 
    unità organizzative omogenee (settori o aree
    funzionali) che utilizzeranno il sistema
    individuazione delle attività che devono 
    individuazione delle attività che devono
    essere supportate del sistema




4                                  Basi di Dati ‐ La progettazione della base di dati
L analisi dei requisiti
L’analisi dei requisiti
Richiede uno studio preliminare in azienda su:
Richiede uno studio preliminare in azienda su:
  (cont.)
    piano di sviluppo del sistema con priorità e 
    piano di sviluppo del sistema con priorità e
    tempi di realizzazione
    studio di fattibilità che stimi i costi in termini 
        di di f ibili à h i i i           ii        ii
    di budget,  di impegno del personale e le 
    inefficienze temporanee dovute al cambio di 
    i ffi i      t              d     tl         bi di
    sistema e di modalità di lavoro



5                                   Basi di Dati ‐ La progettazione della base di dati
L analisi dei requisiti
L’analisi dei requisiti

    comprende le attività di :
    individuazione delle proprietà e delle 
    funzionalità del sistema
    p odu o e d u a desc o e o a e,
    produzione di una descrizione informale, 
    quanto possibile completa dei dati coinvolti e 
    delle operazioni su di essi.
           p




6                                Basi di Dati ‐ La progettazione della base di dati
L analisi dei requisiti
L’analisi dei requisiti

    comprende le attività di (cont.) :
    individuazione in linea di massima dei 
    individuazione in linea di massima dei
    requisiti software ed hardware del sistema
    richiede interazione con gli utenti a tutti i 
     i hi d i          i          li     i      ii
    livelli, in particolare con la direzione aziendale




7                                        Basi di Dati ‐ La progettazione della base di dati
I requisiti di informazione e funzionamento
I requisiti di informazione e funzionamento

Riguardano:
 i    d
     individuazione delle categorie di dati utili
     dislocazione dei dati 
     importanza dei dati 
     quantità dei dati e tasso di crescita




 8                                    Basi di Dati ‐ La progettazione della base di dati
I requisiti di informazione e funzionamento
I requisiti di informazione e funzionamento

Riguardano (cont.):
 i    d    (     )
     tipo di uso dei dati (batch, interattivo..), frequenza di 
     uso
     procedure di elaborazione dei dati, temporizzazione 
     delle procedure
     d ll        d
     viste di utente, autorizzazione, privatezza e segretezza




 9                                    Basi di Dati ‐ La progettazione della base di dati
Per ogni settore aziendale
Per ogni settore aziendale
Si procede con i seguenti passi:
 i      d      i        i     i
  si analizza il sistema informativo esistente, si 
  intervistano i responsabili del settore 
  si produce una prima versione dei requisiti in 
  linguaggio naturale, raggruppando frasi relative a 
  categorie diverse di dati e di operazioni




 10                                Basi di Dati ‐ La progettazione della base di dati
Per ogni settore aziendale
Per ogni settore aziendale
Si prosegue con i seguenti passi:
Si prosegue con i seguenti passi:
     si analizzano le frasi per eliminare ambiguità 
     provocate da:
     provocate da:
         pluralismo di percezione 
         incompletezze di descrizione
     ambiguità del tipo:
         omonimie
         sinonimie
         conflitti di descrizione
         similitudini
          i ilit di i



11                                      Basi di Dati ‐ La progettazione della base di dati
Per ogni settore aziendale
Per ogni settore aziendale
Si prosegue con i seguenti passi:
   p    g           g      p
     si ricontrollano insieme ai responsabili di settore 
     le frasi relative alle varie categorie di dati e alle 
                                      g
     operazioni che li coinvolgono (cercando di eliminare 
     le possibili ambiguità del linguaggio naturale)
     si costruisce a partire dalle frasi un glossario di 
     termini (che, ad es., contenga per ogni termine: la 
     descrizione, l’elenco dei sinonimi e l’elenco dei termini a 
     cui si collega)




12                                        Basi di Dati ‐ La progettazione della base di dati
Per ogni settore aziendale
Per ogni settore aziendale
Si prosegue con i seguenti passi:
     si verifica la completezza
       tutti gli aspetti importanti sono stati considerati
             g     p       p
     si verifica la consistenza delle specifiche:
          tutti i termini sono stati definiti
          tutti i termini sono stati definiti
          tutti i termini compaiono in operazioni
          le operazioni fanno riferimento a termini 
          le operazioni fanno riferimento a termini
          definiti




13                                      Basi di Dati ‐ La progettazione della base di dati
Esempio di frasi sintetiche che 
descrivono il lavoro di un magazzino:
                              g

il magazzino è composto da scaffali
il magazzino è composto da scaffali
i fornitori forniscono prodotti
i clienti ordinano prodotti
i clienti ordinano prodotti
gli scaffali contengono prodotti
gli operai sono addetti agli scaffali
 un possibile glossario è:
 un possibile glossario è:


14                           Basi di Dati ‐ La progettazione della base di dati
TERMINE     DESCRIZIONE                 SINONIMI                  LEGAME
fornitore   p. iva, denom.,                                       prodotto
            indirizzo, num. tel.

cliente     p. iva, denom.,             acquirente                prodotto
            indirizzo, num. tel.

prodotto    codice, nome,               articolo                  fornitore
            genere....                  voce                       scaffale
                                                                   cliente 
                                                                   cliente

scaffale    supporto numerato           ripiano                   operaio
                                        (incertezza)   
                                        (incertezza)              prodotto 
                                                                  prodotto

operaio     dati anagrafici,  cf,       addetto                   scaffale
            matricola, qualifica 
            matricola qualifica         magazziniere




 15                                     Basi di Dati ‐ La progettazione della base di dati
Progettazione

Per progettazione si intende:

  la progettazione dei dati
      che individua l’organizzazione e la struttura della base di dati
  la progettazione delle applicazioni
      che schematizza le operazioni sui dati e progetta il software 
      applicativo (attività tipica degli informatici)




 16                                     Basi di Dati ‐ La progettazione della base di dati
Implementazione

In base al progetto (attività tipica degli informatici):

  vengono definite le componenti hardware e software di 
  base e di sviluppo da acquisire sul mercato
                 pp       q
  viene costruita e popolata la base di dati 
  vengono sviluppati i programmi applicativi
  vengono sviluppati i programmi applicativi




 17                                 Basi di Dati ‐ La progettazione della base di dati
Validazione e collaudo
Validazione e collaudo

 verifica della correttezza dei dati
 verifica del corretto funzionamento delle applicazioni
                                              pp
 verifica dei tempi di risposta nelle varie condizioni 
 operative
  p
 verifica della sicurezza dei dati
 verifica della resistenza ai guasti
 verifica della resistenza ai guasti




18                              Basi di Dati ‐ La progettazione della base di dati
Funzionamento

 controllo dell’uso corretto del sistema 
 rilevazione guasti e malfunzionamenti 
             g
 revisione periodica delle funzionalità 
 gestione dei contratti di :
 gestione dei contratti di :
     manutenzione ed aggiornamento dell’hardware 
     manutenzione correttiva ed evolutiva del software
     manutenzione correttiva ed evolutiva del software




19                                   Basi di Dati ‐ La progettazione della base di dati
Progetto della base di dati
Progetto della base di dati

Ritornando al progetto della base di dati,
p
possiamo distinguere tre fasi:
               g

  la progettazione concettuale
  la progettazione concettuale
  la progettazione logica
  la progettazione fisica




 20                          Basi di Dati ‐ La progettazione della base di dati
La progettazione concettuale
La progettazione concettuale
     Scopo della progettazione concettuale è 
     Scopo della progettazione concettuale è
     tradurre il risultato dell’analisi dei requisiti in 
     una :
     una :
     DESCRIZIONE FORMALE che dovrà essere:
                  indipendente dal DBMS
     la descrizione formale fa riferimento ad un :
                 MODELLO CONCETTUALE




21                                  Basi di Dati ‐ La progettazione della base di dati
La progettazione concettuale (cont.)
La progettazione concettuale (cont )


La descrizione con un modello concettuale produce:

     uno SCHEMA CONCETTUALE, cioè una 
     uno SCHEMA CONCETTUALE, cioè una
     rappresentazione semplificata che dovrà comunque 
     contenere tutti e soli gli aspetti interessanti per la 
     contenere tutti e soli gli aspetti interessanti per la
     gestione dell’azienda




22                                 Basi di Dati ‐ La progettazione della base di dati
La progettazione concettuale (cont.)
La progettazione concettuale (cont )

 In questa fase ci si deve preoccupare di 
 rappresentare il contenuto informativo della base di 
    pp
 dati 
 eliminando le ambiguità tipiche delle frasi in 
 eliminando le ambiguità tipiche delle frasi in
 linguaggio naturale
 riesaminando il glossario ed eliminando tutti i 
 riesaminando il glossario ed eliminando tutti i
 possibili conflitti



23                            Basi di Dati ‐ La progettazione della base di dati
La progettazione concettuale (cont.)
La progettazione concettuale (cont )

     lo schema dovrà risultare:
      di facile comprensione da parte degli esperti 
                   p            p       g     p
      dell’organizzazione aziendale anche se non esperti di 
      informatica
     lo schema è un documento di progetto 
     fondamentale e dovrà essere validato dalla 
     direzione aziendale




24                                     Basi di Dati ‐ La progettazione della base di dati
Cosa deve essere modellato?
Cosa deve essere modellato?
     la CONOSCENZA CONCRETA: i fatti specifici
        CONOSCENZA CONCRETA:  i fatti specifici
     che si vogliono rappresentare e che 
     riguardano la porzione del mondo aziendale 
     riguardano la porzione del mondo aziendale
     che si vuole modellare
     es.: l operaio Neri si chiama Paolo
     es : l’operaio Neri si chiama Paolo
     l’operaio Neri abita in via Po 34
     l operaio Bianchi fa il terzo turno
     l’operaio Bianchi fa il terzo turno
     l’operaio Rossi lavora alla macchina 5
     l impiegato Verdi lavora nell ufficio 19
     l’impiegato Verdi lavora nell’ufficio 19



25                                     Basi di Dati ‐ La progettazione della base di dati
Cosa deve essere modellato?
Cosa deve essere modellato?
     la CONOSCENZA ASTRATTA:
        CONOSCENZA ASTRATTA: 
     i fatti generali che classificano e descrivono la 
     conoscenza concreta e limitano il modo con cui 
     conoscenza concreta e limitano il modo con cui
     questa può evolvere
     dall’es. precedente :
     dall’es precedente :
     gli operai hanno un nome ed un indirizzo
     svolgono turni, lavorano alle macchine
          l     t il            ll       hi
     gli impiegati lavorano negli uffici
     l’astrazione è un meccanismo innato
     l’      i    è           i     i



26                                   Basi di Dati ‐ La progettazione della base di dati
Cosa deve essere modellato?
Cosa deve essere modellato?
In altre parole:
In altre parole:
  la CONOSCENZA ASTRATTA inquadra  ciò che esiste e 
  che si fa in azienda  e
  che si fa in azienda e
  la CONOSCENZA CONCRETA è ciò che si vuol 
  conoscere su quello che effettivamente si fa, si è 
  conoscere su quello che effettivamente si fa si è
  fatto, si farà in azienda
  la CONOSCENZA PROCEDURALE: i modi con cui si
     CONOSCENZA PROCEDURALE: i modi con cui si 
  opera sulla conoscenza per modificarla o per ricavare 
  altri fatti con procedimenti di calcolo (vedremo più 
  altri fatti con procedimenti di calcolo (vedremo più
  avanti)

 27                              Basi di Dati ‐ La progettazione della base di dati
Il modello utilizzato
Il modello utilizzato
Sono stati proposti diversi modelli, basati su: 
           pp                      ,

 linguaggi formali eseguibili e non eseguibili
 linguaggi formali eseguibili e non eseguibili
 rappresentazioni grafiche corredate da descrizioni, il 
 modello ENTITÀ‐RELAZIONE (E‐R) appartiene a questa 
                               ( ) pp             q
 categoria
  il modello E‐R (Entity‐Relationship, P.P.Chen 1976) si è 
 ormai affermato nelle metodologie di progetto e nei 
 sistemi SW di ausilio alla progettazione




28                                   Basi di Dati ‐ La progettazione della base di dati
Conoscenza concreta
Conoscenza concreta
Costrutti fondamentali

Istanza di ENTITÀ:
   cosa (oggetto, persona) che esiste di per sé nell’azienda, 
   della quale si vogliono registrare fatti specifici e che può 
         q          g        g               p              p
   essere chiaramente identificata in modo da poterla 
   distinguere dalle altre




 29                                 Basi di Dati ‐ La progettazione della base di dati
Conoscenza concreta
Conoscenza concreta
Esempi di istanze di entità

  il docente Martoglia
                    g
  il corso Basi di Dati
  l auto AG125AX
  l’auto AG125AX
  lo studente PNZWLM69L63C638B
  il volo AZ3313
  il volo AZ3313
  il percorso MO‐BO
  la pratica VF836G
  l       i     836G


 30                           Basi di Dati ‐ La progettazione della base di dati
Conoscenza concreta
Conoscenza concreta
Costrutti fondamentali

Istanza di RELAZIONE:
   fatto che descrive un’azione o una situazione e che 
   stabilisce legami tra istanze di entità (associa, mette in 
                g                          (       ,
   relazione)

  useremo il termine ASSOCIAZIONE   (per relazione) 
  evitando confusione con la terminologia relazionale
                                      g



 31                                 Basi di Dati ‐ La progettazione della base di dati
Conoscenza concreta
Conoscenza concreta
Esempi di istanze di associazioni

  Martoglia insegna Basi di Dati
          g       g
  Ceri appartiene al Politecnico di MI
  La ditta Rossi ordina PC
  La ditta Rossi ordina PC
  Bianchi lavora al magazzino 4
  Il tornio K22 è installato nell officina 37
  Il tornio K22 è installato nell’officina 37
  il TIR 542 viaggia sulla tratta NA‐MI




 32                                 Basi di Dati ‐ La progettazione della base di dati
Nella prossima lezione
Nella prossima lezione
 Descriveremo il modello concettuale Entità‐Relazione
 Discuteremo su come costruire gli schemi




33                             Basi di Dati ‐ La progettazione della base di dati

Contenu connexe

Similaire à Basi di Dati - B1 - La progettazione delle basi di dati

Angelo_Bai_Curriculum
Angelo_Bai_CurriculumAngelo_Bai_Curriculum
Angelo_Bai_CurriculumAngelo Bai
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning dataMarco Pozzan
 
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...Twinergy
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationNeo4j
 
RAMCUBE AG - software and services
RAMCUBE AG - software and servicesRAMCUBE AG - software and services
RAMCUBE AG - software and servicesluigich
 
Power bi Clean and Modelling (SQL Saturday #675)
Power bi Clean and Modelling  (SQL Saturday #675)Power bi Clean and Modelling  (SQL Saturday #675)
Power bi Clean and Modelling (SQL Saturday #675)Marco Pozzan
 
Dirigo 2.0: Dashboard per la Business Intelligence
Dirigo 2.0: Dashboard per la Business IntelligenceDirigo 2.0: Dashboard per la Business Intelligence
Dirigo 2.0: Dashboard per la Business IntelligenceQuadrivium srl
 
Smau Milano 2019 AIPSI
Smau Milano 2019 AIPSISmau Milano 2019 AIPSI
Smau Milano 2019 AIPSISMAU
 
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanWebinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanMiriade Spa
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniRoberto Polillo
 
Hexe al SAS Forum Italia 2014
Hexe al SAS Forum Italia 2014Hexe al SAS Forum Italia 2014
Hexe al SAS Forum Italia 2014Fabio Sartini
 
Product Information Tour 2019
Product Information Tour 2019Product Information Tour 2019
Product Information Tour 2019massimominguzzi
 
Basi di Dati - C1 - Il modello relazionale dei dati
Basi di Dati - C1 - Il modello relazionale dei datiBasi di Dati - C1 - Il modello relazionale dei dati
Basi di Dati - C1 - Il modello relazionale dei datiMajong DevJfu
 

Similaire à Basi di Dati - B1 - La progettazione delle basi di dati (20)

Angelo_Bai_Curriculum
Angelo_Bai_CurriculumAngelo_Bai_Curriculum
Angelo_Bai_Curriculum
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning data
 
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...
Twinergy Credit & Debit Analysis con SAP. L'esperienza di Aeroporto G. Marcon...
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
 
RAMCUBE AG - software and services
RAMCUBE AG - software and servicesRAMCUBE AG - software and services
RAMCUBE AG - software and services
 
Power bi Clean and Modelling (SQL Saturday #675)
Power bi Clean and Modelling  (SQL Saturday #675)Power bi Clean and Modelling  (SQL Saturday #675)
Power bi Clean and Modelling (SQL Saturday #675)
 
SAP Idea to Performance
SAP Idea to PerformanceSAP Idea to Performance
SAP Idea to Performance
 
Dirigo 2.0: Dashboard per la Business Intelligence
Dirigo 2.0: Dashboard per la Business IntelligenceDirigo 2.0: Dashboard per la Business Intelligence
Dirigo 2.0: Dashboard per la Business Intelligence
 
Dirigo 2.0
Dirigo 2.0Dirigo 2.0
Dirigo 2.0
 
Smau Milano 2019 AIPSI
Smau Milano 2019 AIPSISmau Milano 2019 AIPSI
Smau Milano 2019 AIPSI
 
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanWebinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioni
 
Hexe al SAS Forum Italia 2014
Hexe al SAS Forum Italia 2014Hexe al SAS Forum Italia 2014
Hexe al SAS Forum Italia 2014
 
Product Information Tour 2019
Product Information Tour 2019Product Information Tour 2019
Product Information Tour 2019
 
2470620 data-warehouse
2470620 data-warehouse2470620 data-warehouse
2470620 data-warehouse
 
Basi di Dati - C1 - Il modello relazionale dei dati
Basi di Dati - C1 - Il modello relazionale dei datiBasi di Dati - C1 - Il modello relazionale dei dati
Basi di Dati - C1 - Il modello relazionale dei dati
 
QualiWare Day[s] 2013
QualiWare Day[s] 2013QualiWare Day[s] 2013
QualiWare Day[s] 2013
 

Plus de Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

Plus de Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

Basi di Dati - B1 - La progettazione delle basi di dati

  • 1. Basi di Dati Basi di Dati La progettazione della base di dati
  • 2. Basi di Dati  Dove ci troviamo? Basi di Dati – Dove ci troviamo? A) Introduzione 1 2 C) Modello Relazionale,  ) , B) Prog Concettuale (ER) B) Prog. Concettuale (ER) Algebra relazionale, SQL 1 2 3 4 5 6 7 1 2 3 4 5 6 7 D) Prog. Logica e  E) Tecnologia di un DBMS Normalizzazione 1 2 3 4 5 6 1 2 3 4 F) Programmazione DB 1 2 2 Basi di Dati – Progettazione della base di dati
  • 3. Il progetto della base di dati Il progetto della base di dati Si inserisce nel: Ciclo di vita del sistema informativo comprendente in generale le seguenti attività: Raccolta ed analisi dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento 3 Basi di Dati ‐ La progettazione della base di dati
  • 4. L analisi dei requisiti L’analisi dei requisiti Richiede uno studio preliminare in azienda su: unità organizzative omogenee (settori o aree  unità organizzative omogenee (settori o aree funzionali) che utilizzeranno il sistema individuazione delle attività che devono  individuazione delle attività che devono essere supportate del sistema 4 Basi di Dati ‐ La progettazione della base di dati
  • 5. L analisi dei requisiti L’analisi dei requisiti Richiede uno studio preliminare in azienda su: Richiede uno studio preliminare in azienda su: (cont.) piano di sviluppo del sistema con priorità e  piano di sviluppo del sistema con priorità e tempi di realizzazione studio di fattibilità che stimi i costi in termini  di di f ibili à h i i i ii ii di budget,  di impegno del personale e le  inefficienze temporanee dovute al cambio di  i ffi i t d tl bi di sistema e di modalità di lavoro 5 Basi di Dati ‐ La progettazione della base di dati
  • 6. L analisi dei requisiti L’analisi dei requisiti comprende le attività di : individuazione delle proprietà e delle  funzionalità del sistema p odu o e d u a desc o e o a e, produzione di una descrizione informale,  quanto possibile completa dei dati coinvolti e  delle operazioni su di essi. p 6 Basi di Dati ‐ La progettazione della base di dati
  • 7. L analisi dei requisiti L’analisi dei requisiti comprende le attività di (cont.) : individuazione in linea di massima dei  individuazione in linea di massima dei requisiti software ed hardware del sistema richiede interazione con gli utenti a tutti i  i hi d i i li i ii livelli, in particolare con la direzione aziendale 7 Basi di Dati ‐ La progettazione della base di dati
  • 8. I requisiti di informazione e funzionamento I requisiti di informazione e funzionamento Riguardano: i d individuazione delle categorie di dati utili dislocazione dei dati  importanza dei dati  quantità dei dati e tasso di crescita 8 Basi di Dati ‐ La progettazione della base di dati
  • 9. I requisiti di informazione e funzionamento I requisiti di informazione e funzionamento Riguardano (cont.): i d ( ) tipo di uso dei dati (batch, interattivo..), frequenza di  uso procedure di elaborazione dei dati, temporizzazione  delle procedure d ll d viste di utente, autorizzazione, privatezza e segretezza 9 Basi di Dati ‐ La progettazione della base di dati
  • 10. Per ogni settore aziendale Per ogni settore aziendale Si procede con i seguenti passi: i d i i i si analizza il sistema informativo esistente, si  intervistano i responsabili del settore  si produce una prima versione dei requisiti in  linguaggio naturale, raggruppando frasi relative a  categorie diverse di dati e di operazioni 10 Basi di Dati ‐ La progettazione della base di dati
  • 11. Per ogni settore aziendale Per ogni settore aziendale Si prosegue con i seguenti passi: Si prosegue con i seguenti passi: si analizzano le frasi per eliminare ambiguità  provocate da: provocate da: pluralismo di percezione  incompletezze di descrizione ambiguità del tipo: omonimie sinonimie conflitti di descrizione similitudini i ilit di i 11 Basi di Dati ‐ La progettazione della base di dati
  • 12. Per ogni settore aziendale Per ogni settore aziendale Si prosegue con i seguenti passi: p g g p si ricontrollano insieme ai responsabili di settore  le frasi relative alle varie categorie di dati e alle  g operazioni che li coinvolgono (cercando di eliminare  le possibili ambiguità del linguaggio naturale) si costruisce a partire dalle frasi un glossario di  termini (che, ad es., contenga per ogni termine: la  descrizione, l’elenco dei sinonimi e l’elenco dei termini a  cui si collega) 12 Basi di Dati ‐ La progettazione della base di dati
  • 13. Per ogni settore aziendale Per ogni settore aziendale Si prosegue con i seguenti passi: si verifica la completezza tutti gli aspetti importanti sono stati considerati g p p si verifica la consistenza delle specifiche: tutti i termini sono stati definiti tutti i termini sono stati definiti tutti i termini compaiono in operazioni le operazioni fanno riferimento a termini  le operazioni fanno riferimento a termini definiti 13 Basi di Dati ‐ La progettazione della base di dati
  • 14. Esempio di frasi sintetiche che  descrivono il lavoro di un magazzino: g il magazzino è composto da scaffali il magazzino è composto da scaffali i fornitori forniscono prodotti i clienti ordinano prodotti i clienti ordinano prodotti gli scaffali contengono prodotti gli operai sono addetti agli scaffali un possibile glossario è: un possibile glossario è: 14 Basi di Dati ‐ La progettazione della base di dati
  • 15. TERMINE DESCRIZIONE SINONIMI        LEGAME fornitore p. iva, denom.,  prodotto indirizzo, num. tel. cliente p. iva, denom.,  acquirente      prodotto indirizzo, num. tel. prodotto codice, nome,  articolo           fornitore genere.... voce  scaffale cliente  cliente scaffale supporto numerato       ripiano operaio (incertezza)    (incertezza) prodotto  prodotto operaio dati anagrafici,  cf,     addetto           scaffale matricola, qualifica  matricola qualifica magazziniere 15 Basi di Dati ‐ La progettazione della base di dati
  • 16. Progettazione Per progettazione si intende: la progettazione dei dati che individua l’organizzazione e la struttura della base di dati la progettazione delle applicazioni che schematizza le operazioni sui dati e progetta il software  applicativo (attività tipica degli informatici) 16 Basi di Dati ‐ La progettazione della base di dati
  • 17. Implementazione In base al progetto (attività tipica degli informatici): vengono definite le componenti hardware e software di  base e di sviluppo da acquisire sul mercato pp q viene costruita e popolata la base di dati  vengono sviluppati i programmi applicativi vengono sviluppati i programmi applicativi 17 Basi di Dati ‐ La progettazione della base di dati
  • 18. Validazione e collaudo Validazione e collaudo verifica della correttezza dei dati verifica del corretto funzionamento delle applicazioni pp verifica dei tempi di risposta nelle varie condizioni  operative p verifica della sicurezza dei dati verifica della resistenza ai guasti verifica della resistenza ai guasti 18 Basi di Dati ‐ La progettazione della base di dati
  • 19. Funzionamento controllo dell’uso corretto del sistema  rilevazione guasti e malfunzionamenti  g revisione periodica delle funzionalità  gestione dei contratti di : gestione dei contratti di : manutenzione ed aggiornamento dell’hardware  manutenzione correttiva ed evolutiva del software manutenzione correttiva ed evolutiva del software 19 Basi di Dati ‐ La progettazione della base di dati
  • 20. Progetto della base di dati Progetto della base di dati Ritornando al progetto della base di dati, p possiamo distinguere tre fasi: g la progettazione concettuale la progettazione concettuale la progettazione logica la progettazione fisica 20 Basi di Dati ‐ La progettazione della base di dati
  • 21. La progettazione concettuale La progettazione concettuale Scopo della progettazione concettuale è  Scopo della progettazione concettuale è tradurre il risultato dell’analisi dei requisiti in  una : una : DESCRIZIONE FORMALE che dovrà essere: indipendente dal DBMS la descrizione formale fa riferimento ad un : MODELLO CONCETTUALE 21 Basi di Dati ‐ La progettazione della base di dati
  • 22. La progettazione concettuale (cont.) La progettazione concettuale (cont ) La descrizione con un modello concettuale produce: uno SCHEMA CONCETTUALE, cioè una  uno SCHEMA CONCETTUALE, cioè una rappresentazione semplificata che dovrà comunque  contenere tutti e soli gli aspetti interessanti per la  contenere tutti e soli gli aspetti interessanti per la gestione dell’azienda 22 Basi di Dati ‐ La progettazione della base di dati
  • 23. La progettazione concettuale (cont.) La progettazione concettuale (cont ) In questa fase ci si deve preoccupare di  rappresentare il contenuto informativo della base di  pp dati  eliminando le ambiguità tipiche delle frasi in  eliminando le ambiguità tipiche delle frasi in linguaggio naturale riesaminando il glossario ed eliminando tutti i  riesaminando il glossario ed eliminando tutti i possibili conflitti 23 Basi di Dati ‐ La progettazione della base di dati
  • 24. La progettazione concettuale (cont.) La progettazione concettuale (cont ) lo schema dovrà risultare: di facile comprensione da parte degli esperti  p p g p dell’organizzazione aziendale anche se non esperti di  informatica lo schema è un documento di progetto  fondamentale e dovrà essere validato dalla  direzione aziendale 24 Basi di Dati ‐ La progettazione della base di dati
  • 25. Cosa deve essere modellato? Cosa deve essere modellato? la CONOSCENZA CONCRETA: i fatti specifici CONOSCENZA CONCRETA:  i fatti specifici che si vogliono rappresentare e che  riguardano la porzione del mondo aziendale  riguardano la porzione del mondo aziendale che si vuole modellare es.: l operaio Neri si chiama Paolo es : l’operaio Neri si chiama Paolo l’operaio Neri abita in via Po 34 l operaio Bianchi fa il terzo turno l’operaio Bianchi fa il terzo turno l’operaio Rossi lavora alla macchina 5 l impiegato Verdi lavora nell ufficio 19 l’impiegato Verdi lavora nell’ufficio 19 25 Basi di Dati ‐ La progettazione della base di dati
  • 26. Cosa deve essere modellato? Cosa deve essere modellato? la CONOSCENZA ASTRATTA: CONOSCENZA ASTRATTA:  i fatti generali che classificano e descrivono la  conoscenza concreta e limitano il modo con cui  conoscenza concreta e limitano il modo con cui questa può evolvere dall’es. precedente : dall’es precedente : gli operai hanno un nome ed un indirizzo svolgono turni, lavorano alle macchine l t il ll hi gli impiegati lavorano negli uffici l’astrazione è un meccanismo innato l’ i è i i 26 Basi di Dati ‐ La progettazione della base di dati
  • 27. Cosa deve essere modellato? Cosa deve essere modellato? In altre parole: In altre parole: la CONOSCENZA ASTRATTA inquadra  ciò che esiste e  che si fa in azienda  e che si fa in azienda e la CONOSCENZA CONCRETA è ciò che si vuol  conoscere su quello che effettivamente si fa, si è  conoscere su quello che effettivamente si fa si è fatto, si farà in azienda la CONOSCENZA PROCEDURALE: i modi con cui si CONOSCENZA PROCEDURALE: i modi con cui si  opera sulla conoscenza per modificarla o per ricavare  altri fatti con procedimenti di calcolo (vedremo più  altri fatti con procedimenti di calcolo (vedremo più avanti) 27 Basi di Dati ‐ La progettazione della base di dati
  • 28. Il modello utilizzato Il modello utilizzato Sono stati proposti diversi modelli, basati su:  pp , linguaggi formali eseguibili e non eseguibili linguaggi formali eseguibili e non eseguibili rappresentazioni grafiche corredate da descrizioni, il  modello ENTITÀ‐RELAZIONE (E‐R) appartiene a questa  ( ) pp q categoria il modello E‐R (Entity‐Relationship, P.P.Chen 1976) si è  ormai affermato nelle metodologie di progetto e nei  sistemi SW di ausilio alla progettazione 28 Basi di Dati ‐ La progettazione della base di dati
  • 29. Conoscenza concreta Conoscenza concreta Costrutti fondamentali Istanza di ENTITÀ: cosa (oggetto, persona) che esiste di per sé nell’azienda,  della quale si vogliono registrare fatti specifici e che può  q g g p p essere chiaramente identificata in modo da poterla  distinguere dalle altre 29 Basi di Dati ‐ La progettazione della base di dati
  • 30. Conoscenza concreta Conoscenza concreta Esempi di istanze di entità il docente Martoglia g il corso Basi di Dati l auto AG125AX l’auto AG125AX lo studente PNZWLM69L63C638B il volo AZ3313 il volo AZ3313 il percorso MO‐BO la pratica VF836G l i 836G 30 Basi di Dati ‐ La progettazione della base di dati
  • 31. Conoscenza concreta Conoscenza concreta Costrutti fondamentali Istanza di RELAZIONE: fatto che descrive un’azione o una situazione e che  stabilisce legami tra istanze di entità (associa, mette in  g ( , relazione) useremo il termine ASSOCIAZIONE   (per relazione)  evitando confusione con la terminologia relazionale g 31 Basi di Dati ‐ La progettazione della base di dati
  • 32. Conoscenza concreta Conoscenza concreta Esempi di istanze di associazioni Martoglia insegna Basi di Dati g g Ceri appartiene al Politecnico di MI La ditta Rossi ordina PC La ditta Rossi ordina PC Bianchi lavora al magazzino 4 Il tornio K22 è installato nell officina 37 Il tornio K22 è installato nell’officina 37 il TIR 542 viaggia sulla tratta NA‐MI 32 Basi di Dati ‐ La progettazione della base di dati
  • 33. Nella prossima lezione Nella prossima lezione Descriveremo il modello concettuale Entità‐Relazione Discuteremo su come costruire gli schemi 33 Basi di Dati ‐ La progettazione della base di dati