1 / 34

Università degli studi di Catania Facoltà di Medicina

Università degli studi di Catania Facoltà di Medicina Tecnici di Radiologia Medica per immagini e Radioterapia Elaborazione dati informatici. Elaborazione dati informatici. Prof Ing Gaetano La Rosa email: info@glrstudio.com. Cardinalità n-n. Esaminiamo la relazione Classe – Docente:

liesel
Download Presentation

Università degli studi di Catania Facoltà di Medicina

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Università degli studi di Catania Facoltà di Medicina Tecnici di Radiologia Medica per immagini e Radioterapia Elaborazione dati informatici Prof Ing Gaetano La Rosa

  2. Elaborazione dati informatici Prof Ing Gaetano La Rosa email: info@glrstudio.com Prof Ing Gaetano La Rosa

  3. Cardinalità n-n • Esaminiamo la relazione Classe – Docente: • Un docente può insegnare in più classi; • Una classe può avere più docenti •  relazione N-N • Esaminiamo la relazione Cliente – Area_Camper • Un cliente può prenotare più aree (in tempi diversi) • Un’area può essere prenotata da più client (in tempi diversi) • Relazione N- N Prof Ing Gaetano La Rosa

  4. Cardinalità n-n (2) prenota N N Cliente Area Entità relazione Entità • La nota “in tempi diversi” rappresenta degli attributi che appartengono più alla relazione che alle due entità, ne consegue che essi vanno legati alla relazione che pertanto diventa una nuova entità Prof Ing Gaetano La Rosa

  5. Cardinalità n-n (3) Data inizio Data fine prenota N N Cliente Area Entità relazione Entità Prof Ing Gaetano La Rosa

  6. Questo modello esprime che un cliente può effettuare più prenotazioni, ma ognuna è effettuata da un unico cliente Analogamente, un’area può essere oggetto di più prenotazioni ma ogni prenotazione si riferisce ad una sola area Cardinalità n-n (4) Data fine Data inizio invia 1 N Cliente Prenotaz. N Entità relazione Relativa 1 Area Prof Ing Gaetano La Rosa

  7. Cardinalità n-n (5) N Sostiene N Studente Esame Entità relazione Entità • Ogni studente sostiene N esami; • Ogni esame è sostenuto da N studenti Prof Ing Gaetano La Rosa

  8. Cardinalità n-n (6) 1 N 1 N Registro esami Esame Studente Nuova entità Entità Entità • Ogni studente sostiene N esami; • Ogni esame specifico del registro è di un solo studente • Ogni esame è presente in N registrazioni • Ogni registrazione fa riferimento ad un unico esame Prof Ing Gaetano La Rosa

  9. Alcune relazioni legano elementi della stessa entità Ad esempio nell’insieme dei dipendenti il dipendente responsabile coordina se stesso Relazioni riflessive o ricorsive relazione Entità coordina Dipendente Prof Ing Gaetano La Rosa

  10. Caso di studio: biblioteca • Si desidera realizzare un database per gestire elettronicamente il prestito dei volumi presenti in una biblioteca • Il sistema dovrà permettere la ricerca dei volumi per titolo, autore e argomento; • Di alcuni testi sono presenti nella biblioteca più copie; • Costruire il modello E/R che illustri l’organizzazione dei dati prevedendo che un utente possa richiedere contemporaneamente più libri ma non più copie dello stesso libro. Prof Ing Gaetano La Rosa

  11. Risoluzione • Entità presenti: lettore, libro • Relazione lettore - libro •  un lettore legge più libri •  un libro è letto da più lettori • Relazione N-N Prof Ing Gaetano La Rosa

  12. Risoluzione (2) richiesta N N Lettore Libro Entità relazione Entità • Essendo la relazione N-N dobbiamo individuare una nuova entità in modo da ottenere 2 relazioni 1-N Prof Ing Gaetano La Rosa

  13. Questo modello esprime che un lettore può effettuare più richieste, ma ognuna è effettuata da un unico cliente Analogamente, un libro può essere presente in più richieste ma ogni richiesta si riferisce ad un solo libro Risoluzione (3) Data richiesta effettua 1 N Lettore Richiesta N Entità relazione Presente 1 libro Prof Ing Gaetano La Rosa

  14. Risoluzione (3) Indirizzo Cognome data Nome effettua 1 N lettore richiesta ID richiesta N ID lettore Città presente genere Cod libro 1 Titolo Libro Autore Prof Ing Gaetano La Rosa

  15. Risoluzione (4) Indirizzo Cognome data Nome ID lettore Cod libro richiesta lettore ID richiesta ID lettore Città genere Cod libro Titolo Libro Autore Prof Ing Gaetano La Rosa

  16. Normalizzazione • Nella ideazione di un database relazionale è possibile ipotizzare più schemi equivalenti • E’ necessario individuare quelli più efficienti • Codd  bisogna analizzare le concatenazioni e le influenze che esistono fra i dati di uno schema •  dipendenza funzionale •  normalizzazione Prof Ing Gaetano La Rosa

  17. Dipendenza funzionale • Data una Tabella T(a1,a2…an) e denominati X e Y due sottoinsiemi dei suoi attributi, si dice che X determina funzionalmente Y se non possono esistere due t-uple con valori identici in X e valori diversi in Y, ovvero specificati i valori di X risultano univocamente determinati i valori di Y Prof Ing Gaetano La Rosa

  18. Dipendenza funzionale (2) • Poiché i valori degli attributi della chiave primaria determinano univocamente la t-upla entro la tabella ne consegue che gli attributi non facenti parte della chiave dipendono funzionalmente da essa. Prof Ing Gaetano La Rosa

  19. Dipendenza parziale-completa • Dipendenza parziale: un attributo Y dipende funzionalmente da un insieme di attributi di X e anche da un sottoinsieme di X • Dipendenza completa: un attributo Y dipende funzionalmente da un insieme di attributi di X ma non da un sottoinsieme Prof Ing Gaetano La Rosa

  20. Prima forma normale • Una tabella T(a1,a2…an) è in prima forma normale (1NF) se tutti gli attributi sono semplici • Esempio di relazione non in 1NF: Studente(Matricola, nome, cap, comune, esame) L’attributo esame comprende cod materia, nome materia e voto 5656565, marino pippo, 95045, giarre, S1 Sistemi 24 – S2 Informatica 28 5656645, savia michele, 95100, catania, E2 Economia 27– D1 Diritto 25 5657243, zappalà vera, 95024, acireale, S1 Sistemi 30 – D1 Diritto 22 Prof Ing Gaetano La Rosa

  21. Prima forma normale (2) • Per normalizzare in 1NF occorre: • Sostituire ogni attributo strutturato con tanti attributi semplici • Eliminare gli attributi multipli sostituendo ad ogni t-upla multipla tante righe quanti sono i valori multipli  Studente(Matricola, nome, comune, cod_mat, nom_mat, voto) 5656565, marino pippo, 95045,giarre, S1, Sistemi, 24, 5656565, marino pippo, 95045,giarre, S2, Informatica, 28 5656645, savia michele, 95100,catania, E2, Economia, 27 5656645, savia michele, 95100,catania, D1, Diritto, 25 5657243, zappalà vera, 95024,acireale, S1, Sistemi, 30 5657243, zappalà vera, 95024, acireale, D1, Diritto, 22 Prof Ing Gaetano La Rosa

  22. Prima forma normale (3) • La tabella ottenuta presenta diversi problemi: • Ridondanza a causa della ripetizione degli attributi non multipli; • In caso di aggiornamento di un attributo non multiplo occorre intervenire su più righe (esempio modifica comune) • La chiave non permette di identificare univocamente la riga della tabella Prof Ing Gaetano La Rosa

  23. Prima forma normale (4) Studente( Matr, nome, cap, comune) Esame( cod_mat, nom_mat, voto, matr) 5656565, marino pippo, 95045,giarre S1, Sistemi, 24, 5656565 S2, Informatica, 28, 565656 5656645, savia michele, 95100,catania E2, Economia, 27, 5656645 D1, Diritto, 25, 5656645 5657243, zappalà vera, 95024,acireale S1, Sistemi, 30, 5657243 D1, Diritto, 22, 5657243 Nella Tabella Esame figura il campo matr: chiave esterna costituita dalla chiave primaria della tabella studente Prof Ing Gaetano La Rosa

  24. Seconda forma normale • Una tabella T(a1,a2…an) è in seconda forma normale (2NF) se è in 1NF e tutti gli attributi non facenti parte della chiave hanno dipendenza funzionale completa da essa. • Nella tabella Esame( cod_mat, nom_mat, voto, matr) nom_mat dipende solo da cod_mat voto dipende da entrambi  tabella non in 2NF Prof Ing Gaetano La Rosa

  25. Seconda forma normale • Per ottenere la 2NF dividiamo la tabella esame in due sottotabelle: Esame( cod_mat, voto, matr) Dati_Esame( cod_mat, nom_mat) • S1, 24, 5656565 • S2, 28, 5656565 • E2, 27, 5656645 • D1, 25, 5656645 • S1, 30, 5657243 • D1, 22, 5657243 • S1, Sistemi • S2, Informatica • E2, Economia • D1, Diritto Prof Ing Gaetano La Rosa

  26. Terza forma normale • Una tabella T(a1,a2…an) è in terza forma normale (3NF) se è in 2NF e tutti gli attributi non facenti parte della chiave dipendono esclusivamente da essa. • Nella tabella Studente( Matr, nome, cap, comune) comune dipende solo da cap  tabella non in 3NF Prof Ing Gaetano La Rosa

  27. Terza forma normale (2) • Per ottenere la 3NF dividiamo la tabella studente in due sottotabelle: Studente( matr, nome, cap) città( cap, comune) • 5656565, marino pippo, 95045 • 5656645, savia michele, 95100 • 5657243, zappalà vera, 95024 • 95045,giarre • 95100,catania • 95024,acireale Prof Ing Gaetano La Rosa

  28. Esercizio • Una società di servizi organizzata in agenzie distribuite sul territorio nazionale fornisce manodopera specializzata. • Si desidera realizzare il database delle risorse umane considerando che : • Più agenzie fanno riferimento ad un unico responsabile di area; • Ogni aspirante può presentare richiesta a più agenzie; • Ogni aspirante può presentare richiesta nella stessa agenzia per ruoli diversi; Prof Ing Gaetano La Rosa

  29. Esercizio (2) • I dati di partenza sono organizzati in un’unica tabella così composta: Lavoro(cod_ag, dati_ag, resp_area, dati_resp, asp1, asp2, asp3…aspn) • Dove asp è un campo composto costituito dalle seguenti voci cod, nome, ind, ruolo1, ruolo2, … ruolon)  Razionalizzare il DB fino alla 3NF Prof Ing Gaetano La Rosa

  30. Risoluzione • Per 1NF occorre eliminare le ripetizioni  • Per far ciò si creano due tabelle: la prima contenente solo i dati semplici, l’altra con i dati composti e la chiave primaria della prima tabella: Agenzia(cod_ag, dati_ag, resp_area, dati_resp) Aspirante(cod_asp,nome, ind, (ruolo1,ruolo2…ruolon), cod_ag) Prof Ing Gaetano La Rosa

  31. Risoluzione (2) • La seconda tabella contiene ancora campi composti pertanto applichiamo nuovamente la scomposizione: Agenzia(cod_ag, dati_ag, resp_area, dati_resp) Aspirante(cod_asp,nome, ind, cod_ag) Mansione(ruolo, cod_asp) Prof Ing Gaetano La Rosa

  32. Risoluzione (3) • Per la 2NF è necessario che tutti gli attributi non facenti parte della chiave abbiano dipendenza funzionale completa da essa. •  la tabella Aspirante(cod_asp,nome, ind, cod_ag) viene scomposta in : Aspirante(cod_asp,nome, ind) Risorse_ag(cod_ag,cod_asp) Prof Ing Gaetano La Rosa

  33. Risoluzione (4) • Per la 3NF è necessario eliminare le dipendenze fra i campi non appartenenti alla chiave •  la tabella Agenzia(cod_ag, dati_ag, resp_area, dati_resp) viene scomposta in : Agenzia(cod_ag, dati_ag, resp_area) Dirigente(resp_area,dati_resp) Prof Ing Gaetano La Rosa

  34. Risoluzione (5) • Modello complessivo in 3NF Agenzia(cod_ag, dati_ag, resp_area) Dirigente(resp_area,dati_resp) Aspirante(cod_asp,nome, ind) Risorse_ag(cod_ag,cod_asp) Mansione(ruolo, cod_asp) Prof Ing Gaetano La Rosa

More Related