SlideShare a Scribd company logo
Basi di Dati
            Basi di Dati

Il modello relazionale dei 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 ‐ Il modello relazionale dei dati
Cronologia dei modelli per la rappresentazione dei dati 
Cronologia dei modelli per la rappresentazione dei dati
     Modello gerarchico (anni 60)
             g          (       )

     Modello reticolare (anni 70)
     Modello reticolare (anni 70)

     Modello relazionale (anni 80)
     Modello relazionale (anni 80)

     Modello a oggetti (anni 90)
       d ll            (       )




 3                                   Basi di Dati ‐ Il modello relazionale dei dati
Esempio di modello reticolare
Esempio di modello reticolare


                      HaInPrestito
      Studenti
      Sd i                                        Materiali
                                                  M    i li


        HaPrenotato                            E’Prenotato


                      Prenotazioni



 4                                   Basi di Dati ‐ Il modello relazionale dei dati
Esempio di modello gerarchico
Esempio di modello gerarchico

                       Atenei




                CdL             Dipartimenti




     Studenti         Corsi                        Docenti

 5                               Basi di Dati ‐ Il modello relazionale dei dati
Cronologia del modello relazionale
Cronologia del modello relazionale
     Inventato da Codd nel 1970  
       (IBM Research di Santa Teresa, Cal)

     Primi progetti: 
     Pi i       tti
       SYSTEM R (IBM), Ingres (Berkeley Un.)

     Prima versione del linguaggio SQL (allora SEQUEL): 1974

     Primi sistemi commerciali: inizio anni ‘80 (Oracle, IBM‐SQL 
     DS e DB2, Ingres, Informix, Sybase)

     Successo commerciale: dal 1985.

 6                                      Basi di Dati ‐ Il modello relazionale dei dati
System R – Curiosità…
System R Curiosità

“ IIrv T fori this project. We djust sortdofall off us to pick a 
       Traiger: Leonard had ordered ll
                           dh       d                        k
   name                                      shrugged off, “It’s 
    not important.” He said, “It’s important in terms of
    recognition to have a name ” We would make attempts
                        a name.” We
    at coming up with a name over weeks. One was Rufus, 
    which was Franco’s dog.

    Franco Putzolu: Rufus would have been a better
    name. It stands for Relational User Friendly Universal 
    System.

                                                                                ”
    Mike Blasgen: It
    Mike Blasgen: It would have been a better name
                                     a better



7                                          Basi di Dati ‐ Il modello relazionale dei dati
Definizione informale 
Definizione informale

tabella
                       colonna                             schema
    studente
    MATR   NOME       CITTA’     C‐DIP
    123    Carlo      Bologna    Inf
    307    Giovanni   Milano     Log
                                                           istanza
    415    Paola      Torino     Inf
                                                             riga
    702    Antonio    Roma       Log


8                                 Basi di Dati ‐ Il modello relazionale dei dati
Definizione formale
Definizione formale
    Dominio D :
     un qualunque insieme di valori

    Prodotto cartesiano su n domini (non 
    necessariamente distinti), D1 x D2 x …Dn:
    necessariamente distinti) D1 x D2 x Dn:
      insieme di tutte le n‐ple (tuple) < d1 , d2 , ... dn > ,  
      con di∈Di , 1 ≤i ≤
           d Di 1 ≤i ≤ n

    Relazione R su D1, D2, ... , Dn : un qualunque 
    sottoinsieme di D1 x D2 x ... Dn
9                                       Basi di Dati ‐ Il modello relazionale dei dati
Esempio 
Esempio
     D1 = (a,b)
          (,)
     D2 = (1,2,3)

     D1 x D2 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> )

     R1 = ( <a,1>, <b,3> )
     R2 = ( <a,2>, <b,1>, <b,3>)
     R3  ( )
     R3 = (  )
     R4 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> )

10                                    Basi di Dati ‐ Il modello relazionale dei dati
Proprietà  
Proprietà
 Grado della relazione:
  numero di domini (n)

 Cardinalità della relazione:
  numero di tuple
  numero di tuple

 Attributo:
     ib
   nome dato ad un dominio in una relazione [I 
   nomi di attributo in una relazione devono 
   essere tutti distinti fra loro]
11                              Basi di Dati ‐ Il modello relazionale dei dati
Proprietà  
Proprietà
 Schema di una relazione:
               tabella (attr1, … , attrN)
                 b ll ( 1              N)
 [I nomi degli attributi in uno schema devono essere tutti 
 distinti fra loro]
          fra loro]
 Istanza della relazione:
    un insieme di tuple su (attr1, … , attrN)
                      p      (      ,,      )
                 R1(A,B) 
                 R1(A,B)      R2(C,D)
                 A    B        C    D 
                 a    1        c    1
                 b    3        b    3
                               a    2
12                                  Basi di Dati ‐ Il modello relazionale dei dati
Confronto della terminologia 
Confronto della terminologia

                                                     Una differenza 
                                                     U diff
 DEFINIZIONE     DEFINIZIONE                         significativa:
 FORMALE         INFORMALE
                                                     DEFINIZIONE
                                                     FORMALE
 relazione 
   li            tabella
                 t b ll                              assenza
                                                     di duplicati
 attributo       colonna
 tupla, n‐pla 
 tupla, n‐ l
     l           riga
                  i
                                                     DEFINIZIONE
 dominio         tipo di dato
                                                     INFORMALE   
 cardinalita'    numero di righe                     possibili duplicati
 grado           numero di colonne

 13                                  Basi di Dati ‐ Il modello relazionale dei dati
Base di dati
Base di dati
      Schema di base di dati:
        un insieme di schemi di relazioni [tutti i nomi di relazioni 
        della base di dati devono essere differenti]


      Istanza della base di dati: 
                                               R1(A,B) 
                                               R1(A,B)
                                                 ( )                      R2(C,D)
                                                                            ()
        un insieme di istanze di relazioni
                                                A         B               C          D 
                                                a         1               c          1
                                                b         3               b          3
                                                                          a          2

 14                                          Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione degli esami universitari 
Esempio: gestione degli esami universitari



            studente
               d
                            CITTA’        C‐DIP
            MATR NOME
                            Bologna       Inf
            123   Carlo
                            Torino        Inf
            415   Paola
                            Roma          Log
            702   Antonio




 15                                   Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione degli esami universitari 
Esempio: gestione degli esami universitari


          corso
          COD‐
          COD‐    TITOLO        DOCENTE
          CORSO
            1     matematica    Barozzi
            2     informatica   Meo




 16                                   Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione degli esami universitari 
Esempio: gestione degli esami universitari



            esame
            MATR    COD‐
                    COD‐    DATA      VOTO
                    CORSO
            123        1    7‐9‐04    30
            123        2    8‐1‐05    28
            702        2    7‐9‐04    20




 17                                  Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione degli esami universitari 
Esempio: gestione degli esami universitari
studente
MATR    NOME       CITTA’        C‐DIP
123     Carlo      Bologna       Inf
415     Paola      Torino        Inf
702     Antonio    Roma          Log
                                       corso
esame
                                         COD‐
                                         COD‐
MATR    COD‐
        COD‐      DATA      VOTO                     TITOLO                 DOCENTE
                                         CORSO
        CORSO
                                          1
123         1     7‐9‐04    30                       matematica             Barozzi
                                          2
123         2     8‐1‐05    28                       informatica            Meo
702         2     7‐9‐04    20

 18                                              Basi di Dati ‐ Il modello relazionale dei dati
Interrogazioni 
Interrogazioni
quali professori hanno esaminato Carlo?
 studente
 MATR    NOME       CITTA’        C‐DIP
 123     Carlo      Bologna       Inf
 415     Paola      Torino        Inf
 702     Antonio    Roma          Log
                                        corso
 esame
                                          COD‐
                                          COD‐
 MATR    COD‐
         COD‐      DATA      VOTO                     TITOLO                 DOCENTE
                                          CORSO
         CORSO
                                           1
 123         1     7‐9‐04    30                       matematica             Barozzi
                                           2
 123         2     8‐1‐05    28                       informatica            Meo
 702         2     7‐9‐04    20
 19                                             Basi di Dati ‐ Il modello relazionale dei dati
Interrogazioni 
Interrogazioni
quali studenti hanno preso 30 in matematica?

                                           studente
MATR    NOME       CITTA’        C‐DIP
123     Carlo
        Cl         Bologna
                   Bl            Inf
                                 If
415     Paola      Torino        Inf
702     Antonio    Roma          Log
                                       corso
esame
                                         COD‐
                                         COD‐
MATR    COD‐
        COD‐      DATA      VOTO                     TITOLO                 DOCENTE
                                         CORSO
        CORSO
                                          1
123         1     7‐9‐04    30                       matematica             Barozzi
                                          2
123         2     8‐1‐05    28                       informatica            Meo
702         2     7‐9‐04    20
 20                                              Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione personale 
Esempio: gestione personale
impiegato
MATR   NOME       DATA‐
                  DATA‐ASS   SALARIO        MATR‐
                                            MATR‐MGR
1      Piero      1‐1‐02     1500 €
                             1500 €         2
2      Giorgio    1‐1‐04     2000 €
                             2000 €         null
3      Giovanni   1‐7‐03     1000 €
                             1000 €         2 

assegnamento                    progetto
       NUM‐
       NUM‐PROG
MATR                 PERC        NUM‐
                                 NUM‐PROG            TITOLO           TIPO
       3
1                    50          3                   Idea             Esprit
       4
1                    50          4                   Wide             Esprit
       3
2                    100
       4
3                    100
21                                     Basi di Dati ‐ Il modello relazionale dei dati
Interrogazioni 
 Interrogazioni
 chi e' il manager di Piero?
impiegato
MATR     NOME       DATA‐
                    DATA‐ASS   SALARIO       MATR‐
                                             MATR‐MGR
1        Piero
         Pi         1‐1‐02     1500 €
                               1500 
                               1500 €        2
2        Giorgio    1‐1‐04     2000 €
                               2000 €        null
3        Giovanni   1‐7‐03     1000 €
                               1000 €        2 

assegnamento                      progetto
         NUM‐
         NUM‐PROG
MATR                   PERC        NUM‐
                                   NUM‐PROG          TITOLO           TIPO
         3
1                      50          3                 Idea             Esprit
         4
1                      50          4                 Wide             Esprit
         3
2                      100
         4
3                      100
    22                                   Basi di Dati ‐ Il modello relazionale dei dati
Interrogazioni 
Interrogazioni
in quali tipi di progetti lavora Giovanni?
impiegato
MATR     NOME       DATA‐
                    DATA‐ASS      SALARIO         MATR‐
                                                  MATR‐MGR
1        Piero
         Pi         1‐1‐02        1500 €
                                  1500 
                                  1500 €          2
2        Giorgio    1‐1‐04        2000 €
                                  2000 €          null
3        Giovanni   1‐7‐03        1000 €
                                  1000 €          2 

assegnamento                          progetto
        NUM‐
        NUM‐PROG
MATR                   PERC            NUM‐
                                       NUM‐PROG           TITOLO           TIPO
        3
1                      50              3                  Idea             Esprit
        4
1                      50              4                  Wide             Esprit
        3
2                      100
        4
3                      100
 23                                          Basi di Dati ‐ Il modello relazionale dei dati
Esempio: gestione ordini 
Esempio: gestione ordini
                COD‐
                COD‐CLI   INDIRIZZO     P‐IVA
      cliente



      ordine    COD‐
                COD‐ORD     COD‐CLI      DATA  IMPORTO
                            COD‐CLI      DATA 


 dettaglio
                COD‐ORD  
                COD‐ORD     COD‐
                            COD‐PROD         QTA


 prodotto
                COD‐
                COD‐PROD     NOME    PREZZO

 24                                   Basi di Dati ‐ Il modello relazionale dei dati
Interrogazioni
 q
 quali ordini ha emesso Paolo?

 quanti ordini ha emesso Paolo?
 quanti ordini ha emesso Paolo?

 quante candele sono state ordinate il 5/7/00?
 quante candele sono state ordinate il 5/7/00?

 calcolare per ciascun cliente la  somma degli importi di 
   ll                   l      l         dl            d
 tutti gli ordini

 estrarre l'ordine di importo più alto

25                                   Basi di Dati ‐ Il modello relazionale dei dati
Riflessioni 
Riflessioni
  Differenza fra schema e istanza

  Due attività assai differenti:
      progetto dello schema
      gestione dell'istanza


  Passaggio dai dati all'informazione
       gg
      query language




 26                                     Basi di Dati ‐ Il modello relazionale dei dati
Come arricchire lo schema?
Come arricchire lo schema?
 VINCOLI DI INTEGRITA':
   escludono alcune istanze in quanto non rappresentano 
   correttamente il mondo applicativo


     CHIAVI
     VINCOLI SUI VALORI NULLI (poi)
     VINCOLI SUI VALORI NULLI ( i)
     INTEGRITA' REFERENZIALE (poi)
     VINCOLI GENERICI (poi) 
     VINCOLI GENERICI ( i)




27                                    Basi di Dati ‐ Il modello relazionale dei dati
Nozione di CHIAVE
Nozione di CHIAVE
 Sottoinsieme degli attributi dello schema che ha la 
 proprietà di unicità e minimalità

 unicità:
   non esistono due tuple con chiave uguale


 minimalità:
   sottraendo un qualunque attributo alla chiave si perde la 
   proprietà di unicità




28                                      Basi di Dati ‐ Il modello relazionale dei dati
Chiavi nell esempio: gestione degli esami universitari
Chiavi nell'esempio: gestione degli esami universitari

       studente
         MATR     NOME     CITTA’ 
                           CITTA’    C‐DIP


       esame
         MATR     COD‐CORSO      DATA       VOTO
                  COD‐           DATA       VOTO


       corso
          COD‐
          COD‐CORSO     TITOLO        DOCENTE


29                                   Basi di Dati ‐ Il modello relazionale dei dati
Chiavi nell esempio: gestione personale
Chiavi nell'esempio: gestione personale
impiegato
 MATR       NOME      DATA‐ASS 
                      DATA‐          SALARIO     MATR‐MIL
                                                 MATR‐


assegnamento
    g
 MATR        NUM‐PROG
             NUM‐            PERC


progetto
  NUM‐
  NUM‐PROG         NOME     PREZZO


 30                                      Basi di Dati ‐ Il modello relazionale dei dati
Chiavi nell esempio: gestione ordini
Chiavi nell'esempio: gestione ordini
       cliente
         COD‐
         COD‐CLI    INDIRIZZO     P‐IVA

       ordine
         di
         COD‐
         COD‐ORD    COD‐CLI
                    COD‐        DATA      IMPORTO
                                DATA      IMPORTO

       dettaglio
         COD‐
         COD ORD       CO ‐PROD
         CO ‐O         COD‐
                       COD O        QTA
                                    QA

       prodotto
         COD‐
         COD‐PROD     NOME    PREZZO


 31                                   Basi di Dati ‐ Il modello relazionale dei dati
Con molteplici chiavi: 
Con molteplici chiavi:
 Una è definita CHIAVE PRIMARIA 
 le rimanenti chiavi sono SECONDARIE



 CLIENTE
 (COD‐CLIENTE,INDIRIZZO,P‐IVA)

     Chiave primaria: COD‐CLIENTE
     Chiave secondaria: P‐IVA
     Chi         di


32                                  Basi di Dati ‐ Il modello relazionale dei dati
Sommario: 
Sommario:
 Definizione formale e informale di relazione (o tabella)

 Descrizione informale di varie basi di dati relazionali e 
 delle interrogazioni esprimibili su di esse

 Definizione e esemplificazione della nozione di chiave




33                                    Basi di Dati ‐ Il modello relazionale dei dati

More Related Content

What's hot

Learning set of rules
Learning set of rulesLearning set of rules
Learning set of rules
swapnac12
 
Database security issues
Database security issuesDatabase security issues
Database security issues
n|u - The Open Security Community
 
Data science unit1
Data science unit1Data science unit1
Data science unit1
varshakumar21
 
Basi di Dati - A1 - Introduzione alle basi di dati
Basi di Dati - A1 - Introduzione alle basi di datiBasi di Dati - A1 - Introduzione alle basi di dati
Basi di Dati - A1 - Introduzione alle basi di datiMajong DevJfu
 
Data Mining: Text and web mining
Data Mining: Text and web miningData Mining: Text and web mining
Data Mining: Text and web mining
DataminingTools Inc
 
Database
DatabaseDatabase
Lec 7 query processing
Lec 7 query processingLec 7 query processing
Lec 7 query processing
Md. Mashiur Rahman
 
Data mining primitives
Data mining primitivesData mining primitives
Data mining primitives
lavanya marichamy
 
Adbms 11 object structure and type constructor
Adbms 11 object structure and type constructorAdbms 11 object structure and type constructor
Adbms 11 object structure and type constructor
Vaibhav Khanna
 
Data base management system
Data base management systemData base management system
Data base management system
Navneet Jingar
 
Database Keys & Relationship
Database Keys & RelationshipDatabase Keys & Relationship
Database Keys & Relationship
Bellal Hossain
 
Data warehousing
Data warehousingData warehousing
Data warehousing
Vigneshwaar Ponnuswamy
 
Unit1 DBMS Introduction
Unit1 DBMS IntroductionUnit1 DBMS Introduction
Unit1 DBMS Introduction
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
Clustering: Large Databases in data mining
Clustering: Large Databases in data miningClustering: Large Databases in data mining
Clustering: Large Databases in data mining
ZHAO Sam
 
3 Data Mining Tasks
3  Data Mining Tasks3  Data Mining Tasks
3 Data Mining Tasks
Mahmoud Alfarra
 
Object Based Databases
Object Based DatabasesObject Based Databases
Object Based Databases
Farzad Nozarian
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
sameerraaj
 
Types of Database Models
Types of Database ModelsTypes of Database Models
Types of Database Models
Murassa Gillani
 
Evaluation in Information Retrieval
Evaluation in Information RetrievalEvaluation in Information Retrieval
Evaluation in Information Retrieval
Dishant Ailawadi
 
Normalization
NormalizationNormalization
Normalization
Dabbal Singh Mahara
 

What's hot (20)

Learning set of rules
Learning set of rulesLearning set of rules
Learning set of rules
 
Database security issues
Database security issuesDatabase security issues
Database security issues
 
Data science unit1
Data science unit1Data science unit1
Data science unit1
 
Basi di Dati - A1 - Introduzione alle basi di dati
Basi di Dati - A1 - Introduzione alle basi di datiBasi di Dati - A1 - Introduzione alle basi di dati
Basi di Dati - A1 - Introduzione alle basi di dati
 
Data Mining: Text and web mining
Data Mining: Text and web miningData Mining: Text and web mining
Data Mining: Text and web mining
 
Database
DatabaseDatabase
Database
 
Lec 7 query processing
Lec 7 query processingLec 7 query processing
Lec 7 query processing
 
Data mining primitives
Data mining primitivesData mining primitives
Data mining primitives
 
Adbms 11 object structure and type constructor
Adbms 11 object structure and type constructorAdbms 11 object structure and type constructor
Adbms 11 object structure and type constructor
 
Data base management system
Data base management systemData base management system
Data base management system
 
Database Keys & Relationship
Database Keys & RelationshipDatabase Keys & Relationship
Database Keys & Relationship
 
Data warehousing
Data warehousingData warehousing
Data warehousing
 
Unit1 DBMS Introduction
Unit1 DBMS IntroductionUnit1 DBMS Introduction
Unit1 DBMS Introduction
 
Clustering: Large Databases in data mining
Clustering: Large Databases in data miningClustering: Large Databases in data mining
Clustering: Large Databases in data mining
 
3 Data Mining Tasks
3  Data Mining Tasks3  Data Mining Tasks
3 Data Mining Tasks
 
Object Based Databases
Object Based DatabasesObject Based Databases
Object Based Databases
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
 
Types of Database Models
Types of Database ModelsTypes of Database Models
Types of Database Models
 
Evaluation in Information Retrieval
Evaluation in Information RetrievalEvaluation in Information Retrieval
Evaluation in Information Retrieval
 
Normalization
NormalizationNormalization
Normalization
 

Similar to Basi di Dati - C1 - Il modello relazionale dei dati

Basi di Dati - B1 - La progettazione delle basi di dati
Basi di Dati - B1 - La progettazione delle basi di datiBasi di Dati - B1 - La progettazione delle basi di dati
Basi di Dati - B1 - La progettazione delle basi di datiMajong DevJfu
 
2 Siadb
2 Siadb2 Siadb
2 Siadb
Majong DevJfu
 
Appunti database
Appunti databaseAppunti database
Appunti database
primacmarconi
 
Basi di Dati - A2 - Tecnologia dei sistemi informativi
Basi di Dati - A2 - Tecnologia dei sistemi informativiBasi di Dati - A2 - Tecnologia dei sistemi informativi
Basi di Dati - A2 - Tecnologia dei sistemi informativiMajong DevJfu
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
Giuseppe Cramarossa
 
Corso Di Basi Di Dati 04 Progettazione Logica
Corso Di  Basi Di  Dati 04  Progettazione LogicaCorso Di  Basi Di  Dati 04  Progettazione Logica
Corso Di Basi Di Dati 04 Progettazione Logicaguestbe916c
 
Graph databases
Graph databasesGraph databases
Graph databases
sscalabrino
 
LEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptxLEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptx
WalterQuattrociocchi1
 

Similar to Basi di Dati - C1 - Il modello relazionale dei dati (14)

C2 Ling Interrog
C2 Ling InterrogC2 Ling Interrog
C2 Ling Interrog
 
C3 Ddl1
C3 Ddl1C3 Ddl1
C3 Ddl1
 
Basi di Dati - B1 - La progettazione delle basi di dati
Basi di Dati - B1 - La progettazione delle basi di datiBasi di Dati - B1 - La progettazione delle basi di dati
Basi di Dati - B1 - La progettazione delle basi di dati
 
D3 Normali
D3 NormaliD3 Normali
D3 Normali
 
D2 Plogico2
D2 Plogico2D2 Plogico2
D2 Plogico2
 
2 Siadb
2 Siadb2 Siadb
2 Siadb
 
Appunti database
Appunti databaseAppunti database
Appunti database
 
Basi di Dati - A2 - Tecnologia dei sistemi informativi
Basi di Dati - A2 - Tecnologia dei sistemi informativiBasi di Dati - A2 - Tecnologia dei sistemi informativi
Basi di Dati - A2 - Tecnologia dei sistemi informativi
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 
Corso Di Basi Di Dati 04 Progettazione Logica
Corso Di  Basi Di  Dati 04  Progettazione LogicaCorso Di  Basi Di  Dati 04  Progettazione Logica
Corso Di Basi Di Dati 04 Progettazione Logica
 
E3 Indici
E3 IndiciE3 Indici
E3 Indici
 
Graph databases
Graph databasesGraph databases
Graph databases
 
LEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptxLEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptx
 
D1 Plogico
D1 PlogicoD1 Plogico
D1 Plogico
 

More from Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
Majong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
Majong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
Majong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
Majong 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 Architecture
Majong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
Majong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
Majong 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 product
Majong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
Majong DevJfu
 
Uml3
Uml3Uml3
Uml2
Uml2Uml2
6
66
5
55
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
Majong DevJfu
 
3
33
2
22
1
11
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
Majong DevJfu
 
26 standards
26 standards26 standards
26 standards
Majong DevJfu
 

More from 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 - C1 - Il modello relazionale dei dati

  • 1. Basi di Dati Basi di Dati Il modello relazionale dei 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 ‐ Il modello relazionale dei dati
  • 3. Cronologia dei modelli per la rappresentazione dei dati  Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) g ( ) Modello reticolare (anni 70) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello relazionale (anni 80) Modello a oggetti (anni 90) d ll ( ) 3 Basi di Dati ‐ Il modello relazionale dei dati
  • 4. Esempio di modello reticolare Esempio di modello reticolare HaInPrestito Studenti Sd i Materiali M i li HaPrenotato E’Prenotato Prenotazioni 4 Basi di Dati ‐ Il modello relazionale dei dati
  • 5. Esempio di modello gerarchico Esempio di modello gerarchico Atenei CdL Dipartimenti Studenti Corsi Docenti 5 Basi di Dati ‐ Il modello relazionale dei dati
  • 6. Cronologia del modello relazionale Cronologia del modello relazionale Inventato da Codd nel 1970   (IBM Research di Santa Teresa, Cal) Primi progetti:  Pi i tti SYSTEM R (IBM), Ingres (Berkeley Un.) Prima versione del linguaggio SQL (allora SEQUEL): 1974 Primi sistemi commerciali: inizio anni ‘80 (Oracle, IBM‐SQL  DS e DB2, Ingres, Informix, Sybase) Successo commerciale: dal 1985. 6 Basi di Dati ‐ Il modello relazionale dei dati
  • 7. System R – Curiosità… System R Curiosità “ IIrv T fori this project. We djust sortdofall off us to pick a  Traiger: Leonard had ordered ll dh d k name shrugged off, “It’s  not important.” He said, “It’s important in terms of recognition to have a name ” We would make attempts a name.” We at coming up with a name over weeks. One was Rufus,  which was Franco’s dog. Franco Putzolu: Rufus would have been a better name. It stands for Relational User Friendly Universal  System. ” Mike Blasgen: It Mike Blasgen: It would have been a better name a better 7 Basi di Dati ‐ Il modello relazionale dei dati
  • 8. Definizione informale  Definizione informale tabella colonna schema studente MATR NOME CITTA’ C‐DIP 123 Carlo Bologna Inf 307 Giovanni Milano Log istanza 415 Paola Torino Inf riga 702 Antonio Roma Log 8 Basi di Dati ‐ Il modello relazionale dei dati
  • 9. Definizione formale Definizione formale Dominio D : un qualunque insieme di valori Prodotto cartesiano su n domini (non  necessariamente distinti), D1 x D2 x …Dn: necessariamente distinti) D1 x D2 x Dn: insieme di tutte le n‐ple (tuple) < d1 , d2 , ... dn > ,   con di∈Di , 1 ≤i ≤ d Di 1 ≤i ≤ n Relazione R su D1, D2, ... , Dn : un qualunque  sottoinsieme di D1 x D2 x ... Dn 9 Basi di Dati ‐ Il modello relazionale dei dati
  • 10. Esempio  Esempio D1 = (a,b) (,) D2 = (1,2,3) D1 x D2 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> ) R1 = ( <a,1>, <b,3> ) R2 = ( <a,2>, <b,1>, <b,3>) R3  ( ) R3 = (  ) R4 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> ) 10 Basi di Dati ‐ Il modello relazionale dei dati
  • 11. Proprietà   Proprietà Grado della relazione: numero di domini (n) Cardinalità della relazione: numero di tuple numero di tuple Attributo: ib nome dato ad un dominio in una relazione [I  nomi di attributo in una relazione devono  essere tutti distinti fra loro] 11 Basi di Dati ‐ Il modello relazionale dei dati
  • 12. Proprietà   Proprietà Schema di una relazione: tabella (attr1, … , attrN) b ll ( 1 N) [I nomi degli attributi in uno schema devono essere tutti  distinti fra loro] fra loro] Istanza della relazione: un insieme di tuple su (attr1, … , attrN) p ( ,, ) R1(A,B)  R1(A,B)  R2(C,D) A  B  C  D  a 1 c 1 b 3 b 3 a 2 12 Basi di Dati ‐ Il modello relazionale dei dati
  • 13. Confronto della terminologia  Confronto della terminologia Una differenza  U diff DEFINIZIONE  DEFINIZIONE  significativa: FORMALE INFORMALE DEFINIZIONE FORMALE relazione  li tabella t b ll assenza di duplicati attributo  colonna tupla, n‐pla  tupla, n‐ l l riga i DEFINIZIONE dominio  tipo di dato INFORMALE    cardinalita' numero di righe possibili duplicati grado  numero di colonne 13 Basi di Dati ‐ Il modello relazionale dei dati
  • 14. Base di dati Base di dati Schema di base di dati: un insieme di schemi di relazioni [tutti i nomi di relazioni  della base di dati devono essere differenti] Istanza della base di dati:  R1(A,B)  R1(A,B) ( )  R2(C,D) () un insieme di istanze di relazioni A  B  C  D  a 1 c 1 b 3 b 3 a 2 14 Basi di Dati ‐ Il modello relazionale dei dati
  • 15. Esempio: gestione degli esami universitari  Esempio: gestione degli esami universitari studente d CITTA’ C‐DIP MATR NOME Bologna Inf 123 Carlo Torino Inf 415 Paola Roma Log 702 Antonio 15 Basi di Dati ‐ Il modello relazionale dei dati
  • 16. Esempio: gestione degli esami universitari  Esempio: gestione degli esami universitari corso COD‐ COD‐ TITOLO DOCENTE CORSO 1 matematica Barozzi 2 informatica Meo 16 Basi di Dati ‐ Il modello relazionale dei dati
  • 17. Esempio: gestione degli esami universitari  Esempio: gestione degli esami universitari esame MATR COD‐ COD‐ DATA VOTO CORSO 123 1 7‐9‐04 30 123 2 8‐1‐05 28 702 2 7‐9‐04 20 17 Basi di Dati ‐ Il modello relazionale dei dati
  • 18. Esempio: gestione degli esami universitari  Esempio: gestione degli esami universitari studente MATR NOME CITTA’ C‐DIP 123 Carlo Bologna Inf 415 Paola Torino Inf 702 Antonio Roma Log corso esame COD‐ COD‐ MATR COD‐ COD‐ DATA VOTO TITOLO DOCENTE CORSO CORSO 1 123 1 7‐9‐04 30 matematica Barozzi 2 123 2 8‐1‐05 28 informatica Meo 702 2 7‐9‐04 20 18 Basi di Dati ‐ Il modello relazionale dei dati
  • 19. Interrogazioni  Interrogazioni quali professori hanno esaminato Carlo? studente MATR NOME CITTA’ C‐DIP 123 Carlo Bologna Inf 415 Paola Torino Inf 702 Antonio Roma Log corso esame COD‐ COD‐ MATR COD‐ COD‐ DATA VOTO TITOLO DOCENTE CORSO CORSO 1 123 1 7‐9‐04 30 matematica Barozzi 2 123 2 8‐1‐05 28 informatica Meo 702 2 7‐9‐04 20 19 Basi di Dati ‐ Il modello relazionale dei dati
  • 20. Interrogazioni  Interrogazioni quali studenti hanno preso 30 in matematica? studente MATR NOME CITTA’ C‐DIP 123 Carlo Cl Bologna Bl Inf If 415 Paola Torino Inf 702 Antonio Roma Log corso esame COD‐ COD‐ MATR COD‐ COD‐ DATA VOTO TITOLO DOCENTE CORSO CORSO 1 123 1 7‐9‐04 30 matematica Barozzi 2 123 2 8‐1‐05 28 informatica Meo 702 2 7‐9‐04 20 20 Basi di Dati ‐ Il modello relazionale dei dati
  • 21. Esempio: gestione personale  Esempio: gestione personale impiegato MATR NOME DATA‐ DATA‐ASS SALARIO MATR‐ MATR‐MGR 1 Piero 1‐1‐02 1500 € 1500 € 2 2 Giorgio 1‐1‐04 2000 € 2000 € null 3 Giovanni 1‐7‐03 1000 € 1000 € 2  assegnamento progetto NUM‐ NUM‐PROG MATR PERC NUM‐ NUM‐PROG TITOLO TIPO 3 1 50 3 Idea Esprit 4 1 50 4 Wide Esprit 3 2 100 4 3 100 21 Basi di Dati ‐ Il modello relazionale dei dati
  • 22. Interrogazioni  Interrogazioni chi e' il manager di Piero? impiegato MATR NOME DATA‐ DATA‐ASS SALARIO MATR‐ MATR‐MGR 1 Piero Pi 1‐1‐02 1500 € 1500  1500 € 2 2 Giorgio 1‐1‐04 2000 € 2000 € null 3 Giovanni 1‐7‐03 1000 € 1000 € 2  assegnamento progetto NUM‐ NUM‐PROG MATR PERC NUM‐ NUM‐PROG TITOLO TIPO 3 1 50 3 Idea Esprit 4 1 50 4 Wide Esprit 3 2 100 4 3 100 22 Basi di Dati ‐ Il modello relazionale dei dati
  • 23. Interrogazioni  Interrogazioni in quali tipi di progetti lavora Giovanni? impiegato MATR NOME DATA‐ DATA‐ASS SALARIO MATR‐ MATR‐MGR 1 Piero Pi 1‐1‐02 1500 € 1500  1500 € 2 2 Giorgio 1‐1‐04 2000 € 2000 € null 3 Giovanni 1‐7‐03 1000 € 1000 € 2  assegnamento progetto NUM‐ NUM‐PROG MATR PERC NUM‐ NUM‐PROG TITOLO TIPO 3 1 50 3 Idea Esprit 4 1 50 4 Wide Esprit 3 2 100 4 3 100 23 Basi di Dati ‐ Il modello relazionale dei dati
  • 24. Esempio: gestione ordini  Esempio: gestione ordini COD‐ COD‐CLI INDIRIZZO P‐IVA cliente ordine COD‐ COD‐ORD COD‐CLI      DATA  IMPORTO COD‐CLI      DATA  dettaglio COD‐ORD   COD‐ORD COD‐ COD‐PROD QTA prodotto COD‐ COD‐PROD NOME    PREZZO 24 Basi di Dati ‐ Il modello relazionale dei dati
  • 25. Interrogazioni q quali ordini ha emesso Paolo? quanti ordini ha emesso Paolo? quanti ordini ha emesso Paolo? quante candele sono state ordinate il 5/7/00? quante candele sono state ordinate il 5/7/00? calcolare per ciascun cliente la  somma degli importi di  ll l l dl d tutti gli ordini estrarre l'ordine di importo più alto 25 Basi di Dati ‐ Il modello relazionale dei dati
  • 26. Riflessioni  Riflessioni Differenza fra schema e istanza Due attività assai differenti: progetto dello schema gestione dell'istanza Passaggio dai dati all'informazione gg query language 26 Basi di Dati ‐ Il modello relazionale dei dati
  • 27. Come arricchire lo schema? Come arricchire lo schema? VINCOLI DI INTEGRITA': escludono alcune istanze in quanto non rappresentano  correttamente il mondo applicativo CHIAVI VINCOLI SUI VALORI NULLI (poi) VINCOLI SUI VALORI NULLI ( i) INTEGRITA' REFERENZIALE (poi) VINCOLI GENERICI (poi)  VINCOLI GENERICI ( i) 27 Basi di Dati ‐ Il modello relazionale dei dati
  • 28. Nozione di CHIAVE Nozione di CHIAVE Sottoinsieme degli attributi dello schema che ha la  proprietà di unicità e minimalità unicità: non esistono due tuple con chiave uguale minimalità: sottraendo un qualunque attributo alla chiave si perde la  proprietà di unicità 28 Basi di Dati ‐ Il modello relazionale dei dati
  • 29. Chiavi nell esempio: gestione degli esami universitari Chiavi nell'esempio: gestione degli esami universitari studente MATR NOME CITTA’  CITTA’  C‐DIP esame MATR COD‐CORSO      DATA       VOTO COD‐ DATA       VOTO corso COD‐ COD‐CORSO     TITOLO   DOCENTE 29 Basi di Dati ‐ Il modello relazionale dei dati
  • 30. Chiavi nell esempio: gestione personale Chiavi nell'esempio: gestione personale impiegato MATR NOME DATA‐ASS  DATA‐ SALARIO     MATR‐MIL MATR‐ assegnamento g MATR     NUM‐PROG NUM‐ PERC progetto NUM‐ NUM‐PROG NOME   PREZZO 30 Basi di Dati ‐ Il modello relazionale dei dati
  • 31. Chiavi nell esempio: gestione ordini Chiavi nell'esempio: gestione ordini cliente COD‐ COD‐CLI INDIRIZZO P‐IVA ordine di COD‐ COD‐ORD COD‐CLI COD‐ DATA      IMPORTO DATA      IMPORTO dettaglio COD‐ COD ORD       CO ‐PROD CO ‐O COD‐ COD O QTA QA prodotto COD‐ COD‐PROD NOME    PREZZO 31 Basi di Dati ‐ Il modello relazionale dei dati
  • 32. Con molteplici chiavi:  Con molteplici chiavi: Una è definita CHIAVE PRIMARIA  le rimanenti chiavi sono SECONDARIE CLIENTE (COD‐CLIENTE,INDIRIZZO,P‐IVA) Chiave primaria: COD‐CLIENTE Chiave secondaria: P‐IVA Chi di 32 Basi di Dati ‐ Il modello relazionale dei dati
  • 33. Sommario:  Sommario: Definizione formale e informale di relazione (o tabella) Descrizione informale di varie basi di dati relazionali e  delle interrogazioni esprimibili su di esse Definizione e esemplificazione della nozione di chiave 33 Basi di Dati ‐ Il modello relazionale dei dati