Php e database: creare relazioni fra tabelle

4,788 views
4,523 views

Published on

Continua il corso di introduzione alla getsione di database MySQL con PHP.

Le chiavi esterne e le relazioni fra tabelle.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,788
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Php e database: creare relazioni fra tabelle

  1. 1. Relazioni fra tabelle in un database MYSQL Veniamo adesso alla parte conclusione del percorso.Stefano Floris, Realizzare programmi gestionali in ambienteVersione gennaio 2012a WEB con HTML e PHP Pubblicato su www.troppocurioso.altervista.org
  2. 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 sitohttp://www.creativecommons.it/LicenzeStefano Floris, 2011www.troppocurioso.altervista.org
  3. 3. Relazioni fra tabelle in un database MYSQLPensiamo ad un esempio semplificato, moltosemplificato dello Schema E/R di una gestione di una biblioteca (non del Autore Editore prestito ma solo 1 dellarchivio dei libri) 1 N Testo N N Argomento 1
  4. 4. Relazioni fra tabelle in un database MYSQL Stabiliamo, a scopo didattico, i seguenti vincoli: un libro è scrittoda un solo autore, un libro Autore Editore è editato da una sola casa editrice. 1 1 N Testo N N Argomento 1
  5. 5. Relazioni fra tabelle in un database MYSQL Codice Cognome e Denominazione Stabiliamo, a scopo nome didattico, i seguenti Codice vincoli: un libro è scrittoda 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. 6. Relazioni fra tabelle in un database MYSQL Codice Cognome e Denominazione Stabiliamo, a scopo nome didattico, i seguenti Codice vincoli: un libro è scrittoda 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. 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 ilquadratopieno per gli Codiceattributi Argomentonormali 1 (■) Denominazione
  8. 8. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO AutoriNome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40) Iniziamo la stesura dello schema logico.
  9. 9. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO AutoriNome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_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. 10. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO AutoriNome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_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. 11. Relazioni fra tabelle in un database MYSQLAutori SCHEMA LOGICO COMPLETO 1/2Nome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40)EditoriNome Descrizione Tipo/Dimensione Chiave NoteCod_E Codice editore Numerico intero PKDenom_E Denominazione Alfanumerico (30)Argomenti Nome Descrizione Tipo/Dimensione Chiave Note Cod_Ar Codice argomento Numerico intero PK Descriz_Ar Descrizione Alfanumerico (15)
  12. 12. Relazioni fra tabelle in un database MYSQL SCHEMA LOGICO COMPLETO 2/2TestiNome Descrizione Tipo/Dimensione Chiave NoteCod_T Codice testo Numerico intero PKTitolo_T Titolo Alfanumerico (50)Cod_TA Codice Autore Numerico intero EKCod_TE Codice Editore Numerico intero EKCod_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. 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. 14. Relazioni fra tabelle in un database MYSQL Le chiavi esterne si definiscono passando dalla visualizzazione delle relazioni
  15. 15. Relazioni fra tabelle in un database MYSQL In questa finestra andremo a definire le relazioni esterne delle chiavi.
  16. 16. Relazioni fra tabelle in un database MYSQL In questa finestra andremo a definire le relazioni esterne delle chiavi.
  17. 17. Relazioni fra tabelle in un database MYSQL Per verificare se tutto è andato bene si può usare il Designer.
  18. 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. 19. Relazioni fra tabelle in un database MYSQL Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura...
  20. 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 frachiavi primarie e chiavi esterne siano rispettate.
  21. 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. 22. Fine 22

×