Modellizzazione di un database Un esempio di modellizzazione ● ● ● Modellizzare abbiamo detto quindi vuol dire riportare un caso reale in un contesto simulato, che sarà appunto prima la carta e poi il database in formato elettronico gestito da un dbms. In poche parole un informatico deve essere capace di interpretare il problema che ha di fronte e di tradurlo in un software che sia funzionante e che allo stesso tempo soddisfi tutte le richieste. Per iniziare riportiamo quindi la modellizzazione di un caso abbastanza semplice. Un esempio di modellizzazione ● ● Vogliamo costruire il database per la nostra agenda telefonica. Primo passo: Individuazione delle entità: – – ● Numero Persona Secondo passo: determinazione delle associazioni tra le entità: – Una persona può avere più numeri telefonici, un numero telefonico corrisponde a una sola persona: 1:N (uno a molti) Un esempio di modellizzazione ● Terzo passo: determinazione degli attributi: – Per numero abbiamo: ● ● ● ● – id_numero (chiave primaria) numero_telefonico Operatore id_persona (chiave esterna) Per persona: ● ● ● ● ● id_persona (chiave primaria) nome_persona cognome_persona residenza impiego Un esempio di modellizzazione ● Quarto passo: rappresentazione: numero id_numero numero_telefonico operatore ● persona id_persona nome_persona cognome_persona residenza impiego Notiamo che nella rappresentazione di "numero" non va inserito come attributo la chiave esterna "id_persona". Un esempio di modellizzazione ● ● ● Questa modo di rappresentare un db è chiamato "Crow's Foot Notation". Notiamo che la "zampa di corvo" va dalla parte del "molti" (in questo caso sull'entità "numero"). In buona sostanza sull'entità che ha la chiave esterna.... Il processo che permette di modellizzare un database viene comunemente chiamato "diagramma Entità-Relazione" (oppure E/R).