22
Stefano Floris, Versione gennaio 2012a Realizzare programmi gestionali in ambiente WEB con HTML e PHP Pubblicato su www.troppocurioso.altervista.org Veniamo adesso alla parte conclusione del percorso. Relazioni fra tabelle in un database MYSQL

Php e database: creare relazioni fra tabelle

  • Upload
    floste

  • View
    4.805

  • Download
    1

Embed Size (px)

DESCRIPTION

Continua il corso di introduzione alla getsione di database MySQL con PHP. Le chiavi esterne e le relazioni fra tabelle.

Citation preview

Page 1: Php e database: creare relazioni fra tabelle

Stefano Floris, Versione gennaio 2012a

Realizzare programmi gestionali in ambiente WEB con HTML e PHP

Pubblicato su www.troppocurioso.altervista.org

Veniamo adesso alla parte conclusione del percorso.

Relazioni fra tabelle in un database MYSQL

Page 2: Php e database: creare relazioni fra tabelle

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

Stefano Floris, 2011www.troppocurioso.altervista.org

Questa opera è sotto licenza creativa (di tipo copyleft)

Attribuzione-Non commerciale-Condividi allo stesso modo Generico.

Page 3: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Autore

Pensiamo ad un esempio semplificato, molto

semplificato dello Schema E/R di una gestione di una biblioteca (non del

prestito ma solo dell'archivio dei libri)

Testo

Editore

Argomento

1

N

N

1

1

N

Page 4: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Autore

Stabiliamo, a scopo didattico, i seguenti

vincoli: un libro è scritto da un solo autore, un libro

è editato da una sola casa editrice.

Testo

Editore

Argomento

1

N

N

1

1

N

Page 5: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Autore

Testo

Editore

Argomento

1

N

N

1

1

N

Cognome e nome

Codice

Codice

Denominazione

Codice

Descrizione

CodiceTitolo

Stabiliamo, a scopo didattico, i seguenti

vincoli: un libro è scritto da un solo autore, un libro

è editato da una sola casa editrice.

Definiamo quindi gli attributi piu' importanti.

Page 6: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Autore

Testo

Editore

Argomento

1

N

N

1

1

N

Cognome e nome

Codice

Codice

Denominazione

Codice

Descrizione

CodiceTitolo

Stabiliamo, a scopo didattico, i seguenti

vincoli: un libro è scritto da un solo autore, un libro

è editato da una sola casa editrice.

Definiamo quindi gli attributi piu' importanti.

Abbiamo usato la convenzione del pallino pieno (●) per indicare le

chiavi primarie...

Page 7: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Autore

Testo

Editore

Argomento

1

N

N

1

1

N

Cognome e nome

Codice

Codice

Denominazione

Codice

Denominazione

CodiceTitolo

Stabiliamo, a scopo didattico, i seguenti

vincoli: un libro è scritto da un solo autore, un libro

è editato da una sola casa editrice.

Definiamo quindi gli attributi piu' importanti.

Abbiamo usato la convenzione del pallino pieno (●) per indicare le

chiavi primarie...

e il quadrato pieno per

gli attributi normali

(■)

Page 8: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Nome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40)

SCHEMA LOGICO

Autori

Iniziamo la stesura dello schema logico.

Page 9: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Nome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40)

SCHEMA LOGICO

Autori

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

Page 10: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Nome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40)

SCHEMA LOGICO

Autori

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

Page 11: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Nome Descrizione Tipo/Dimensione Chiave NoteCod_A Codice autore Numerico intero PKCogNom_A Cognome /Nome Alfanumerico (40)

SCHEMA LOGICO COMPLETO 1/2Autori

Nome Descrizione Tipo/Dimensione Chiave NoteCod_E Codice editore Numerico intero PKDenom_E Denominazione Alfanumerico (30)

Editori

Argomenti

Nome Descrizione Tipo/Dimensione Chiave NoteCod_Ar Codice argomento Numerico intero PKDescriz_Ar Descrizione Alfanumerico (15)

Page 12: Php e database: creare relazioni fra tabelle

Relazioni fra tabelle in un database MYSQL

Nome 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

SCHEMA LOGICO COMPLETO 2/2

Testi

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.

Page 13: Php e database: creare relazioni fra tabelle

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

Page 14: Php e database: creare relazioni fra tabelle

Le chiavi esterne si definiscono

passando dalla visualizzazione delle relazioni

Relazioni fra tabelle in un database MYSQL

Page 15: Php e database: creare relazioni fra tabelle

In questa finestra andremo a definire le

relazioni esterne delle chiavi.

Relazioni fra tabelle in un database MYSQL

Page 16: Php e database: creare relazioni fra tabelle

In questa finestra andremo a definire le

relazioni esterne delle chiavi.

Relazioni fra tabelle in un database MYSQL

Page 17: Php e database: creare relazioni fra tabelle

Per verificare se tutto è andato bene si

può usare il

Designer.

Relazioni fra tabelle in un database MYSQL

Page 18: Php e database: creare relazioni fra tabelle

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.

Page 19: Php e database: creare relazioni fra tabelle

Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura...

Relazioni fra tabelle in un database MYSQL

Page 20: Php e database: creare relazioni fra tabelle

...vale a dire che il DBMS controllerà che le relazioni fra

chiavi primarie e chiavi esterne siano rispettate.

Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura...

Relazioni fra tabelle in un database MYSQL

Page 21: Php e database: creare relazioni fra tabelle

...vale a dire che il DBMS controllerà che le relazioni fra

chiavi primarie e chiavi esterne siano rispettate.

Da adesso in poi sarà possibile procedere al popolamento del database in maniera sicura...

Per capire cosa intendo dire, provate ad inserire un titolo di un libro indicando un codice di una

casa editrice che non esiste.

Relazioni fra tabelle in un database MYSQL

Page 22: Php e database: creare relazioni fra tabelle

22

FineFine