La teoria dello schema concettuale Entity Relationships II° parte Presentazione del Prof Silvano Natalizi fatta per la cla...
Studiamo la procedura di modellizzazione con un esempio concreto <ul><li>Un nuovo ipermercato “AffariEnergetici” è stato a...
I° step: identificazione della entità dominante dalla descrizione del documento della richiesta <ul><li>In questo caso è d...
identificata l’entità dominante, scegliamone gli attributi  <ul><li>Dal paragrafo n. 1 del testo ricaviamo gli attributi d...
Chiave primaria <ul><li>Gli esempi specifici di entità sono chiamate istanze. Un’istanza è simile ad una riga di una tabel...
La chiave primaria dell’entità ipermercato <ul><li>In questo caso l’attributo nome può essere sufficiente per distinguere ...
2° step della procedura di modellizzazione: <ul><li>Esaminiamo gli attributi dell’entità primaria per scoprire eventuali a...
Identificata la nuova entità, individuiamo i suoi attributi <ul><li>Dal paragrafo n. 3 del testo ricaviamo gli attributi c...
Ripetiamo il 2° step della procedura di modellizzazione finchè troviamo attributi da trasformare in entità <ul><li>Esamina...
L’entità Proprietario  <ul><li>Dal paragrafo n. 9 del testo determiniamo gli attributi nome, codice fiscale, indirizzo, te...
L’entità Direttore  <ul><li>Dal paragrafo n.8 del testo ricaviamo gli attributi dell’entità direttore: nome,  codice fisca...
Concetto di entità debole <ul><li>Un’entità debole è tale perchè la sua esistenza dipende da un’altra entità </li></ul><ul...
L’entità debole Reparto <ul><li>Il reparto è un’entità perché attributo multivalore di negozio, debole perché non ha una e...
L’entità Dipendente <ul><li>l’attributo multivalori dipendenti è un’entità </li></ul><ul><li>Nel testo non si specifica qu...
Abbiamo determinato tutte le entità ? <ul><li>Abbiamo determinato tutte le entità. </li></ul><ul><li>Siamo sicuri che non ...
Le relazioni tra le entità <ul><li>Se pensiamo alla tecnica seguita per scoprire le entità, vediamo che abbiamo creato un ...
Le relazioni  <ul><li>Le entità del precedente albero binario sono collegate tramite relazioni binarie  </li></ul><ul><li>...
Proprietà delle relazioni <ul><li>Ipermercato – Negozio </li></ul><ul><li>Dal  paragrafo n.2 e n. 7 del testo ricaviamo ch...
Relazione di Negozio con Proprietario <ul><li>Un proprietario viene memorizzato in questo database perché è proprietario d...
Relazione di Negozio con Direttore <ul><li>Un direttore deve dirigere uno ed un solo un negozio per come specificato nel p...
Relazione di Negozio con Reparto <ul><li>Questa relazione identifica l’entità debole Reparto </li></ul><ul><li>La relazion...
Relazione Reparto Dipendente <ul><li>Questa relazione è uno a molti, per ipotesi ragionevole. Normalmente  un reparto impi...
Upcoming SlideShare
Loading in …5
×

modello concettuale database entità relazioni

6,858 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,858
On SlideShare
0
From Embeds
0
Number of Embeds
177
Actions
Shares
0
Downloads
108
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

modello concettuale database entità relazioni

  1. 1. La teoria dello schema concettuale Entity Relationships II° parte Presentazione del Prof Silvano Natalizi fatta per la classe VA liceo tecnico Itis A.Volta 20 ottobre 2008
  2. 2. Studiamo la procedura di modellizzazione con un esempio concreto <ul><li>Un nuovo ipermercato “AffariEnergetici” è stato appena inaugurato a Perugia, Umbria Italia. Ha molti clienti e negozi. Per questo ipermercato occorre realizzare un database che memorizzi i suoi negozi, i proprietari e i dipendenti. </li></ul><ul><li>Occorre memorizzare il nome dell’ipermercato, il suo indirizzo, i nomi dei suoi negozi. </li></ul><ul><li>L’ipermercato deve contenere uno o più negozi </li></ul><ul><li>Per ogni negozio occorre sapere la sua collocazione, il nome, i suoi reparti, il proprietario, il direttore. </li></ul><ul><li>Ogni negozio può avere uno o più reparti </li></ul><ul><li>Ciascun reparto ha un solo direttore e un direttore dirige un solo negozio </li></ul><ul><li>Ciascun negozio ha un solo proprietario </li></ul><ul><li>Ciascun negozio è collocato in un solo ipermercato </li></ul><ul><li>Occorre memorizzare i dati di ogni direttore: nome, codice fiscale, il salario e il negozio per il quale lavora </li></ul><ul><li>Il proprietario del negozio è una persona con i seguenti dati: nome, codice fiscale, indirizzo, numero telefono dell’ufficio. </li></ul><ul><li>Il proprietario ha almeno un negozio e può possederne più di uno. </li></ul>
  3. 3. I° step: identificazione della entità dominante dalla descrizione del documento della richiesta <ul><li>In questo caso è del tutto evidente che da una lettura sia pur superficiale della richiesta del committente del database emerge come entità primaria lo stesso ipermercato per il quale vanno memorizzati i valori di alcuni attributi </li></ul><ul><li>In questo caso l’entità ipermercato avrà una sola istanza. Per cui è questionabile la sua utilità. Ma in prospettiva può tornare utile e addirittura necessaria se si vuole estendere questo database alla gestione di più ipermercati. </li></ul>
  4. 4. identificata l’entità dominante, scegliamone gli attributi <ul><li>Dal paragrafo n. 1 del testo ricaviamo gli attributi dell’ipermercato: nome, indirizzo, nome dei negozi: disegnamo lo schema con un quadrato per l’entità, un ovale per gli attributi elementari e un ovale con doppio perimetro per gli attributi multivalori ( con più valori). Dal paragrafo n. 2 del testo sappiamo che l’attributo nomeNegozi è multivalore. </li></ul>
  5. 5. Chiave primaria <ul><li>Gli esempi specifici di entità sono chiamate istanze. Un’istanza è simile ad una riga di una tabella. </li></ul><ul><li>Ogni entità deve avere uno o più attributi i cui valori possano individuare univocamente le sue istanze </li></ul><ul><li>Questi attributi che sono identificatori univoci delle istanze di un’entità sono chiamati chiavi primarie e vengono sottolineati nel disegno del modello entity relationship </li></ul>
  6. 6. La chiave primaria dell’entità ipermercato <ul><li>In questo caso l’attributo nome può essere sufficiente per distinguere un ipermercato da un altro; quindi è la sua chiave primaria e viene sottolineata nel disegno </li></ul>
  7. 7. 2° step della procedura di modellizzazione: <ul><li>Esaminiamo gli attributi dell’entità primaria per scoprire eventuali attributi per i quali è necessario memorizzare più di un valore </li></ul><ul><li>Gli attributi multivalori ricadono immediatamente in questa categoria </li></ul><ul><li>Questi attributi diventono entità e devono essere collegati all’entità padre con una relazione </li></ul><ul><li>Di conseguenza l’attributo multivalore (nomiNegozi) diventà l’entità [negozio] </li></ul>
  8. 8. Identificata la nuova entità, individuiamo i suoi attributi <ul><li>Dal paragrafo n. 3 del testo ricaviamo gli attributi collocazione, il nome, i suoi reparti, il proprietario, il direttore. Dal paragrafo n. 4 sappiamo che l’attributo (reparto) è multivalore. Assumiamo il numero del negozio come chiave primaria. </li></ul>
  9. 9. Ripetiamo il 2° step della procedura di modellizzazione finchè troviamo attributi da trasformare in entità <ul><li>Esaminando gli attributi dell’entità negozio scopriamo che l’attributo “proprietario” dal paragrafo n.9 del testo ha a sua volta più di due attributi e quindi non può essere un’informazione elementare e deve diventare un’entità </li></ul><ul><li>La stessa cosa vale per l’attributo “direttore” come si ricava dal paragrafo n. 8 del testo e quindi anche “direttore” diventa un’entità. </li></ul><ul><li>Inoltre “i reparti” sono tante informazioni e quindi anche l’attributo multivalore diventa un’entità. Anzi possiamo affermare come regola generale che ogni attributo multivalore deve essere sempre trasformato in entità. </li></ul><ul><li>Pertanto abbiamo tre nuove entità: </li></ul><ul><ul><li>Proprietario </li></ul></ul><ul><ul><li>Direttore </li></ul></ul><ul><ul><li>Reparto </li></ul></ul>
  10. 10. L’entità Proprietario <ul><li>Dal paragrafo n. 9 del testo determiniamo gli attributi nome, codice fiscale, indirizzo, telefono dell’entità proprietario. Il codice fiscale è un codice univoco per ogni istanza di proprietario e pertanto può esserne la chiave primaria. </li></ul>
  11. 11. L’entità Direttore <ul><li>Dal paragrafo n.8 del testo ricaviamo gli attributi dell’entità direttore: nome, codice fiscale, il salario e il negozio per il quale lavora. Naturalmente già sappiamo che negozio è un’entità. </li></ul>
  12. 12. Concetto di entità debole <ul><li>Un’entità debole è tale perchè la sua esistenza dipende da un’altra entità </li></ul><ul><li>In una entità debole non è possibile trovare una chiave primaria </li></ul><ul><li>Un’entità debole ha solo una chiave parziale (nel disegno il suo attributo è sottolineato tratteggiato) </li></ul><ul><li>Generalmente le istanze di una entità debole sono parti componenti dell’entità da cui dipendono, ad esempio appartamenti in un palazzo, o i reparti di un negozio come in questo esempio. </li></ul><ul><li>Le entità deboli sono disegnate con un rettangolo avente un doppio perimetro </li></ul>
  13. 13. L’entità debole Reparto <ul><li>Il reparto è un’entità perché attributo multivalore di negozio, debole perché non ha una esistenza indipendente dal negozio nel quale è contenuto. </li></ul><ul><li>Nel testo si parla genericamente di dipendenti del reparto e non si specificano altri attributi. </li></ul><ul><li>Tuttavia ipotizziamo che sia ragionevole aggiungere il nome del reparto ed un numero progressivo arbitrario per identificare i reparti del negozio. </li></ul><ul><li>Questo numero reparto è una chiave parziale. </li></ul>
  14. 14. L’entità Dipendente <ul><li>l’attributo multivalori dipendenti è un’entità </li></ul><ul><li>Nel testo non si specifica quali siano gli attributi di questa entità </li></ul><ul><li>Ipotizziamo che serva il nome e il codice fiscale e che quest’ultimo sia la chiave primaria </li></ul>
  15. 15. Abbiamo determinato tutte le entità ? <ul><li>Abbiamo determinato tutte le entità. </li></ul><ul><li>Siamo sicuri che non ci siano altre entità ? </li></ul><ul><li>Se esaminiamo tutti gli attributi delle entità precedentemente determinate vediamo che questi sono in effetti delle proprietà elementari non ulteriormente scomponibili in più elementi, per lo meno nel contesto di questo problema. </li></ul><ul><li>Di conseguenza possiamo smettere di ricercare le entità perché quelle trovate sono esaurienti. </li></ul><ul><li>Ora dobbiamo invece ricercare le loro relazioni </li></ul>
  16. 16. Le relazioni tra le entità <ul><li>Se pensiamo alla tecnica seguita per scoprire le entità, vediamo che abbiamo creato un albero binario </li></ul>
  17. 17. Le relazioni <ul><li>Le entità del precedente albero binario sono collegate tramite relazioni binarie </li></ul><ul><li>Una relazione binaria è un legame tra due sole entità </li></ul><ul><li>Quindi abbiamo le seguenti coppie di relazioni: </li></ul><ul><li>( Ipermercato, Negozio ) </li></ul><ul><li>( Negozio, Proprietario ) </li></ul><ul><li>( Negozio, Direttore ) </li></ul><ul><li>( Negozio, Reparto ) </li></ul><ul><li>( Reparto, Dipendente ) </li></ul>
  18. 18. Proprietà delle relazioni <ul><li>Ipermercato – Negozio </li></ul><ul><li>Dal paragrafo n.2 e n. 7 del testo ricaviamo che questa relazione è uno a molti </li></ul><ul><li>Infatti ad uno specifico ipermercato devono corrispondere uno o più negozi concreti </li></ul><ul><li>Un’istanza di ipermercato è collegata ad una o più istanze di negozio </li></ul><ul><li>Alla relazione occorre dare anche un nome </li></ul>
  19. 19. Relazione di Negozio con Proprietario <ul><li>Un proprietario viene memorizzato in questo database perché è proprietario di almeno un negozio </li></ul><ul><li>Può essere proprietario anche di più negozi per il paragrafo n.10 </li></ul><ul><li>Un negozio ha un solo proprietario per il paragrafo n. 6 del testo </li></ul>
  20. 20. Relazione di Negozio con Direttore <ul><li>Un direttore deve dirigere uno ed un solo un negozio per come specificato nel paragrafo n. 5 del testo </li></ul><ul><li>Pertanto la relazione è uno ad uno </li></ul><ul><li>perché ad un’istanza di direttore corrisponde una sola istanza di negozio e viceversa </li></ul>
  21. 21. Relazione di Negozio con Reparto <ul><li>Questa relazione identifica l’entità debole Reparto </li></ul><ul><li>La relazione è uno a molti come specificato nel paragrafo n. 4 del testo </li></ul><ul><li>questa relazione identificativa è disegnata con un rombo avente un doppio segno di perimetro </li></ul>
  22. 22. Relazione Reparto Dipendente <ul><li>Questa relazione è uno a molti, per ipotesi ragionevole. Normalmente un reparto impiega uno o più dipendenti </li></ul>

×