SlideShare a Scribd company logo
1 of 22
Download to read offline
Relazioni fra tabelle in un
              database MYSQL
                 Veniamo adesso alla parte
                 conclusione del percorso.




Stefano Floris,                      Realizzare programmi gestionali in ambiente
Versione gennaio 2012a                           WEB con HTML e PHP
                                     Pubblicato su
                                     www.troppocurioso.altervista.org
Questa opera è sotto licenza
        creativa (di tipo copyleft)
                Attribuzione-Non commerciale-
             Condividi allo stesso modo Generico.




Per vedere una copia del testo della licenza visita il sito
http://www.creativecommons.it/Licenze

Stefano Floris, 2011
www.troppocurioso.altervista.org
Relazioni fra tabelle in un
                database MYSQL
Pensiamo ad un esempio
    semplificato, molto
semplificato dello Schema
  E/R di una gestione di
  una biblioteca (non del     Autore                      Editore
     prestito ma solo                     1
   dell'archivio dei libri)                                     1
                                                      N

                                                  Testo
                                                            N
                                                      N




                              Argomento
                                              1
Relazioni fra tabelle in un
                 database MYSQL
   Stabiliamo, a scopo
   didattico, i seguenti
 vincoli: un libro è scritto
da un solo autore, un libro    Autore                         Editore
  è editato da una sola
      casa editrice.                       1
                                                                    1
                                                          N

                                                   Testo
                                                              N
                                                      N




                               Argomento
                                               1
Relazioni fra tabelle in un
                 database MYSQL
                                        Codice    Cognome e                   Denominazione
   Stabiliamo, a scopo                            nome
   didattico, i seguenti                                           Codice
 vincoli: un libro è scritto
da un solo autore, un libro                  Autore                             Editore
  è editato da una sola
      casa editrice.                                       1
                                                                                      1
                Definiamo quindi gli
                                                                          N
               attributi piu' importanti.
                                                  Codice
                                                 Titolo            Testo
                                                                               N
                                                                      N



                               Codice
                                             Argomento
                                                               1
                       Descrizione
Relazioni fra tabelle in un
                 database MYSQL
                                        Codice    Cognome e                   Denominazione
   Stabiliamo, a scopo                            nome
   didattico, i seguenti                                           Codice
 vincoli: un libro è scritto
da un solo autore, un libro                  Autore                             Editore
  è editato da una sola
      casa editrice.                                       1
                                                                                      1
                Definiamo quindi gli
                                                                          N
              attributi piu' importanti.
  Abbiamo usato la convenzione del                Codice
   pallino pieno (●) per indicare le             Titolo            Testo
           chiavi primarie...                                                  N
                                                                      N



                               Codice
                                             Argomento
                                                               1
                       Descrizione
Relazioni fra tabelle in un
                   database MYSQL
                                          Codice    Cognome e                   Denominazione
     Stabiliamo, a scopo                            nome
     didattico, i seguenti                                           Codice
   vincoli: un libro è scritto
  da un solo autore, un libro                  Autore                             Editore
    è editato da una sola
        casa editrice.                                       1
                                                                                        1
                  Definiamo quindi gli
                                                                            N
                attributi piu' importanti.
    Abbiamo usato la convenzione del                Codice
     pallino pieno (●) per indicare le             Titolo            Testo
             chiavi primarie...                                                  N
                                                                        N
   e il
quadrato
pieno per
   gli                           Codice
attributi                                      Argomento
normali                                                          1
   (■)                   Denominazione
Relazioni fra tabelle in un
                database MYSQL
                            SCHEMA LOGICO

   Autori
Nome        Descrizione      Tipo/Dimensione              Chiave    Note
Cod_A       Codice autore    Numerico intero              PK
CogNom_A    Cognome /Nome    Alfanumerico (40)


                                        Iniziamo la stesura dello
                                             schema logico.
Relazioni fra tabelle in un
                database MYSQL
                            SCHEMA LOGICO

   Autori
Nome        Descrizione       Tipo/Dimensione               Chiave    Note
Cod_A       Codice autore     Numerico intero               PK
CogNom_A    Cognome /Nome     Alfanumerico (40)


                                          Iniziamo la stesura dello
                                               schema logico.

                             I nomi dei campi non
                      corrispondono necessariamente ai
                      nomi assegnati nello schema E/R.
                        Spesso si indica un riferimento
                        alla tabella di appartenenza...
Relazioni fra tabelle in un
                database MYSQL
                              SCHEMA LOGICO

   Autori
Nome        Descrizione         Tipo/Dimensione               Chiave    Note
Cod_A       Codice autore       Numerico intero               PK
CogNom_A    Cognome /Nome       Alfanumerico (40)


                                            Iniziamo la stesura dello
                                                 schema logico.

                              I nomi dei campi non
                       corrispondono necessariamente ai
                       nomi assegnati nello schema E/R.
                         Spesso si indica un riferimento
                         alla tabella di appartenenza...

                ...così risulta evidente che Cod_A è un campo della
              tabella Autori e Cod_E è un campo della tabella Editori
Relazioni fra tabelle in un
                  database MYSQL
Autori
                     SCHEMA LOGICO COMPLETO 1/2
Nome          Descrizione         Tipo/Dimensione      Chiave    Note
Cod_A         Codice autore       Numerico intero      PK
CogNom_A      Cognome /Nome       Alfanumerico (40)
Editori
Nome          Descrizione         Tipo/Dimensione      Chiave    Note
Cod_E         Codice editore      Numerico intero      PK
Denom_E       Denominazione       Alfanumerico (30)

Argomenti
 Nome          Descrizione         Tipo/Dimensione      Chiave    Note
 Cod_Ar        Codice argomento    Numerico intero      PK
 Descriz_Ar    Descrizione         Alfanumerico (15)
Relazioni fra tabelle in un
               database MYSQL
                    SCHEMA LOGICO COMPLETO 2/2

Testi
Nome       Descrizione         Tipo/Dimensione            Chiave   Note
Cod_T      Codice testo        Numerico intero            PK
Titolo_T   Titolo              Alfanumerico (50)
Cod_TA     Codice Autore       Numerico intero            EK
Cod_TE     Codice Editore      Numerico intero            EK
Cod_TAr    Codice Argomento Numerico intero               EK
                      La sigla PK indica che il campo è
                        chiave primaria (Primary key),
                        mentre EK indica una chiave
                                   esterna.
                    Le chiavi esterne non sono
                   espressamente indicate nello
                  schema E/R. Si desumono dalle
                             relazioni.
Relazioni fra tabelle in un
    database MYSQL
 Una volta messo a punto lo SCHEMA LOGICO, si
  può mettere mano al DBMS e creare le tabelle.




                                                       Ecco, per
                                                   esempio come si
                                                      presenta la
                                                  tabella testi dopo
                                                  la sua creazione.
Relazioni fra tabelle in un
    database MYSQL




                         Le chiavi esterne
                           si definiscono
                          passando dalla
                          visualizzazione
                           delle relazioni
Relazioni fra tabelle in un
    database MYSQL




                         In questa finestra
                             andremo a
                              definire le
                          relazioni esterne
                             delle chiavi.
Relazioni fra tabelle in un
    database MYSQL




                         In questa finestra
                             andremo a
                              definire le
                          relazioni esterne
                             delle chiavi.
Relazioni fra tabelle in un
    database MYSQL




                                 Per
                              verificare
                              se tutto è
                               andato
                               bene si
                              può usare
                                   il
                              Designer.
Relazioni fra tabelle in un
    database MYSQL




                           Nel caso non si
                         visualizzassero le
                         relazioni usate lo
                              strumento
                             indicato per
                          tracciare la linea
                             dalla chiave
                             primaria alla
                              secondaria
                           corrispondente.
Relazioni fra tabelle in un
    database MYSQL
   Da adesso in poi sarà possibile
   procedere al popolamento del
    database in maniera sicura...
Relazioni fra tabelle in un
           database MYSQL
                Da adesso in poi sarà possibile
                procedere al popolamento del
                 database in maniera sicura...



   ...vale a dire che il DBMS
 controllerà che le relazioni fra
chiavi primarie e chiavi esterne
         siano rispettate.
Relazioni fra tabelle in un
           database MYSQL
                Da adesso in poi sarà possibile
                procedere al popolamento del
                 database in maniera sicura...



   ...vale a dire che il DBMS
 controllerà che le relazioni fra                   Per capire cosa intendo dire,
chiavi primarie e chiavi esterne                  provate ad inserire un titolo di un
         siano rispettate.                        libro indicando un codice di una
                                                    casa editrice che non esiste.
Fine


       22

More Related Content

More from High Secondary School

Php e data base creare tabelle con mysql
Php e data base  creare tabelle con mysqlPhp e data base  creare tabelle con mysql
Php e data base creare tabelle con mysqlHigh Secondary School
 
PHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzionePHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzioneHigh Secondary School
 
Una bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleUna bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleHigh Secondary School
 
Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007High Secondary School
 
Visual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureVisual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureHigh Secondary School
 
Programmare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneProgrammare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneHigh Secondary School
 

More from High Secondary School (20)

Php e data base creare tabelle con mysql
Php e data base  creare tabelle con mysqlPhp e data base  creare tabelle con mysql
Php e data base creare tabelle con mysql
 
Php e data base accedere a mysql
Php e data base  accedere a mysqlPhp e data base  accedere a mysql
Php e data base accedere a mysql
 
Da html in_poi, verso PHP
Da html in_poi, verso PHPDa html in_poi, verso PHP
Da html in_poi, verso PHP
 
PHP: gestione file sequenziale
PHP: gestione file sequenzialePHP: gestione file sequenziale
PHP: gestione file sequenziale
 
PHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzionePHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzione
 
Visual basic: odbc su MySql
Visual basic: odbc su MySqlVisual basic: odbc su MySql
Visual basic: odbc su MySql
 
Dal cacao al cioccolato
Dal cacao al cioccolatoDal cacao al cioccolato
Dal cacao al cioccolato
 
Una bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleUna bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & Solidale
 
Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007
 
Visual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec GradoVisual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec Grado
 
Visual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureVisual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedure
 
VB Cicli Lavoro Repeat
VB  Cicli  Lavoro  RepeatVB  Cicli  Lavoro  Repeat
VB Cicli Lavoro Repeat
 
Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)
 
Blog Cosa E'?
Blog Cosa E'?Blog Cosa E'?
Blog Cosa E'?
 
Blog Creazione
Blog CreazioneBlog Creazione
Blog Creazione
 
Blog Manutenzione
Blog ManutenzioneBlog Manutenzione
Blog Manutenzione
 
Contenuti WEB creati dagli Utenti
Contenuti WEB creati dagli UtentiContenuti WEB creati dagli Utenti
Contenuti WEB creati dagli Utenti
 
Programmare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneProgrammare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezione
 
Funzione se Incapsulata
Funzione se IncapsulataFunzione se Incapsulata
Funzione se Incapsulata
 
Supermercato
SupermercatoSupermercato
Supermercato
 

Recently uploaded

biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024Damiano Orru
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataGianluigi Cogo
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxOrianaOcchino
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxfedericodellacosta2
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
Terza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfTerza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfPierLuigi Albini
 

Recently uploaded (8)

biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open Data
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptx
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptx
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
Terza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfTerza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdf
 

Php e database: creare relazioni fra tabelle

  • 1. Relazioni fra tabelle in un database MYSQL Veniamo adesso alla parte conclusione del percorso. Stefano Floris, Realizzare programmi gestionali in ambiente Versione gennaio 2012a WEB con HTML e PHP Pubblicato su www.troppocurioso.altervista.org
  • 2. Questa opera è sotto licenza creativa (di tipo copyleft) Attribuzione-Non commerciale- Condividi allo stesso modo Generico. Per vedere una copia del testo della licenza visita il sito http://www.creativecommons.it/Licenze Stefano Floris, 2011 www.troppocurioso.altervista.org
  • 3. Relazioni fra tabelle in un database MYSQL Pensiamo ad un esempio semplificato, molto semplificato dello Schema E/R di una gestione di una biblioteca (non del Autore Editore prestito ma solo 1 dell'archivio dei libri) 1 N Testo N N Argomento 1
  • 4. Relazioni fra tabelle in un database MYSQL Stabiliamo, a scopo didattico, i seguenti vincoli: un libro è scritto da un solo autore, un libro Autore Editore è editato da una sola casa editrice. 1 1 N Testo N N Argomento 1
  • 5. Relazioni fra tabelle in un database MYSQL Codice Cognome e Denominazione Stabiliamo, a scopo nome didattico, i seguenti Codice vincoli: un libro è scritto da un solo autore, un libro Autore Editore è editato da una sola casa editrice. 1 1 Definiamo quindi gli N attributi piu' importanti. Codice Titolo Testo N N Codice Argomento 1 Descrizione
  • 6. Relazioni fra tabelle in un database MYSQL Codice Cognome e Denominazione Stabiliamo, a scopo nome didattico, i seguenti Codice vincoli: un libro è scritto da un solo autore, un libro Autore Editore è editato da una sola casa editrice. 1 1 Definiamo quindi gli N attributi piu' importanti. Abbiamo usato la convenzione del Codice pallino pieno (●) per indicare le Titolo Testo chiavi primarie... N N Codice Argomento 1 Descrizione
  • 7. Relazioni fra tabelle in un database MYSQL Codice Cognome e Denominazione Stabiliamo, a scopo nome didattico, i seguenti Codice vincoli: un libro è scritto da un solo autore, un libro Autore Editore è editato da una sola casa editrice. 1 1 Definiamo quindi gli N attributi piu' importanti. Abbiamo usato la convenzione del Codice pallino pieno (●) per indicare le Titolo Testo chiavi primarie... N N e il quadrato pieno per gli Codice attributi Argomento normali 1 (■) Denominazione
  • 8. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO Autori Nome Descrizione Tipo/Dimensione Chiave Note Cod_A Codice autore Numerico intero PK CogNom_A Cognome /Nome Alfanumerico (40) Iniziamo la stesura dello schema logico.
  • 9. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO Autori Nome Descrizione Tipo/Dimensione Chiave Note Cod_A Codice autore Numerico intero PK CogNom_A Cognome /Nome Alfanumerico (40) Iniziamo la stesura dello schema logico. I nomi dei campi non corrispondono necessariamente ai nomi assegnati nello schema E/R. Spesso si indica un riferimento alla tabella di appartenenza...
  • 10. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO Autori Nome Descrizione Tipo/Dimensione Chiave Note Cod_A Codice autore Numerico intero PK CogNom_A Cognome /Nome Alfanumerico (40) Iniziamo la stesura dello schema logico. I nomi dei campi non corrispondono necessariamente ai nomi assegnati nello schema E/R. Spesso si indica un riferimento alla tabella di appartenenza... ...così risulta evidente che Cod_A è un campo della tabella Autori e Cod_E è un campo della tabella Editori
  • 11. Relazioni fra tabelle in un database MYSQL Autori SCHEMA LOGICO COMPLETO 1/2 Nome Descrizione Tipo/Dimensione Chiave Note Cod_A Codice autore Numerico intero PK CogNom_A Cognome /Nome Alfanumerico (40) Editori Nome Descrizione Tipo/Dimensione Chiave Note Cod_E Codice editore Numerico intero PK Denom_E Denominazione Alfanumerico (30) Argomenti Nome Descrizione Tipo/Dimensione Chiave Note Cod_Ar Codice argomento Numerico intero PK Descriz_Ar Descrizione Alfanumerico (15)
  • 12. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO COMPLETO 2/2 Testi Nome Descrizione Tipo/Dimensione Chiave Note Cod_T Codice testo Numerico intero PK Titolo_T Titolo Alfanumerico (50) Cod_TA Codice Autore Numerico intero EK Cod_TE Codice Editore Numerico intero EK Cod_TAr Codice Argomento Numerico intero EK La sigla PK indica che il campo è chiave primaria (Primary key), mentre EK indica una chiave esterna. Le chiavi esterne non sono espressamente indicate nello schema E/R. Si desumono dalle relazioni.
  • 13. Relazioni fra tabelle in un database MYSQL Una volta messo a punto lo SCHEMA LOGICO, si può mettere mano al DBMS e creare le tabelle. Ecco, per esempio come si presenta la tabella testi dopo la sua creazione.
  • 14. Relazioni fra tabelle in un database MYSQL Le chiavi esterne si definiscono passando dalla visualizzazione delle relazioni
  • 15. Relazioni fra tabelle in un database MYSQL In questa finestra andremo a definire le relazioni esterne delle chiavi.
  • 16. Relazioni fra tabelle in un database MYSQL In questa finestra andremo a definire le relazioni esterne delle chiavi.
  • 17. Relazioni fra tabelle in un database MYSQL Per verificare se tutto è andato bene si può usare il Designer.
  • 18. Relazioni fra tabelle in un database MYSQL Nel caso non si visualizzassero le relazioni usate lo strumento indicato per tracciare la linea dalla chiave primaria alla secondaria corrispondente.
  • 19. Relazioni fra tabelle in un database MYSQL Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura...
  • 20. Relazioni fra tabelle in un database MYSQL Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura... ...vale a dire che il DBMS controllerà che le relazioni fra chiavi primarie e chiavi esterne siano rispettate.
  • 21. Relazioni fra tabelle in un database MYSQL Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura... ...vale a dire che il DBMS controllerà che le relazioni fra Per capire cosa intendo dire, chiavi primarie e chiavi esterne provate ad inserire un titolo di un siano rispettate. libro indicando un codice di una casa editrice che non esiste.
  • 22. Fine 22